PaaS平台提供商不仅提供硬件、网络环境等IT基础设施服务,还提供一些通用的软件系统来帮助客户更快地搭建服务。同IaaS相比,客户仅需要根据自己的需求,将自己的业务软件系统部署在云供应商提供的基础平台之上。这样做的好处是用户不再需要很强的IT技术栈能力,只需要将精力集中在业务领域即可。相对于IaaS的仅提供底层服务、SaaS的软件全打包服务,PaaS介于中间。
图5-3所示为PaaS平台架构。
如果说IaaS是毛坯房,那么PaaS就是简装修,房东为租客提供一些标准化的家居用品,租户只要带上自己的行李,就可以拎包入住。仍然以阿里云为例,阿里云ECS、RDS、OSS系列产品就是PaaS的解决方案,该产品系列可以按照用户的需求来订制标准化的网络及操作系统,租赁完成后,用户只需要在ECS上安装自己的应用软件,同时使用RDS或 OSS作为持久化存储,配合阿里云提供的CDN及云安全监测(阿里云盾、安骑士),即可完成整套企业级服务。这种部署方式,除了客户自己提供业务软件系统之外,整个系统的性能指标、维护及安全,全部由阿里云负责。
图5-3 PaaS平台架构
PaaS是否适用,企业可以从以下几个方面考虑。
(1)团队:专注于业务领域的企业,拥有一支规模中等的研发及运维团队。
(2)安全:与云供应商建立了互信关系,愿意将基础安全、系统可用性全权交给云供应商负责。
(3)容量:业务对于系统容量和资源要求会经常变化。
(4)预算:资金量适中,认可云供应商对中间件、数据持久化等基础软件系统进行合理收费的方式。
PaaS平台的优点如下。
(1)企业不再需要十分强大的IT团队,也不关心运维,仅需要懂业务的开发团队完成应用软件支持即可。
(2)企业不再操心中间件和持久层的维护,全部精力投入使用中,中间件和持久层的维护及大部分的安全工作都交由云供应商完成。
(3)扩容和灾备都可以通过友善的人机交互完成,不再需要高昂的学习和执行成本。
(4)计费粒度更为细致,可以达到按照使用或者流量来计费,给客户更多选择,不使用不计费。
PaaS平台的缺点如下。
(1)中间件和持久化等支撑系统全部交由云供应商,企业只能选择有限、公开且常用的第三方版本,对于某些极特殊的需求无法满足。
(2)现有系统需要迁移和改造,以适应云供应商提供的中间件和持久化系统,这部分工作量较大,并且可能会影响最终用户体验。
(3)由于一部分工作从客户转移到了供应商,相应的成本也会提高,问题种类开始变多,服务响应时间开始变长,整个系统的协调沟通工作开始变得繁重,最终费用升高。
(4)从云服务商的角度看,系统的监控和安全将变得十分关键。如果客户与云服务商的服务协议中的某些条款无法明确,会导致法律风险和赔偿风险。
PaaS的兴盛是被“互联网+”浪潮的推动而走向舞台的。新兴的互联网企业一般规模偏小,对于这些中小企业来说,核心在于业务模式上的创新,但是没有足够的技术团队及资金做基础的应用平台。PaaS技术主要针对的是业务系统的开发和部署,其优势在于为企业提供简单和方便的IT服务,不再关心基础设施,也不再关心数据库和中间件。另外,PaaS按需/固定计费的方式也被许多企业所青睐,绕开了传统软硬件方面的大成本支出。
尽管PaaS屏蔽了一些硬件和环境细节,但是PaaS平台所具备的限制几乎同IaaS一样多。再加上PaaS平台提供了预装的第三方套件,其升级、安全性问题也面临挑战。最困扰的是如果使用这些套件,往往意味着技术和业务的双重绑定,如果未来企业有重大的升级和变更需求,那么带给开发、测试和运维的工作量是惊人的。
从发展趋势看,PaaS平台是完全底层自助资源和全打包服务的中间过渡态,不是一个纯粹的解决方案,因此很多PaaS平台预装了越来越多和行业相关的应用系统,逐渐向SaaS平台靠拢。比如Amazon的深度学习平台和大数据平台,已经将各种主流框架集成到系统中,并且这些系统的使用是免费的,仅收取PaaS平台本身的租赁费用。