实现混合云服务:如何做好我们的定位?云和虚拟化
也许根本就不会有公共云供应商或未来的供应商会认为,他们的客户不会提出混合云集成的要求。也就是说,几乎所有的云用户都希望在他们的私有数据中心和公共云之间创建混合云环境,一份针对中小型企业云使用意愿情况的研究报告指出,混合云策略是具有可行性的。很多企业甚至还计划使用多个云服务供应商,随着云的应用层次从基础设施上升至平台甚至软件,这一趋势也变得更明显了。
但是,到底真的有多少支持可供客户寻找合适的混合云服务?难以确定的原因之一就在于,并不总是能够很容易地确定这个客户需要什么样的支持。事实上,一个希望支持混合云客户的云供应商可能只有一条成功之路:跟着应用走。
在如今的市场上,有两种引入了复杂性的混合云。其中简单的一种就是,在应用云托管组件与数据中心组件之间的一个静态的协作关系。而复杂的一种就是,动态的需应对云资源爆发的应用,它要求当数据中心应用工作负载升高、存在性能降低风险时,公共云就会承担部分的工作负载。解决这些应用场景以及混合云应用的最好方法就是使用应用生命周期管理作为需求驱动。
从广义上讲,应用生命周期包括了开发/采购、部署、集成与管理等各阶段,而大多数云服务所提供的管理接口主要是供在部署阶段使用的,但这仅仅是一小部分混合云客户的需求。供应商需要在整个应用生命周期的各个阶段都支持混合云服务,而混合云使用则可能是云市场机遇中最大那部分的关键了。
混合云服务:应用组件需要目录
通常,为了让应用能够正常运行并将其连接至它的组件就需要在开发应用时就对其进行设置。组件化就是指把应用分割为多个独立的单元,之后就可以把这些独立单元集成为一个可支持用户应用的工作流。一个提供软件即服务(SaaS)的云供应商会提供一套组件,所以SaaS供应商必须给出具体的连接定义,以便于他们的组件能够与其他组件连接以创建混合应用。这一切都是以应用编程接口(API)和特定机制的完整文档为基础的,也就是一个用于注册所安装组件的目录。
对于供应商而言,能够记得为他们的SaaS组件建立一个目录是非常重要的,同样他们还必须为用户提供一个增加用户自己的自托管组件的机制。如果没有这个机制,那么供应商将无法为之后的整合提供一个完整的可用组件库。
部署是指为每个应用组件分配资源的过程,其中的关键问题在于各个组件实际上需要什么样的资源。部署在云中的所有应用和组件都必须有一组相关联的规则,以确保它们都能够分配到正确的资源。目前,有两种实现这一目标的方法:提供一个之后可供云管理系统使用的需求目录,或者提供一个被称为开发运行的脚本程序或模型,它以一系列有序步骤的形式描述了实际的部署过程。云供应商应当能够同时支持这两种方式。
在这两种情况下,在云部署过程中都需要有一个完整的参数库以指导资源的选择。对于开发运行而言,关键的问题在于云中访问管理接口的方式。不幸的是,已有大量的流行开发运行工具,其中包括了Chef、Puppert、Juju以及Salt等。供应商必须对它们进行逐一检查并确认它们是否都具有明确的操作说明(在合适的情况下还包括工具)以便于把这些工具与供应商的云API进行整合。在云平台上部署流行应用时可使用开发运行图和脚本程序,同时如何修改这些图和脚本程序以供混合云使用的使用说明将是大有裨益的。
在整合方面,关键的需求是能够访问一个公共目录以便于在进行云应用部署时找到相应的应用组件。这主要是一个寻址的问题,也就是说其机制将随着如何将地址分配给云和数据中心组件而变化。目录机制(具体包括DNS 和UDDI)或者如Amazon所使用的“弹性地址”可帮助实现云组件的连接,那些云组件和其他组件可能会被部署在任何位置以交换工作负载。很多开发运行工具支持集成和部署,而重点支持这些工具以鼓励混合云用户使用它们也许将是非常有价值的。
你可以把被一些用户和供应商称为“平台服务”或“网络服务”的服务视为整合的扩展。一个提供平台即服务或基础设施即服务的运营商也可以提供一个功能组件——从数据库即服务(DbaaS)到内容缓存与交付——该组件可能会与云或客户数据中心中的用户应用整合在一起。很多云供应商都会把这些平台服务视为一个提高他们单个用户平均收入和加速云推广的方法,但是如果供应商不能正确地教育客户,那么他们就是在使整个应用生命周期变得更为复杂。
也许DbaaS就是一个最好的例子。一个从混合应用访问的TB级云存储系统和一个使用标准块读写方式访问的内部数据中心组件,虽然这两者的功能非常相近,但是它们的访问成本和对网络要求的差别却是非常显著的,更不要提对性能的影响了。如果供应商提供了一个“查询”服务,而且这个服务只是向云数据库发送了一个SQL查询命令,那么这个服务的数据交换实质只是通过网络交换了查询请求和查询结果的数据。这对于关键任务应用的云化将是一个显著的推动,但这也要求混合云客户重新设计他们应用的架构,即发送查询命令而不是发送数据块读写命令。这意味着,即使是在应用生命周期的开发/采购阶段供应商就需要向客户提供应用开发/采购的指导。
就目前而言,并不是所有的企业级关键任务应用需要混合云服务,如果没有这些需要实现混合云化的企业级关键任务应用,那么云的发展空间将大大缩小。更好地支持混合云客户,你就有机会获得最好的云收入来源和最丰厚的利润回报。