哈喽,大家好。随着云计算、云服务、云平台等等的出现,“云”成了一个家喻户晓的概念,但如果提到IaaS、PaaS、SaaS估计还会有些犯懵,咋一听反应不过来就成了“马冬什么?马什么梅?什么冬梅?”
现在越来越多的软件采用云服务,云服务只是一个统称,可以分为三大类:IaaS、PaaS、SaaS。
那么三者之前如何区分呢?
以一个吃货的角度来讲,可能会更容易理解一些。假设你饿了,现在有四个解决方案:
- 自己在家做,所有的东西,包括食材,煤气、蒸屉、砧板等厨具,还要有自己的餐桌与餐具都需要自己准备,这叫本地部署(On-Premises);
- 买现成的回家热热,食材是买来的,准备好锅与煤气灶,还有餐桌、厨具就可以了,这叫基础设施即服务(IaaS)。
- 叫个外卖,这样的话只需要准备餐具就可以开吃了,就叫平台即服务(PaaS)。
- 去店里吃,不仅不需要自己动手热饭,连收拾餐具都省了,这叫软件即服务(SaaS)。
吃货的角度说完了,大家也有了一个基础的认知,回到云计算本身,不然,当别人一提起IaaS、PaaS、SaaS,大家的脑袋里第一反应是“去哪吃”这画风就有点怪怪的了。
假设你现在拥有一家技术一流的公司,不需要别人来为你提供服务,基础设施、应用等等在手,完全可以自给自足,这时可以把他们分为三层:基础设施(infrastructure)、平台(platform)和软件(software),这其实就是云计算的三个分层,基础设施在最下端,平台在中间,软件在顶端,分别是Infrastructure as a Service(IaaS),Platform as a Service(PaaS),Software as a Service(SaaS)。
从上图来看,云也是分层的,基础施舍在最末端,平台在中间,软件则在顶层。
IaaS 基础设施即服务
IaaS,Infrastructure as a Service的简称,基础设施即服务。IaaS 是云服务的最底层,主要提供一些基础资源。有了IaaS,可以将硬件外包到别的地方去,IaaS公司会提供场外服务器,存储和网络硬件,你可以租用,节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。
PaaS 平台即服务
PaaS,Platform as a Service的简称,平台即服务,可以理解为将服务器作为一种服务提供的商业模式,某些时候也被叫做中间件。PaaS 提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。PaaS公司可以提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统等,可以节省硬件上的费用。
SaaS 软件即服务
SaaS,Software as a Service的简称,软件即服务。SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。任何一个远程服务器上的应用都可以通过网络来运行,都是SaaS,和我们的日常生活接触最为频繁。
三种服务的关系
从用户体验角度来看,它们之间关系是独立的,因为它们面对不同类型的用户;
从技术角度来看,它们并不是简单的继承关系(SaaS基于PaaS,而PaaS基于IaaS),因为首先SaaS可以是基于PaaS或者直接部署于IaaS之上,其次PaaS可以构建于IaaS之上,也可以直接构建在物理资源之上。
存在的劣势
- IaaS:最常遇到的就是一开始租用的服务器性能或是存储空间无法满足后期成长过程中爆炸式增加的数据,继而需要花费更高的费用去升级服务器或是扩容存储空间,且这类成本会一直存在下去,不断的增加无法降低;还有一点劣势就在于存在安全漏洞。
- PaaS:要求技术支持人员有较高的技术水平,否则无法轻松解决多系统的整合,解决不好的话,原本设想的高效协同处理不能实现,还会花费大理的精力在基础的应用迁移以及接口开发上,甚至简单的已有应用都无法迁移到PaaS平台上。
- SaaS:常年累积的诸如软件许可证费、软件维护费以及技术支持费等隐性成本不断增加的问题不可避免;其次是数据安全的问题,部分企业不愿将自己的核心数据交给第三方来负责。