大部分的Web应用程序到最后肯定都会用在platform-as-a-service上,即PaaS。这样的变化对于基础设施即服务(IaaS)而言会慢一些,因为研发出完美的PaaS,会大大失去对硬件和软件的控制权。许多IT企业会抵制它,但是PaaS服务终究会产生。
对PaaS价值的定位其实非常简单:带上您的代码,我们会为你服务一切——互联网连接、电源、硬件、操作系统、软件、监控、备份、恢复、故障切换、缩放甚至更多。IT部门会集中精力编写代码来解决业务问题,留给供应商的就只是基础设施和运营机制。从理论上讲,相比较用自己拥有的员工做这些工作,你会得到一个更佳的实践部署,包括安全和业务连续性,同时拥有更低的成本和更好的质量。
我们说的这些都是“理论”,因为这些都还处于初期阶段,随着厂商提供多种不同的服务到更多的移动设备,CIO们需要时间来证明它的稳定性。然而我们相信,PaaS是未来趋势,没有考虑到PaaS的公司终将处于不利地位。
企业应考虑PaaS的七大因素:
PaaS的实现需要两个主要因素:一个是平台服务,一个是运行平台。我们把PaaS厂商列入我们的比较,它必须在Web应用程序上同时销售软件和SaaS服务,并提供一个基础设施在其上运行这些应用程序。如果供应商不提供除了平台以外的底层基础设施,你就不会充分的体现PaaS的真正价值,因为你缺乏了“一包到底”的体验。
相比IaaS或SaaS的供应商,PaaS厂商要困难的多,因为有很多不同的因素。我们在文章中对此有深入的讨论和评估。在这里,我们对如何选择一个PaaS提供商进行了七个方面的要素评估。
编程语言和框架:它一般具有优先的编程语言,供应商很少会支持该语言的运行。但是一个例外:专有的PaaS,客户购买是基于其他的因素,愿意用任何语言也是必需的。最好的例子是Salesforce.com的Force.com,它就采用了一种专有的语言,但在上边提供了一个强大的生态系统,可以让应用程序开发人员的大脑与传统的应用程序开发平台相比。
数据库:一般说来,PaaS的数据库服务器支持类似于编程语言支持。然而,现代化的应用开发是以迁移到其他不同的数据库服务器的方式来缓解的。有几位PaaS提供商也支持所谓的“下一代”数据库,比如Xeround,即提供一种相同接口广泛使用的数据库,就像MySQL,但只是作为服务提供。为了确保它们符合您的法规和安全政策的要求,重要的验证数据库的安全还是有PaaS供应商提供的。
可用性:缩小您的列表要基于编程语言和数据库支持,之后,下一个定义应该是怎么让你省出应用程序的正常运行时间。为此,我们对周边环境问了一些问题,了解服务器和软件失败时会发生什么。服务水平协议(SLA)很重要,但是它几乎从来没有为企业的应用程序当机时间进行赔付。最后,可以从SLA供应商的成本收入来看,供应商将明确规定了需要负责的服务内容和职责。
安全性:当供应商选择基础设施时,安全性和监管规则是至关重要的,同理,PaaS也是一样的。请记住,为了广大的供应商,多重任务已经是一种趋势——PaaS厂商想降低成本并保持高可用性,就要传播大量的应用程序和数据在共享服务器上。这导致了PaaS的应用信息超出了监管的范围,但是很多厂商已经有了解决共同监管的方案,好比存储信用卡。
服务:很多PaaS厂商还会提供额外的服务,比如第三方的附加产品。有这些列子:代码库集成(启动应用程序的源代码存储库分支)??,缓存服务(保存数据库查询结果,以加速应用性能),日志服务(以整合所有应用程序副本日志)和支付服务(进行外包验收,处理和存储信用卡号码在PCI兼容的环境中)。
客户服务:PaaS服务商建立了各层之间的服务(比如从应用程序层到数据库层的服务),这使得开发商和供应商的关系更加密切。
价格:成本固然是重要的,那么比起其他方案,比如企业内部的部署或者IaaS,PaaS是否更能节约成本。迁移到你现有的部署中,PaaS服务与其它服务相比只有很小的价格差异。我们要用安全性和可用性兼容的服务获取最合适的语言、数据库和负载支持。
要注意,PaaS的价格与实际成本成正比。高度优化的应用程序代码会更高效于没有优化过的应用程序代码。同样,如果你选择在一个供应商产品的应用程序上运行,供应商可能会要求你购买更多的服务项目,在一个应用程序运行之前是没有办法预测的。幸运的是,大多数PaaS厂商会提供免费试用。所以最后,请你确定你可以在不同的供应商涨价或服务中断的情况下使用其他的应用程序。