漫画:大厂整体SaaS化部署,到底什么是IaaS、PaaS和SaaS?

​在以前的文章 《如何给女友解释什么是云计算? 中,咱们介绍了云计算,在文章中咱们提到虽然都是使用云计算服务,可是不一样的用户须要的服务是不同的,有些公司可能只须要租借服务器、有些公司可能须要整套服务,而有些我的客户可能但愿直接能够经过付费获得一个网站等。

因此,根据服务类型的不一样,云计算能够分为三类,即基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。这3种云计算服务有时称为云计算堆栈,由于它们构建堆栈,它们位于彼此之上。html

本文,就来分别介绍下到底什么是IaaS、PaaS和SaaS。web

IaaS

IaaS(Infrastructure as a Service),即基础设施即服务。指把IT基础设施做为一种服务经过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。数据库

作一个简单的比喻,IaaS服务优势相似于共享厨房服务。编程

商家为用户提供了厨房、锅具、煤气灶、烤箱、电饭煲等等一系列厨房用品。用户须要本身购买米、面、蔬菜、调味品等,并进行加工制做。浏览器

有了IaaS服务,用户能够在云服务提供商提供的基础设施上部署和运行任何软件,包括操做系统和应用软件。服务器

用户没有权限管理和访问底层的基础设施,如服务器、交换机、硬盘等,可是有权管理操做系统、存储内容,能够安装管理应用程序,甚至是有权管理网络组件。网络

简单的说用户使用IaaS,有权管理操做系统之上的一切功能。咱们常见的IaaS服务有虚拟机、虚拟网络、以及存储。数据结构

PaaS

PaaS(Platform as a Service),是指平台即服务。是一种云计算服务,提供运算平台与解决方案服务。架构

仍是使用共享厨房的例子来比喻。编程语言

餐厅除了提供厨房、厨具等,还提供了清洗干净切好的蔬菜、调好味道的肉、饺子皮和饺子馅等。用户要享受美食,首先须要炒菜、加热或者煮熟,但却不用作太多的前期多种复杂准备。

PaaS给用户提供的能力是使用由云服务提供商支持的编程语言、库、服务以及开发工具来建立、开发应用程序并部署在相关的基础设施上。

用户无需管理底层的基础设施,包括网络、服务器,操做系统或者存储。他们只能控制部署在基础设施中操做系统上的应用程序,配置应用程序所托管的环境的可配置参数。

SaaS

SaaS(Software-as-a-Service),意思为软件即服务,即经过网络提供软件服务。

SaaS平台供应商将应用软件统一部署在本身的服务器上,客户能够根据工做实际需求,经过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并经过互联网得到Saas平台供应商提供的服务。

和IaaS以及PaaS的共享厨房相比,SaaS更像外卖平台。

SaaS至关于餐厅直接为你们提供作好的菜肴,还提供外卖服务。用户只须要付费,就能够享受各类不一样类型的美味佳肴,还能够在有外卖网点的地方直接点餐。

SaaS给用户提供的能力是使用在云基础架构上运行的云服务提供商的应用程序。能够经过轻量的客户端接口(诸如web浏览器(例如,基于web的电子邮件))或程序接口从各类客户端设备访问应用程序。

用户无需管理或控制底层云基础架构,包括网络,服务器,操做系统,存储甚至单独的应用程序功能,可能的例外是有限的用户特定应用程序配置设置。

根据SaaS应用是否具备可配置性,高性能,可伸缩性的特性,SaaS成熟度模型被分红四级。每一级都比前一级增长三种特性中的一种:

  • 屡次开发

    • 这种模型下,软件服务提供商为每一个客户定制一套软件,并为其部署。每一个客户使用一个独立的数据库实例和应用服务器实例。数据库中的数据结构和应用的代码可能都根据客户需求作过定制化修改。

  • 一次开发屡次部署

    • 经过不一样的配置知足不一样客户的需求,而不须要为每一个客户进行特定定制,以下降定制开发的成本。

    • 可是,软件的部署架构没有太大的变化,依然为每一个客户独立部署一个运行实例。只是每一个运行实例运行的是同一份代码,经过配置的不一样来知足不一样客户的个性化需求。

    • 可配置性的比较通用的实现方式,就是经过MetaData(元数据)来实现。

  • 一次开发一次部署

    • 多租户单实例(Multi-Tenant)的应用架构才是一般真正意义上的SaaS应用架构,它能够有效下降SaaS应用的硬件及运行维护成本,最大化地发挥SaaS应用的规模效应。

  • 无需开发

    • 将第三级的Multi-Tenant SingleInstance系统扩展为Multi-Tenant MultiInstance。最终用户首先经过接入Tenant Load Balance层,再被分配到不一样的Instance上。经过多个Instance来分担大量用户的访问,咱们可让应用实现近似无限的水平扩展。

总结

本文经过厨房最菜的例子介绍了云计算中的三种形式:IaaS、PaaS以及SaaS。

从IaaS到PaaS再到SaaS,服务商提供的服务及产品愈来愈多,而普通用户承担的工做量便愈来愈少。

从左到右,使用了对应的云服务后,用户承担的工做量(上图绿色部分)会愈来愈少,IaaS > PaaS > SaaS。

IaaS 是云服务的最底层,主要提供一些基础资源。常见的产品有Amazong EC二、阿里云等。

PaaS 提供软件部署平台,抽象掉了硬件和操做系统细节,能够无缝地扩展。开发者只须要关注本身的业务逻辑,不须要关注底层。常见的产品有Heroku等。

SaaS 是软件的开发、管理、部署都交给第三方,不须要关心技术问题,能够拿来即用。常见的产品有Gmail、PayPal等。


参考资料:

https://baike.baidu.com/item/IaaS

https://baike.baidu.com/item/PaaS

https://baike.baidu.com/item/saas

https://www.zhihu.com/question/20387284

http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html

相关文章
相关标签/搜索