如果文章对你有用,不妨点个关注~
转载请注明文章地址
越来越多的软件,开始采用云服务
云服务只是一个统称,可以分成三大类
- IaaS:基础设施服务,Infrastructure-as-a-service
- PaaS:平台服务,Platform-as-a-service
- SaaS:软件服务,Software-as-a-service
三种架构的区别(简单的理解)
IBM 的软件架构师 Albert Barron 曾经使用披萨作为比喻,解释这个问题。David Ng 进一步引申,让它变得更准确易懂。
请设想你是一个餐饮业者,打算做披萨生意。
你可以从头到尾,自己生产披萨,但是这样比较麻烦,需要准备的东西多,因此你决定外包一部分工作,采用他人的服务。你有三个方案。
(1)方案一:IaaS
他人提供厨房、炉子、煤气,你使用这些基础设施,来烤你的披萨。
(2)方案二:PaaS
除了基础设施,他人还提供披萨饼皮。
你只要把自己的配料洒在饼皮上,让他帮你烤出来就行了。也就是说,你要做的就是设计披萨的味道(海鲜披萨或者鸡肉披萨),他人提供平台服务,让你把自己的设计实现。
(3)方案三:SaaS
他人直接做好了披萨,不用你的介入,到手的就是一个成品。你要做的就是把它卖出去,最多再包装一下,印上你自己的 Logo。
上面的三种方案,可以总结成下面这张图。
从左到右,自己承担的工作量(上图蓝色部分)越来越少,IaaS > PaaS > SaaS。
对应软件开发,则是下面这张图。
SAAS
SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。普通用户接触到的互联网服务,几乎都是 SaaS,下面是一些例子。
- 客户管理服务 Salesforce
- 团队协同服务 Google Apps
- 储存服务 Box
- 储存服务 Dropbox
- 社交服务 Facebook / Twitter / Instagram
SaaS提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。就像打开自来水龙头就能用水一样,企业根据实际需要,从SaaS提供商租赁软件服务。
SaaS 是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入。 SaaS 应用软件的价格通常为“全包”费用,囊括了通常的应用软件许可证费、软件维护费以及技术支持费,将其统一为每个用户的月度租用费。 对于广大中小型企业来说,SaaS是采用先进技术实施信息化的最好途径。但SaaS绝不仅仅适用于中小型企业,所有规模的企业都可以从SaaS中获利。
2008 年前,IDC 将SaaS 分为两大组成类别:托管应用管理 (hosted AM) - 以前称作应用服务提供 (ASP),以及“按需定制软件”,即 SaaS 的同义词。从 2009 年起,托管应用管理已作为IDC应用外包计划的一部分,而按需定制软件以及 SaaS 被视为相同的交付模式对待。
SaaS已成为软件产业的一个重要力量。只要SaaS的品质和可信度能继续得到证实,它的魅力就不会消退。
PAAS
PaaS 提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。下面这些都属于 PaaS。
- Heroku
- Google App Engine
- OpenShift
云计算时代的服务器平台或者开发环境作为服务提供,这就成为了 PaaS(Platform as a Service)。
事实上,PaaS是位于IaaS和SaaS模型之间的一种云服务,它提供了应用程序的开发和运行环境。IaaS主要提供了虚拟计算、存储、数据库等基础设施服务,SaaS为用户提供了基于云的应用,PaaS则为开发人员提供了构建应用程序的环境。借助于PaaS服务,你无须过多的考虑底层硬件,并可以方便的使用很多在构建应用时的必要服务,比如安全认证等。
不同的PaaS服务支持不同的编程语言,比如.Net、Java、Ruby等,而有些PaaS支持多种开发语言。由于PaaS层位于IaaS和SaaS之间,所以很多IaaS及SaaS服务商很自然的就在本身的服务中加入了PaaS,打造成一站式的服务体系。
IAAS
IaaS 是云服务的最底层,主要提供一些基础资源。
它与 PaaS 的区别是,用户需要自己控制底层,实现基础设施的使用逻辑。下面这些都属于 IaaS。
- Amazon EC2
- Digital Ocean
- RackSpace Cloud
IAAS应用方式
IaaS通常分为三种用法:公有云、私有云和混合云。AmazonEC2在基础设施云中使用公共服务器池(公有云)。更加私有化的服务会使用企业内部数据中心的一组公用或私有服务器池(私有云)。如果在企业数据中心环境中开发软件,那么这两种类型公有云、私有云、混合云都能使用,而且使用EC2临时扩展资源的成本也很低,如—比方说开发和测试,混合云。结合使用两者可以更快地开发应用程序和服务,缩短开发和测试周期。
参考文献:
- http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html
- https://baike.baidu.com/item/PAAS平台/123870?fr=aladdin
- https://baike.baidu.com/item/saas平台/2147529?fr=aladdin
- https://baike.baidu.com/item/IaaS/5863121?fr=aladdin
- SaaS, PaaS and IaaS explained in one graphic, by David Ng
- When to use SaaS, PaaS, and IaaS, by Eamonn Colman