统一的标准、通用语言与评测手段尚需时日
开发云应用的组织机构目前希望自己的应用能从一个云很轻松的转移到另一个,并可对不同云服务进行互操作。比如说,在建立了合适的互操作架构后,一种云应用可从某一云服务供应商迁移到另一个收费更低、服务更多的云服务供应商中去。
Amazon的API成为目前提供按需运算机体类型云计算的实质标准。云应用可利用这些API实现便捷性和互操作性。比如,Eucalyptus使用这些API之后,那么运行于Amazon EC2上的服务就也可以运行在Eucalyptus云上。不过,对于云存储来说,实现便捷性和互操作性的难度更大一些。Hadoop是最流行的云存储平台,但目前运行在Hadoop MapReduce上的应用无法迁移到另一个以C++编写成的云存储平台上。
虽说涵盖所有云计算标准的出台还为时尚早,但Cloud Computing Interoperability Forum (www. cloudforum.org)和Open Cloud Consortium (www.opencloudconsortium.org)一直为此在努力。基于服务的构架设计也初露头角。Thrift是一款开发可扩展交互式语言服务的软件架构,具备代码生成引擎(http://incubator.apache.org/thrift)。Thrift可使不同云存储的访问应用变的简单,比如前面提及的Hadoop和Sector。开发一种为应用提供互操作的通用语言也可使不同云间的访问变的容易。目前已有多人为MapReduce并行编程模式开发语言,设计中包含了一些扩展SQL用以支持这种编程模式,但还没有形成统一的标准。
当前最紧迫的工作是要建立不同云间互操作的标准。也许我们可以从互联网的发展历程得到一些启示,当初各网络的标准不一导致无法互连,后来引入了标准的TCP/IP等协议才推动了互联网的发展。今天,我们又面临着相似的情况,虽说现在标准化的进度缓慢,但相信解决了不同云间的访问后,云计算的未来无可限量。
与云的标准化和通用语言的发展一致,云计算也没有统一的评测手段。目前流行的衡量云计算平台整体性能的工具有TeraSort。针对按需提供运算机体的云计算,最近有一款Cloudstone的评测工具。Cloudstone工具包包含了一个开源Web 2.0应用,一套负载生成部件,一系列性能监控部件,还有可以对给定的云进行每人每月花费的量化计算法。如果是云存储的评测,可以考虑MalStone (code.google.com/p/malgen/)。
总结一下云计算可以发现,计算的单位已由单台电脑、集群服务器扩至数据中心。云计算不仅仅是计算规模的扩大,同时它带来了软件、系统和编程模式上的改变,大大降低了计算资源的复杂程度和使用成本。最为重要的一点,它开创了基于用户使用的灵活收费模式,用户仅需为他所使用的计算机体或存储空间付费。因此我们说,云计算是一次真正意义上的革命。