2.1 IaaS、PaaS和SaaS
这几年,随着云计算技术的兴起和普及,我们经常听到IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)、SaaS(Software as a Service,软件即服务)这3个概念。如果你还不能完全理解它们的含义和区别,我们可以尝试通过一个关于比萨的通俗示例来解释它们。
我们去A比萨店,它有固定的菜单供我们选择。虽然选择有很多,但都是固定的,我们只能在有限的范围里选择自己爱吃的品种,然后为此付费。
B比萨店就不一样,它已经帮我们做好了面饼,同时准备好了各种馅料,比如鸡肉、培根、虾仁、芝士、菠萝、青椒等。我们想要吃什么口味,就挑选自己喜欢的馅料放在面饼上,然后放进烤箱,烤熟后即可享用,最后根据我们选用的馅料组合付费。
C比萨店只提供做比萨的场所,包括厨房、炉子、烤箱、燃气、水电等基础设施,需要自己准备面饼和馅料来制作自己喜欢的比萨,同时为租用场所的时间付费。
A、B、C这3家店提供服务的模式分别是SaaS、PaaS和IaaS。
下面,我们从它们为客户提供服务的角度来深入分析一下这3种模式的本质和不同,如图2-1所示。
图2-1 不同模式维护的方式
最早的软件服务商提供的都是定制软件服务。客户需要拥有自己的机房、网络、存储设备和服务器等基础设施,所有的软件和数据都会安装在客户自己的服务器上。因此,对客户来讲,需要有高额的硬件投入,同时需要聘用专业的人员来维护。而以下3种模式均为租用模式,帮助客户省去了硬件投入和维护人员等成本。
1.IaaS
IaaS为客户提供基础设施,包括云服务器及服务器上基本的操作系统。市面上常见的IaaS云服务提供商有阿里云、腾讯云、华为云。
客户无须自己租用场地做机房,无须自己购买服务器,无须自己架设各种网络,只需要按需租用这些IaaS服务商的设备,在设备上安装需要的操作系统、应用服务和软件即可。
2.PaaS
PaaS是在IaaS的基础上提供了可扩展的应用服务,操作系统、编程语言、应用服务以及开发工具等都已提供,客户可以在此基础上开发应用程序。另一种理解是在SaaS的基础上提供了一定程度的自开发和定制化的平台技术。
客户可以在标准产品的基础上,采用平台提供的编程环境和开发工具,在不“破坏”标准产品的情况下,根据自己的需求对软件进行一定程度的改造,从而进一步满足自己的需求。
3.SaaS
SaaS提供的是标准产品。客户无须自己的机房、服务器,也不需要进行复杂的安装和部署,厂商将所有内容打包成直接可以使用的软件产品,只需要简单地注册和开通即可使用,并且可以按需付费。
随着客户需求的不断变化,SaaS产品出现了一个短板,即标准化产品无法满足千变万化的客户需求,这个时候就需要结合PaaS的能力。