企业架构师们在开发混合云计算应用程序并为支持程序云计算而选择云计算供应商之前,他们应当好好完成他们的准备工作。选择错误的供应商和在错误的环境中开发应用程序都会对应用程序的运行性能、工作流程、变更成本、以及与客户的沟通和交易带来负面影响。
在本文中,我就是要对混合云计算开发和应用程序环境的某些错误认识进行澄清,并针对如何为混合云计算应用程序选择合适的供应商给出一些标准的定义。
目前,业界对于混合云计算环境有着很多的定义,但是大多数人都有一个共识,即混合云计算环境至少应包括一个私有云计算和一个公共云计算,后者是一家服务供应商的外部计算环境。而私有云则可以是公司内部的私有云或者是位于企业数据中心外的一个虚拟私有云。为了便于讨论,我所考虑的混合云计算环境包括了一个单一的内部部署私有云和一个单一的外部公共云。
就我个人经验而言,如果企业为他们的公共云计算和私有云计算环境选择了同一家云计算供应商,那么这是最有机会成功的一个混合云计算项目,这是因为当私有云和公共云是由不同厂商开发时,他们总是会使用不同的基础设施。使用各自供应商往往会要求使用两种不同的存储模式、虚拟机管理程序、安全模式、管理工具等等。这些巨大的差异将导致为混合云计算环境开发应用程序的问题和挑战(例如,开发“真正的”混合云计算应用程序)。在IT历史上曾发生过类似的问题,当试图把应用程序从Windows迁往linux平台时,我们就看到过这些同类型的问题了。
混合云计算是什么?
今时今日,我们可以把混合云计算环境视为一个可以处理不同类型应用程序的混合系统,这些应用程序包括了单一云计算应用程序和混合云计算应用程序。单一的云计算应用程序可以被打包在虚拟机或容器中,并可以在私有云计算和公共云计算之间实现自由迁移。这就是那些提供混合云计算环境的大多数厂商所支持的应用程序类型了。
混合云计算应用程序类似于在20世纪六十年代开发的模拟与数字计算机混合应用程序。在混合应用程序中,单独一个应用程序可以被拆分并被部署在模拟和数字两种计算机中,而应用程序的每个部分则可实现同步运行。类似地,混合云计算应用程序的功能被分割成为可并行运行的部件,而这些部件可在私有云计算和公共云计算中实现无缝衔接。
选择混合云计算供应商的标准
当用户开发混合云计算应用程序或单一云计算应用程序时,他们可能会遇到一些潜在的挑战。对它们进行审视可以帮助企业架构师们制订出更有效的供应商评估标准。这些挑战包括:
•找到一个能够托管混合云计算应用程序(以及单一云计算解决方案)的混合云计算解决方案供应商。一个无法实现无缝支持混合云计算应用程序的云计算环境是一个无法正常运行的云计算环境。
•可跨私有云计算和公共云计算实现混合云计算应用程序功能的分发。如果没有必要的工具、知识和基础设施,那么实现一体化和共性就是很困难的一件工作了。
•甚至当使用性能监控工具时,也能够实现合适的应用程序运行性能,例如模拟器。
•能够以一种即时的方式在私有云计算和公共云计算中通过防火墙和路由器在所有的应用程序和平台间实现数据、消息和服务调用的安全传递。
•在一个混合云计算应用程序的私有和公共云计算部件之间以高速率传输数据。(请注意,除非使用了互联网的高速替代品来传输数据、消息和服务调用,否则对延迟性要求较高的应用程序可能不会像混合云计算应用程序那样运行良好)。
•通过一个单一的接口来管理一个混合云计算环境。
一家理想的混合云计算供应商应当能够解决所有上述这些问题。此外,云计算供应商应当能够为私有和公共云计算基础设施之间服务的无缝迁移提供必要的工具,如果缺乏相应的工具,那么开发人员将无法开发出高效的混合云计算应用程序。
以上这些要求列表可以作为选择混合云计算环境和混合云计算应用程序的初始评估标准。截至目前,因为安全性、性能、合规性以及其他方面的原因,只有极少数的关键业务应用程序已被迁移至公共云计算。通过使用混合云计算环境,企业架构师们就能够充分同时利用好内部部署私有云计算的安全特性和公共云计算的强大计算资源。
混合云计算产品一览
目前,一些云计算服务供应商是能够支持混合云计算的;但是不幸的是,这些供应商中的大多数都有着两个共同的缺点:高成本,以及在企业用户想要更换至另一厂商时缺乏的灵活性(即,受制于特定厂商)。由于业内最常用的服务是Eucalyptus/惠普、IBM、惠普以及VMware;所以也就没有必要再为他们做广告了,我在这里只是将简单谈谈他们各自的产品:
•Eucalyptus(在2014年9月被惠普公司收购)一直专门为亚马逊网络服务(AWS)云计算环境以API的方式提供了一个开源混合云计算解决方案。使用Eucalyptus所创建虚拟镜像(运行工作负载)可以被迁移至EC2。还可以从亚马逊EC2下载虚拟镜像,在由Eucalyptus创建的私有云计算上运行。对于混合云计算来说,这种方法只支持单一云计算而非混合云计算的应用程序。
•注意,惠普公司收购Eucalyptus是为了加强它的Helion云计算产品组合。惠普的Helion产品是基于开源OpenStack、Eucalyptus以及惠普CloudSystem架构的。惠普希望它的客户使用它的Helion产品,但是他们还有很多在AWS上运行的工作负载。一位客户(包括云计算供应商)可以使用一些或所有的Helion组件来创建一个私有云计算或公共云计算、以及混合云计算环境。像IBM一样,惠普在它的混合云计算解决方案中使用了混搭和匹配的方法。
•IBM提供了一个定制的混合云计算选项。这可能是成本昂贵的,因为实施这一方法通常要求IBM专业服务提供援手并使用各种IBM的云计算软件产品。开发一个IBM混合云计算环境来实现混合云计算应用程序托管通常是那些一直以来都是IBM客户且拥有雄厚资金实力的金主们。
•VMware的vClou混合服务似乎有一个合理的机会来为其应用程序无缝支持提供一个混合云计算解决方案。VMware的解决方案让用户能够使用相同的基础设施组件来开发私有云计算和公共云计算。这是一个加分项,但是软件是VMware的软件,这就意味着受制于特定供应商和昂贵的授权费用。
请记住,把现有的业务应用程序分割成为分别在用户的私有云计算和公共云计算中运行的两个部分是很困难的。反之,从一开始就开发一个能够访问用户混合云计算环境的基础设施和服务的新的混合云计算应用程序则是更为容易的一件事。而其中最大的挑战就是选择能够同时满足用户应用需求和财务预算的公共-混合云计算供应商。我们希望,以上的标准和信息能够帮助到您。