|
|
51CTO旗下网站
|
|
移动端

1.7 云到底是什么

《Spring微服务实战》第1章欢迎迈入云世界,Spring,本书主要介绍微服务架构,以及为什么应该考虑采用微服务架构来构建应用。本节为大家介绍云到底是什么。

作者:陈文辉 译来源:人民邮电出版社|2018-05-23 14:06

1.7 云到底是什么

术语“云”已经被过度使用了。每个软件供应商都有云,每个软件供应商的平台都是支持云的,但是如果穿透这些天花乱坠的广告宣传,我们就会发现云计算有3种基本模式。它们是:

基础设施即服务(Infrastructure as a Service,IaaS);

平台即服务(Platform as a Service,PaaS);

软件即服务(Software as a Service,SaaS)。

为了更好地理解这些概念,让我们将每天的任务映射到不同的云计算模型中。当你想吃饭时,你有4种选择:

(1)在家做饭;

(2)去食品杂货店买一顿预先做好的膳食,然后你加热并享用它;

(3)叫外卖送到家里;

(4)开车去餐厅吃饭。

图1-6展示了各种模型。


这些选择之间的区别是谁负责烹饪这些膳食,以及在哪里烹饪。在内部自建模型中,想要在家里吃饭就需要自己做所有的工作,还要使用家里面的烤箱和食材。商店购买的食物就像使用基础设施即服务(IaaS)计算模型一样,使用店内的厨师和烤箱预先烘烤餐点,但你仍然有责任加热膳食并在家里吃(然后清洗餐具)。

在平台即服务(PaaS)模型中,你仍然需要负责烹饪膳食,但同时依靠供应商来负责与膳食制作相关的核心任务。例如,在PaaS模型中,你提供盘子和家具,但餐厅老板提供烤箱、食材和厨师来做饭。在“软件即服务”(SaaS)模型中,你去到一家餐厅,在那里,所有食物都已为你准备好。你在餐厅吃饭,然后在吃完后买单,你也不需要自己去准备或清洗餐具。

每个模型中的关键项都是控制:由谁来负责维护基础设施,以及构建应用程序的技术选择是什么?在IaaS模型中,云供应商提供基础设施,但你需要选择技术并构建最终的解决方案;而在SaaS模型中,你就是供应商所提供的服务的被动消费者,无法对技术进行选择,同时也没有任何责任来维护应用程序的基础设施。

新兴的云平台

本书已经介绍了目前正在使用的3种核心云平台类型(即IaaS、PaaS和SaaS)。然而,新的云平台类型正在出现。这些新平台包括“函数即服务”(Functions as a Service,FaaS)和“容器即服务”(Container as a Service,CaaS)。基于FaaS的应用程序会使用像亚马逊的Lambda技术和Google Cloud函数这样的设施,应用会将代码块以“无服务器”(serverless)的形式部署,这些代码会完全在云提供商的平台计算设施上运行。使用FaaS平台,无需管理任何服务器基础设施,只需支付执行函数所需的计算周期。

使用容器即服务模型,开发人员将微服务作为便携式虚拟容器(如Docker)进行构建并部署到云供应商。与IaaS模型不同,使用IaaS的开发人员必须管理部署服务的虚拟机,而CaaS则是将服务部署在轻量级的虚拟容器中。云供应商会提供运行容器的虚拟服务器,以及用于构建、部署、监控和伸缩容器的综合工具。亚马逊的弹性容器服务(Amazon’s Elastic Container Service,Amazon ECS)就是一个基于CaaS平台的例子。在第10章中,我们将看到如何部署已构建的微服务到Amazon ECS。

需要重点注意的是,使用云计算的FaaS和CaaS模型,开发人员仍然可以构建基于微服务的架构。请记住,微服务概念的重点在于构建有限职责的小型服务,并使用基于HTTP的接口进行通信。新兴的云计算平台(如FaaS和CaaS)是部署微服务的替代基础设施机制。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

PHP和MySQL Web开发(原书第3版)

本书将介绍如何创建可交互的Web站点,包括从最简单的订单表单到复杂的安全电子商务站点。而且,读者还将了解如何使用开放源代码技术来实现...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊