为什么应用程序的可移植性已经成为业界的一个关注重点?
这里至少有两个原因:
1. 很多已经构建私有云计算或者正在考虑建立私有云计算的IT组织都把混合云计算视为他们云计算的最终发展目标。这就意味着,IT组织需要在他们的私有云计算和一个或多个公共云计算(或者在两个或多个公共云计算之间)实现应用程序/数据的往复迁移。在云计算之间迁移应用程序并不是一件简单的事,因为我们需要它们能够在不同的云计算中提供相同的性能水平并正常运行。提供应用程序的可移植性不同于仅仅让应用程序本身变得可移植。虽然源云和目标云之间非常相似,但是它们在很多方面也有着很大的区别:不同的管理程序;不同的操作系统支持;不同的安全、存储和网络模式;不同的数据库系统支持;以及不同的管理工具等,通常在源云中能够正常工作的管理工具往往在目标云中就可能无法正常使用。
2. IT组织不希望受制于单一的云计算或云计算供应商。如果IT部门不喜欢某一云计算供应商通过其SLA提供的服务,那么它就会希望更换另一家云计算供应商而又不用重新经历一遍之前应用程序迁移所带来的痛苦。例如,从Amazon EC2把应用程序/数据迁移至Terremark或Rackspace就不是一件容易的工作。
云计算标准的缺失已成为一个广受关注的问题,因为它能够在某种程度上减轻(当然并不会是全部)IT部门所面临的应用程序可移植性问题。
在这些领域中,应用程序可移植性的***障碍是什么?
• 法律 --- 知识产权问题,即存放在云计算中信息的所有权问题(第三方是否被允许访问你的数据,或者云计算供应商是否能够被要求为第三方(例如警方)提供对你的数据的访问)、对数据物理位置的控制、以及法规遵从性都是一些重要的法律方面障碍。
• 技术 --- 从技术角度来看,可移植性的***障碍在于标准化云计算API的缺失,供应商/云计算厂商可以在开发它们基于技术的产品中使用标准化云计算API。
• 专用供应商的竞争态势 --- 大多数供应商/云计算供应商都支持建立云计算标准。但是他们,尤其是专用供应商们,并不会严格遵守标准,因为他们希望他们的产品要与竞争对手的产品有所区别。所有的供应商们都希望锁定客户,让客户只能使用他们一家的产品。他们对标准的支持可能仅仅停留在表面上,(除非对标准的需求是压倒性的,例如TCP/IP),而且并不总是按照标准进行开发。
OASIS、Open Group以及其他组织对应用程序可移植性的主动性是如何的?
• OASIS --- OASIS基本上仅处于起步阶段。如果你看过2012年一月的倡议者名单,那么你就会发现没有一家公共云计算供应商名列其上,例如Amazon、Terremark、Rackspace或Savvis。IBM公司是唯一一家名列其中的公共云计算供应商(需要指出的是,IBM同时也是一家私有云计算供应商)。在云计算应用程序可移植性方面有任何实质性进展之前,Hell都不会在这方面有任何的动作。他们只是致力于规范制定。
• Open Group --- 他们只是在2012年年初提出了一个规范。除了我不知道哪些厂商正在致力于规范的制定以外,我对他们的意见与OASIS相同。
• OpenStack项目 --- 在致力于云计算互操作性(基本上其概念与应用程序可移植性相同)的组织中,OpenStack项目可能是最有可能产出有价值东西的一个。他们的目标在于让私有云计算供应商和公共云计算供应商采用OpenStack云计算技术。这将使得云计算之间的应用程序/数据迁移变得更容易。
企业可以采取哪些简单的措施以提高他们应用程序迁移至公共云计算的可移植性?
• 确保应用程序及其支持的组件,例如数据库和工具,不依赖于某一操作系统和一个低层的云计算基础设施。
• 为你的应用程序找到一个管理平台,它可以支持应用程序在大量云计算环境中正常运行(但如果云计算供应商没有使用特定的管理平台,那么它也是没有价值的)。
实际上,这两个建议对你的帮助非常小,因为它们只是解决了应用程序可移植性中很小一部分的问题。