[Day3] Cloud Architectures

讲到云端相关的议题,一定会看到的就是 IaaS 、 PaaS 与 SaaS。这几个名词可以算是云端的三种层次,虽然我觉得,很多时候某些云端服务不一定可以明确的区分他属於哪一种层次,不过,其实也没有太重要XD。既然大家都这麽的爱用,那我们就还是来了解一下他们分别的意义吧!

IaaS (Infrastructure as a Service)

IaaS,基础设施即服务,可以算是以云端的角度而言,与地端的机器最相近的服务。如果用过 vCenter 等装置的话应该可以想像,它就是可以在云端开启虚拟机器。就算没有接触过任何的虚拟机器也没关系,我们可以想像成,就是在云端帮我们准备了一台我们定义好规格的电脑。

使用 IaaS ,我们等同於可以直接的管理,控制整台电脑的所有功能,举凡硬碟存取,网路存取,也可以完整的访问 CPU 以及 Memory ,提供了最大的可控制性。但俗话说的好,能力越大,责任越重,在 IaaS 的环境底下,使用者虚拟主机上遇到的所有软件相关问题,云端的服务商也都不需要负责,云端服务商只负责,并保证机器是可以被正常的运行的。

PaaS (Platform as a Service)

PaaS,平台即服务,相较於 IaaS ,我们不需要在意机器这麽底层的东西。较底层的基础设施、作业系统与程序相关,都由云端的厂商进行处理,使用者甚至不需要处理任何的软件更新等问题。

假如说,我们的需求是需要架设一个 MySQL 的 Server。如果以地端的机器,或是以 IaaS 为角度来看的话,我们通常会先需要准备一台电脑,安装一个 Linux 的作业系统,这个时候,会需要考量要使用到 Ubuntu 、Debian、 CentOS 等;等待安装好了作业系统,接下来要安装 MySQL 的 Server,这个时候又要考量说,我们的服务是否需要放在 Docker 的 Container 中,或是 MySQL 需要安装多少的版本。

上述的这些问题,如果我们使用了 PaaS 中的资料库相关服务,滑鼠点两下,选择开启一台 Cloud SQL,等待几分钟的时间,云端的厂商就全自动地帮我们处理好这样的需求了!

SaaS (Software as a Service)

SaaS,软件即服务,这相信是大家目前都已经有接触的一种云端服务。基本上我们可以直接把这边的 Software 视为一种产品。举例来说 Google Drive 就算是一种 SaaS 的产品。我们可以开心的使用 Google Drive ,大家从来都不会在意或想过说:Google Drive 背後跑的是怎麽样的作业系统,是 Linux 吗? Google Drive 背後有没有使用到 Hadoop 的 HDFS 之类的技术? 作为一个使用者来看,我们完全不需要在意以上所说的这些事情!只需要专注地使用我们的服务就好!

Hybrid

前面我们明确的分类了三种 IaaS,PaaS 与 SaaS。但我们还会有一些很不上不下的东西,它是介於 IaaS 与 PaaS 之间的。相信看过隔壁棚 DevOps 相关文章的人,会对 Kubernetes (K8S) 有一些基础的,就可以感觉的到, K8S 就是介於两者之间。

总结

今天介绍了几种的云端架构,通常使用者可以控制得越多,能够克制化的设定越多的东西,则需要负的责任也越多。
下图是云端提供的各种服务,使用者与云端业者分别需要负的责任图。

图片来源 : Pizza as a Service 2.0

通常我个人会选择相信,各大的云端业者提出的 PaaS 与 SaaS ,比起我们大多数普通人自己建立的 IaaS 服务而言,他们通常做的优化都会比我们自己做来的好,当然这是在不考虑特殊需求的前提之下。

听说,Google 开放在 Google Cloud 上面的各种服务,通常都是 Google 自己内部开发,并使用了一阵子,觉得不错用,才会开放出来让大家使用的。我相信无论是 AWS 或是 Azure ,应该也会是一样的状况,通常这些云端的服务商,都是从自己使用的服务,开始转型成云端服务开放给大家使用。

今天的文章差不多就到这边,预计明天开始就会正式的进入 Google Cloud 的世界!


<<:  [Day3] Practice Resources

>>:  Python - Django 参考笔记

[Day29] Vue3 - 事件绑定

在 Javascript 中会用 onclick, onchange...等方式监听 DOM 物件,...

#9 - Creating & Removing Directories

今天要学习的是如何新增和删除资料夹,一样是用昨天的 fs modules,不过在新增资料夹之前,先来...

android studio 30天学习笔记-day 7-介绍okhttp

okhttp是常用的第三方库,跟retrofit、Volley一样都能做网络连线的请求。 今天就做个...

Day 25. Hashicorp Vault: Diagnose Vault server

Hashicorp Vault: Diagnose Vault server 这是Vault 1.8...

[Day17] CH10:排序大家族——插入排序法

今天第三天要登场的是插入排序法(Insertion Sort),我自己在玩扑克牌的时候,都是使用这种...