我之前写过一篇关于云计算价格战的文章,当时提到基础设施即服务(IaaS)提供商如何在竞相让自己脱颖而出:通过开发对开发人员友好的功能特性,以此提高用户的灵活性。IaaS提供商的核心服务围绕网络、计算和存储能力。所有IaaS提供商都提供价位相似的核心网络、计算和存储能力。让它们与众不同的是服务,这些服务通过抽象处理,将扩展、故障切换、调配和自动化等底层“IT管道”任务的复杂性隐藏起来,从而加快开发。
平台即服务(PaaS)对底层应用程序堆栈进行抽象处理。有了PaaS,开发人员没必要为管理操作系统、数据库、应用服务器或编程堆栈而操心,可以致力于业务需求。虽然企业级PaaS一直迟迟没有流行起来,但最近PaaS提供商却大步前进,更多的企业开始考虑PaaS作为一种可行的选择。阻碍企业采用PaaS的最大因素是什么呢?不是每种工作负载都适合使用PaaS。针对事务处理要求极高的工作负载,开发人员需要对应用程序堆栈拥有更大的控制权,目的是为了满足预期的性能要求和服务级别协议(SLA)。如今,只有IaaS为开发人员提供了这种控制级别。
数据库即服务(DBaaS)
IaaS提供商在添加许多新服务,以开发类似PaaS的功能,致力于简化开发特定用例(use case)的工作。比如说,亚马逊现在提供四种不同的数据库即服务产品。RDS是一项托管数据库服务,它为MySQL、SQL Server、甲骨文和Postgres等关系数据库提供了自动扩展和自我管理能力。DynamoDB是一种高度可扩展的托管NoSQL数据存储服务。ElastiCache是一项内存中缓存服务,只要调用API即可使用该服务,根本不需要安装和管理高度可用的缓存技术。Redshift则是一种随需应变、完全托管、按需付费的PB级数据仓库。另一方面,谷歌提供了BigQuery,这项服务让客户可以针对TB级数据集运行类似SQL的快速查询,并且在短短几秒钟内获得查询结果。谷歌还为Hadoop提供DBaaS功能。微软的DBaaS是一种完全托管的SQL Server环境,而IBM的SoftLayer提供了BLU加速,这其实是一种托管数据仓库技术,让开发人员在一个小时内就可以建立起强大的数据仓库。OpenStack是一种大受欢迎的开源IaaS替代方案,它在其Icehouse版本中发布了名为Trove的DBaaS。
应用程序服务
亚马逊网络服务(AWS)遥遥领先的一个方面是,交付易于使用的应用程序服务,那样开发人员就能快速添加或扩展功能,比如搜索能力、工作流程、队列、电子邮件、通知、支付、流媒体、内容分发功能(CDN )等等。而这些类型的服务添加到IaaS提供商的服务组合中后,PaaS和IaaS之间的界线变得更模糊。PaaS提供商需要加快PaaS在企业客户内部的采用,免得IaaS提供商打造和增强足够的功能、让PaaS变得可有可无。微软、谷歌、IBM和OpenStack也都在借助许多新的应用服务夯实各自的服务组合,但它们想赶上AWS还有很长一段路要走。
部署和管理服务
所有IaaS提供商现在都非常注重让部署和操作任务更易于管理。AWS最近发布了与ElasticBeanstack服务和CloudFormation服务配套的OpsWorks服务。这些服务共同让管理和调配等操作任务变得简单化。为了增强托管服务能力,谷歌最近收购了StackDriver这款监控SaaS解决方案。预计谷歌会收购更多的企业,以便奋力赶上AWS及这个领域的其他厂商。微软一直格外重视提供致力于方便开发人员使用的强大工具。微软提供了一套强大的用户界面(UI)和应用编程接口(API),以便管理网络、成本分配、计费能力和部署,提供自动化监控和分析,以及更多功能。IBM DevOps服务提供了诸如Git主机托管、持续集成和部署自动化之类的功能。OpenStack提供了名为Heat的编配服务,这项服务类似AWS的CloudFormation,让开发人员可以发布使用模板的组合式应用程序。
移动和游戏服务
现在,这方面才开始真正重视起来。移动和游戏应用非常耗费资源,而且需要大量的技术投入,才能满足最终用户在可扩展性和性能方面提出的要求。一些服务让开发人员可以迅速将开发的应用投向市场,没必要花数月时间来设计具有高扩展性的容错架构,以处理庞大分布式网络上的大量丰富媒体内容,比如AWS的AppStream,这是一项低延迟应用流服务,再比如Elastic Transcoder,这是一项易于使用、可扩展的媒体转码服务。微软、谷歌和IBM都提供MBaaS(移动后端即服务)能力,但OpenStack在这方面处于落后的位置。
市场
上述所有IaaS提供商都提供市场能力。IaaS领域的市场就好比是苹果的应用程序商店(AppStore)。现在第三方可以添加类似PaaS的功能,这些功能可“外挂”到采用按需付费的订阅服务模式的IaaS产品上。随着这些市场变得更成熟,IaaS提供商的产品开始看起来更像PaaS产品了。
结束语
PaaS解决方案提供了完美的抽象级别,可以将底层基础设施和应用程序堆栈的复杂性都隐藏起来。IaaS提供商没有试图复制PaaS提供商提供的服务,而是根据客户要求,将各项类似PaaS的服务添加到自己的服务组合中。久而久之,随着PaaS和IaaS之间的界线变得进一步模糊起来,PaaS具有的价值主张可能被客户所忽略。
英文原文链接:http://www.forbes.com/sites/mikekavis/2014/06/02/blurring-the-line-between-paas-and-iaas/