随着市场对企业的要求变得越来越苛刻,企业目前一直在面临着全新的技术规则、挑战和机遇。技术部门在创新能力方面的提高意味着企业最终到达了一个可以做出明智的IT决策的位置,并真正的发挥出新一代技术工具及管理策略的优势,从而减少风险实现长远发展。在这种背景下,云计算互通性就成为了市场发展的新亮点。
但目前关于云计算的互通性没有共同的标准,还存在着一些需要的注意的问题。
云计算和供应商锁定
众所周知,供应商锁定是云计算业务模型的一大障碍。它的特点在于无能或连接到资源的能力有限,而且这一资源并不是云提供的。应用迁移或把数据与替代云服务相对应可能很昂贵并且浪费时间,而且用户要依赖于厂商的技术。如果我们想要避免这一障碍,那么我们必须找到一种方法来实现云计算互通性。
每个人都它自己的API
现在,所有的云供应商都喜欢具体的技术解决方案,而且要自己设计远程可用的方法(SOAP和REST API)。例如,谷歌应用程序引擎、甲骨文PaaS平台、Salesforce和微软Azure提供的API差异都很大。有些厂商甚至尝试发明一些新的编程语言(如,Salesforce和其专有的 Apex 语言)。另外,数据存储模型的范围可能会从NoSQL到关系开发数据库,供应商使用它们自己的查询语言,并他们支持不同的数据类型。
标准化
现在,让大多数据商业云供应商接受的云计算标准还没有。尽管如此,许多举措方案还是很活跃的。DMTF OCSI(开放云标准研究组)标准化了云资源管理。DMTF还提出了OVF(开放虚拟化格式)规范来支持开放的、安全的、有效的和可扩展的形式,从而打包或分布运行在虚拟机上的软件。OCCI-WG(开放云计算接口工作小组)开发了基础设施即服务的实际规范。SNIA CDMI(云数据管理接口)可能使用云应用创建存储在云上的访问、更新和修改数据元素。OASIS TOSCA(拓扑结构和编制规范为云应用程序)目的在于改进应用和IT服务转向云中的可移植性。
经纪人库
解决云互通性问题的一个解决方案是使用经纪人。市场上有一些框架可以作为中间媒体:
Apache Libcloud是一个Python库,它隐藏了云供应商API之间的差异性,使之能通过统一的API管理不同的云资源
Deltacloud API是一个应用程序接口,它抽象云之间的不同性
Apache jclouds是一个开源库,使用可移植性抽象或云特定的特点
The Dasein Cloud API受到JDBC的启发,它提供了抽象了应用,抽象了那些希望独立于云编写的应用,可以自主控制
研究项目的原型
欧洲研究资助机构已经意识到了云计算互通性的问题。例如,FP7对几个处理问题活跃的项目进行了研究:
Cloud4SOA提供了一个统一的API,允许无缝互连,允许跨不同的平台即服务管理应用
mOSAIC为云编程提供了一个标准API
Contrail为云联盟设计的一个开源云系统
Vision Cloud解决了云联盟中数据管理的问题
云计算互通性问题还远远没有解决,但是在云标准成熟并被多数云提供商采用之前确实有一些可靠的解决方案。