对于正在制定云计算战略的公司来说,选择一种合适类型的平台是它们面临的比较重要的决策之一;如果在考虑基础架构即服务(IaaS)和平台即服务(PaaS),就更是如此。
选择一家软件即服务(SaaS)服务提供商通常来得比较简单,因为提供的服务已经得到了明确界定,不过一些SaaS提供商(比如拥有Force.com平台的SalesForce)同时还在提供PaaS解决方案。近日我们看到云计算领域出现了令人关注的一些事态,表明了IaaS云模式和PaaS云模式的一些关键方面在趋向融合。
IaaS和PaaS的区别
说到IaaS和PaaS,云计算客户不得不在灵活性和简单性之间作一选择。从IaaS的角度来看,客户选择的是灵活性,因为客户可以直接访问虚拟机(VM),还可以根据需要创建自己的服务器和数据库实例,并且安装所需要的中间件和操作系统资源。这为客户提供了很大的自主权,但也增添了复杂性。
PaaS平台则把底层的硬件基础架构隐藏起来,客户可以访问预先安装的、集成的开发环境;这就解放了客户,他们没必要管理底层的硬件和中间件基础架构。PaaS客户理应可以得到需要的种种便利,以构建和交付通过互联网来部署的应用和服务。
IaaS和PaaS的局限
IaaS的大致局限性众所周知,PaaS通常同样存在这些局限性。局限性包括各种安全问题、带宽限制、服务可用性以及法律问题(如数据隐私性和数据管辖权)。此外,许多人觉得,IaaS需要不断照管操作系统、数据存储区、消息传递队列和应用程序容器。而且很显然,说到部署服务器和数据库实例,管理负载均衡、弹性和扩展性机制,大多数IaaS平台需要具备相当的IT专长和知识。
不过,PaaS存在的主要问题之一是,有可能被提供商牢牢锁定(lock-in)。如果客户选择某种特定的PaaS平台,更有可能发现自己被PaaS提供商牢牢锁定,迫使他们只好使用和适应对方提供的预定的开发环境,这就限制了开发人员的灵活性和控制性。如此一来,迁移至采用不同基础架构体系的另一家PaaS提供商就成了一项成本高、难度大的任务。
IaaS和PaaS彼此在趋向融合吗?
尽管实施IaaS带来了更大的复杂性,IaaS对于许多企业客户来说仍然更有吸引力,因为它天生就具有灵活性和机动性。此外,几项新的服务(比如亚马逊网络服务公司的Elastic Beanstalk)在IaaS平台的基础上提供类似PaaS的功能,由于增强了功能,因而对于选择IaaS路线的客户来说更有吸引力。
Elastic Beanstalk服务具有的优点包括它能够自动处理部署容量配置、负载均衡、自动扩展及更多机制方面的细节问题——实际上这些正是PaaS解决方案具有的一些主要卖点。此外,在Elastic Beanstalk中,开发环境基于Java,使用Apache Tomcat软件堆栈。借助这种方法,亚马逊网络服务公司为企业客户提供了极其广泛的选择,因为提供了自动配置功能和IaaS平台基础上的开发环境,让客户能够控制和优化基础架构的配置和性能,并且可以使用提供商提供的开发层来开发应用程序。
与此同时,微软走上了截然相反的道路:通过Windows Azure虚拟机角色这项新功能,提供其Azure PaaS平台基础上的IaaS平台。
IaaS和PaaS的逐渐融合极可能会延续,即使这两种不同类型的平台继续取得发展,而云计算客户会继续选择最适合其特定需要的一种平台。
原文名:Are IaaS and PaaS Cloud Models Converging? 作者:Olafur Ingthorsson
【本文乃51CTO精选译文,转载请标明出处!】
【编辑推荐】
- 渐进式?革命式?戴尔的云计算谋略
- SaaS、PaaS和云计算 搅动未来软件发展
- 戴尔云战略:IaaS、PaaS、SaaS一个不少
- 谁是开发者的梦中情人?PaaS与IaaS之争
- 走近云计算:解密IaaS、PaaS和SaaS
- PaaS平台格局分析:目前有哪些选择?