从云计算概念诞生,到如今各个国际IT巨头揭竿而起,推出各自的云计算平台和解决方案,云计算大有势不可挡的趋势。
新生物的诞生,到最后的成长壮大,都不是自己单打独斗的结果。正如,当前的英特尔、微软等IT巨头,它们没有一个不是尽量扩大自己生态链。生态链越大,其生命力越强。
而当前市场上林林总总的云计算平台,同样形成了平台混战的局面。谁都希望在自己的云平台上,拥有更多做应用开发的小厂商以及企业客户。以下,编者通过整理当前热门的云计算平台以及开源云平台,为读者呈现一些云平台的特性。未来的一段时间,它也许将壮大,成为众开发人员以及ISV顶礼膜拜的云平台。
2011年,各个IT巨头都在原有战略布局的基础上有所前行,但是没有大的方向性转变,而是更加强调自己的云平台如何落地生根。正如,很多专家预料的那样,2011年是云计算应用年。
IT巨头的那些云计算平台
虽然,很多国内和国际的第三方咨询机构都公布的调查数据都显示,云计算未来几年将拥有巨大的市场份额。同时,也有专家同时提醒,云计算是有钱人玩的游戏,特别是云计算平台。如果不能当云平台提供者,能够在云计算这个产业链中担当一个角色,也是非常有前途的。下面,编者搜集了当前比较热门的云计算平台,看一下2011年上半年它们都发生哪些变化。
Google的云计算平台
Google的云计算平台原本为Google最重要的搜索应用提供服务,如今这个服务已经扩展到其他应用程序。Google的云计算基础架构模式包括4个相互独立又紧密结合在一起的系统:Google File Systemt分布式文件系统,针对Google应用程序的特点提出的MapReduce编程模式,分布式的锁机制Chubby以及Google开发的模型简化的大规模分布式数据库BigTable。下面分别介绍四个系统的特性。
首先是Google File System文件系统(GFS)。除了性能,可伸缩性、可靠性以及可用性以外,GFS设计还受到Google应用负载和技术环境的影响。体现在4个方面:1)充分考虑到大量节点的失效问题,需要通过软件将容错以及自动恢复功能集成在系统中;2)构造特殊的文件系统参数,文件通常大小以G字节计,并包含大量小文件;3)充分考虑应用的特性,增加文件追加操作,优化顺序读写速度;4)文件系统的某些具体操作不再透明,需要应用程序的协助完成。
MapReduce分布式编程环境:Google构造MapReduce编程规范来简化分布式系统的编程。应用程序编写人员只需将精力放在应用程序本身,而关于集群的处理问题,包括可靠性和可扩展性,则交由平台来处理。MapReduce通过"Map(映射)"和"Reduce(化简)"这样两个简单的概念来构成运算基本单元,用户只需提供自己的Map函数以及Reduce函数即可并行处理海量数据。为了进一步理解MapReduce的编程方式,下面给出一个基于MapReduce编程方式的程序伪代码。程序功能是统计文本中所有单词出现的次数。
分布式的大规模数据库管理系统BigTable:由于一部分Google应用程序需要处理大量的格式化以及半格式化数据,Google构建了弱一致性要求的大规模数据库系统BigTablet。BigTable的应用包括Search History,Maps,Orkut,RSS阅读器等。
BigTable是客户端和服务器端的联合设计,使得性能能够最大程度地符合应用的需求。BigTable系统依赖于集群系统的底层结构。一个是分布式的集群任务调度器,一个是前述的Google文件系统,还有一个分布式的锁服务Chubby。
Chubby是一个非常鲁棒的粗粒度锁,BigTable使用Chubby来保存根数据表格的指针,即用户可以首先从Chubby锁服务器中获得根表的位置,进而对数据进行访问。BigTable使用一台服务器作为主服务器,用来保存和操作元数据。主服务器除了管理元数据之外,还负责对tablet服务器(即一般意义上的数据服务器)进行远程管理与负载调配。客户端通过编程接口与主服务器进行元数据通信,与tablet服务器进行数据通信。
2011年上半年,谷歌除了在云计算平台上获得进一步的认可之外,还在移动开发平台Andriod上获得空前的成功。对于2011的谷歌来说,可以说是双丰收。
IBM"蓝云"计算平台
IBM是一个以硬件起家,如今发展成为软硬皆可的综合解决方案提供商。2011年上半年不仅仅在市值上一举超过微软取得全球第二的位置,同时,2011年也迎来了IBM百年庆典的伟大时刻。真可谓是喜事连连!
"蓝云"计算平台IBM推出来的一套软硬兼施的平台,它将Internet上使用的技术扩展到企业平台上,使得数据中心使用类似于互联网的计算环境。"蓝云"大量使用了IBM先进的大规模计算技术,结合了IBM自身的软、硬件系统以及服务技术,支持开放标准与开放源代码软件。"蓝云"基于IBM Almaden研究中心的云基础架构,采用了Xen和PowerVM虚拟化软件,Linux操作系统映像以及Hadoop软件。
"蓝云"计算平台的组成结构是:一个数据中心、IBM Tivoli部署管理软件、IBM Tivoli监控软件、IBM WebSphere应用服务器、IBM DB2数据库以及一些开源信息处理软件和开源虚拟化软件等。"蓝云"软件平台的特点主要体现在虚拟机以及对于大规模数据处理软件Apache Hadoop的使用上。Hadoop是开源版本的Google File System软件和MapReduce编程规范。
其中,"蓝云"计算平台中的虚拟化技术:"蓝云"软件的一个重要特点是虚拟化技术的使用。虚拟化的方式在"蓝云"中有两个级别,一个是在硬件级别上实现虚拟化,另一个是通过开源软件实现虚拟化。而"蓝云"计算平台中的存储体系结构:"蓝云"计算平台中的存储体系结构对于云计算来说也是非常重要的,无论是操作系统、服务程序还是用户的应用程序的数据都保存在存储体系中。"蓝云"存储体系结构包含类似于Google File System的集群文件系统以及基于块设备方式的存储区域网络SAN。
另外,在2011年4月8日,IBM又新推出了一个SmartCloud企业级云计算平台。这个云计算平台将帮助IBM实现在2015年之前云计算收入达到70亿美元的目标。新IBM云计算平台能够让机构、机构的员工和合作伙伴得到自己需要的一切功能,如高级分析和商务应用以及像虚拟服务器和存储那样的IT基础设施或者使用测试软件代码的工具等。所有这一切都通过IBM的全球云数据中心网络安全地向用户提供。
IBM SmartCloud平台有两个实施选择:企业和企业+。企业版从本周四开始提供并且在IBM现有的开发和测试云的基础上扩展。与传统的环境相比,这个平台能够把应用程序开发的时间从数天减少到几分钟,把开发成本减少30%。#p#
亚马逊的弹性计算云平台
2011年的亚马逊似乎不太顺利。2011年4月22日,亚马逊服务器发生严重的宕机事件。以前,亚马逊服务器也发生过宕机事件,但是皆没有这一次宕机事件如此长。
原本是互联网上最大的在线零售商的亚马逊公司,如今也负担起众多公司的云平台。亚马逊称为弹性计算云的云平台,是较早提供远程云计算服务的平台。亚马逊将自己的弹性计算云建立在公司内部的大规模集群计算的平台上,而用户可以通过弹性计算云的网络界面去操作在云计算平台上运行的各个实例(instance)。用户使用实例的付费方式由用户的使用状况决定,即用户只需为自己所使用的计算平台实例付费,运行结束后计费也随之结束。这里所说的实例即是由用户控制的完整的虚拟机运行实例。通过这种方式,用户不必自己去建立云计算平台。节省了设备与维护费用。
Amazon的弹性计算云由名为Amazon网络服务(Amazon Web services)的现有平台发展而来。2006年3月,Amazon发布了简单存储服务(simple storage service,简称S3),用户使用SOAP协议存放和获取自己的数据对象。在2007年7月,Amazon公司推出了简单队列服务(simplequeue service,简称SQS),这项服务能够使得托管虚拟主机之间发送的消息。支持分布式程序之间的数据传递,无须考虑消息丢失的问题。Amazon又继续提供了EBS(elastic block storage)服务,为用户提供块级别的存储接口。在提供这些基础设施的同时,Amazon公司开发了弹性计算云EC2系统,开放给外部开发人员使用。
弹性计算云用户使用客户端通过SOAP over HTTPS协议与Amazon弹性计算云内部的实例进行交互。这样,弹性计算云平台为用户或者开发人员提供了一个虚拟的集群环境,在用户具有充分灵活性的同时,也减轻了云计算平台拥有者(Amazon公司)的管理负担。弹性计算云中的每一个实例代表一个运行中的虚拟机。用户对自己的虚拟机具有完整的访问权限,包括针对此虚拟机操作系统的管理员权限虚拟机的收费也是根据虚拟机的能力进行费用计算的,实际上,用户租用的是虚拟的计算能力。
微软的云计算平台
对于微软来说,自己就是Azure云平台最好的用户。2011年4月12日,微软将把Dynamics ERP应用程序迁移到Azure云平台。这个来的很晚的举措是微软销售Dynamics应用软件的一个重大转变。微软过去一直以内部部署和托管的方式通过合作伙伴销售Dynamics。
从2011年7月1日起,Azure云服务平台的所有入库数据传输都将实现免费。微软通过博客宣布,无论是"高峰时段"还是"非高峰时段",所有进入Azure平台的数据传输都将免费。此举旨在鼓励开发人员将更多数据转移到微软Azure服务,接收了大量外部数据的Azure应用也可以从中获益。
尽管微软宣布Azure平台的数据入库传输将实现免费,但从Azure转移出数据则并非免费。要想将数据从Azure平台转移出去,用户仍然需要付费。
2009年,微软推出了Azure云平台。微软的云服务平台,Azure可以提供应用程序开发、部署和更新等在线服务。微软Azure服务比亚马逊的EC2云服务更进一步,可以使开发人员无需使用虚拟机和其它基础架构资源而开发应用。也就是说,Azure可以提供虚拟机进行应用测试,但只限运行于微软Windows服务器。#p#
VMware的云平台
2011年4月15日,VMware推出了开放式的PaaS实现Cloud Foundry。不幸的是,2011年5月5日有消息传出,VMware公司目前仍处于测试阶段的全新Cloud Foundry服务便遭遇了两天停机事故。
作为新一代云应用平台,Cloud Foundry专为云计算环境、企业级数据中心和公有云服务提供商所打造。Cloud Foundry可以简化现代应用程序的开发、交付和应用过程,在面对多种共有云和私有云选择、符合业界标准的高效开发框架以及应用基础设施服务时,可以显著提高开发者在云环境中部署和运行应用程序的能力。
VMware还借此机会推出了"微云"解决方案,这是一个新的开源PaaS计划。通过"微云",开发者可以在自己的机器上建立和测试他们的应用,在提高开发效率的同时,还能确保开发环境和生产环境的一致性。
Cloud Foundry拓展了VMware对于开放PaaS的承诺,能够广泛支持各种开发框架和编程语言以及多样的应用服务和云部署环境。Cloud Foundry还可以交付高度的便携性,使开发者能够在云服务提供商和企业级数据中心之间自由移动自己的应用。
Cloud Foundry能够部署在私有云或公有云的环境中,既可以运行在vSphere和vCloud架构之上,也可以运行在其他云架构之上。例如,Cloud Foundry可以部署在Amazon Web服务之上,还可以部署在Eucalyptus和OpenStack等开源平台技术之上。
在当今的云计算时代,开源技术是必不可少的。Cloud Foundry的开源架构和社区进程将会为开发人员带来高效和简洁的PaaS服务,加速应用交付的速度。
2011年6月15日,VMware再次推出用于虚拟化和云环境的集成应用平台——VMware vFabric 5。该vFabric 5平台将市场领先的Spring Java开发框架和新一代vFabric应用服务相结合,将提供核心应用平台,用于创建、部署和运行现代应用。
vFabric 5首次推出了灵活的打包和许可模式,使企业能够购买基于虚拟机的应用基础设施,而不是基于物理的CPU,并只对使用中的许可付费。该模式将消除几十年来的陈旧方式,如以往通常企业都在为即将到来的负荷高峰提前购买富余的软件,而在非高峰期,这些软件许可则不得不"休眠"闲置,从而导致大量费用的浪费。vFabric 5的这一许可模式能够更加贴近云计算模式,将软件成本、使用、消费以及为组织提供的价值有机的联系起来。
CA AppLogic云平台
说起CA,可能很多人还记得曾经几进几出中国市场的那个CA,有些落寞的收场。CA公司实施云计算战略的年头并不算长,而如今却在云计算领域取得长足进步。
2011年4月初,CRN公布了“2011年云平台供应商商Top 20”。令人惊讶的是,谷歌没有成为榜单头名,而IBM竟然没有进入榜单。在这张榜单中,CA公司获得了第四名的好成绩。
对于CA来说,好消息还不够。2011年6月28日,CA AppLogic云平台获得世界云计算大赛(Cloud Computing World Series)"最佳云平台"大奖。由行业专家组成的独立评审团对数百种候选产品进行了严格评审,革命性完整云计算平台CA AppLogic最终从同类产品中胜出。
据了解,CA AppLogic云平台能够帮助客户迅速创建可升级的高可用性私有云和公共云环境,以提供与众不同的独特服务。通过直观的视觉界面,用户只需使用浏览器即可定义基础设施、条款、部署和管理应用,还可监控云平台的运行。它提供给客户一个包括底层虚拟化在内的一体化云平台,以图形界面拖拽模式操作构建应用,这个革命性的平台可以让客户节省大量时间及资源,在数小时内从无到有构建出基于CA AppLogic云平台的应用。
CA AppLogic软件专为管理服务提供商(MSP)和企业客户量身定制,帮助用户在云计算环境下实现超越以往的灵活性、可升级性和成本效益。
CA AppLogic平台能够快速地部署云平台,通过图形界面构建应用,并用可升级的服务支持客户核心业务的运营。并且,有趋势表明,CA Technologies非常重视中国市场,并将继续持之以恒地开发优秀产品,提供完善服务,以满足快速增长的中国云计算市场需求。#p#
开源云计算平台
开源软件一直在软件界发挥着重要作用。对于云平台这样略显得有些新鲜的产物,开源社区里的开源平台竟然也屡见不鲜,着实让人觉得兴奋。
红帽开源API:Deltacloud
2009年,红帽公司推出了开源的API:Deltacloud,它的主要作用是将基于云计算的工作负载在不同的IaaS供应商之间迁移,如Amazon和Rackspace。
红帽公司推出开源的API:Deltacloud
为了能在不同的与供应商之间转移,客户需要“一个可以兼容的架构和一个与内部运行的东西兼容的堆栈”。
Abiquo开源云平台:AbiCloud
Abiquo公司推出了一款开源云平台:AbiCloud,它能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础设施(包括虚拟服务器,网络,应用,存储设备等)。
Abiquo公司的开源云平台:AbiCloud
AbiCloud与其他云平台相比最大的特点在:强大的Web界面管理。用户可以通过拖拽一个虚拟机来部署一个新服务。同时,AbiCloud还允许通过VirtualBox部署实例,支持VMware、KVM和Xen等。
微软云平台:Orleans
微软的云平台最大的一个卖点就是开发人员可以使用.NET、Visual Studio和其它编程工具来编写Azure应用程序。据了解,微软研究人员正在研发下一代云计算编程模式和相关工具,而Orleans就是微软下一代云计算编程模式之一。
Orleans的架构
Orleans是一种新的编程模式,用来提升微软通用语言运行库(CLR)的抽象水平,它引入了“grains”的概念,这是一个可以在数据中心之间迁移的计算和数据存储单元。Orleans自身还将提供很多运行时,包括Geo-Distribution、数据复制与一致行、性能监控、自适应控制、 运行时监控、分布式调试。
Orleans的宗旨就是为了创建一种既适用于客户端又适用于服务器的编程模式,简化代码调试,提高代码的可移植性。
目前已知的资料并没有任何关于Orleans开发计划的内容,Orleans也许还处在概念设计阶段,也许已经开始了初期的开发工作,这些都要耐心等待才会有答案。#p#
cloud ocean云平台:Fan
因为云平台需要集合众人的力量,而开源一直在坚持这种精神,所以如果说,开源云平台是云平台的主流一点都不为过。cloud ocean公司也推出了一款开源云平台:Fan。这个云平台的推出,使IDC机房能够以快速、简单和可扩展的方式创建和管理大型、复杂的IT基础设施(包括虚拟服务器、网络、应用、存储设备等等)。
Fan与其他云平台相比最大的区别在:高可扩展性和高度灵活性。并且,Fan还允许通过KVM、XEN部署实例,同时支持VirtualBox、VMware。
Eucalyptus Systems云平台:Eucalyptus
Eucalyptus是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算。它最初是美国加利福尼亚大学Santa Barbara计算机科学学院的一个研究项目,现在已经商业化,发展成为了Eucalyptus Systems公司。不过,Eucalyptus仍然按开源项目那样维护和开发。Eucalyptus Systems还在基于开源的Eucalyptus构建额外的产品;它还提供支持服务。
一个多集群 Eucalyptus 安装的拓扑
不管是源代码还是包安装,Eucalyptus 很容易安装在现今大多数Linux发布版上。并且,它提供了如下特性:
1、与EC2和S3的接口兼容性(SOAP接口和REST接口)。使用这些接口的几乎所有现有工具都将可以与基于Eucalyptus的云协作。
2、支持运行在 Xen hypervisor或KVM之上的VM的运行。未来版本还有望支持其他类型的 VM,比如 VMware。
3、用来进行系统管理和用户结算的云管理工具。
4、能够将多个分别具有各自私有的内部网络地址的集群配置到一个云内。
同时,我们还可以看到Ubuntu Enterprise Cloud (UEC) ——Ubuntu最新提出的一个开源计划,正在进一步简化基于Eucalyptus云基础设施的部署、配置和使用。UEC 简化了如下内容:
1、创建能够在Amazon的EC2基础设施上运行Eucalyptus的公共云
2、创建能够在位于防火墙之后的数据中心内部的基础设施之上运行的私有云。
这是到目前为止最为简单的安装和尝试使用Eucalyptus的方式。只需下载CD服务器版并将其安装在任何想要的地方。UEC 也是第一个允许在本地环境轻松创建云服务并进而利用云计算强大功能的开源项目。
Cittio公司Zeppelin云平台
2009年的时候,Cittio公司推出了这个Zeppelin云平台的项目,据称这是第一款开源的云计算管理和监控客户端。
Zeppelin云平台的目标是向IT商店提供一系列的工具,以便IT商店可以更好地将应用程序与云计算相结合,期待这项新技术可以让大型IT商店更多的采用云计算。
Cittio公司认为,云端应用程序和构架的变化将是令人瞩目的,这样云计算本身向当今IT业务的命令和控制带入了新的风险。这意味着现存的网络和系统管理解决方案的变革也同样会引人注目。
同时,他们也认为在云端管理领域有三个主要的问题:第一,在云操作和终端用户的实现、管理以及 检测所带来的问题;第二,缺乏能够精确监测云弹性和资源可用性的新标准;第三,大部分的系统管理解决方案都依赖于各自独有的客户端技术或SNMP来进行性 能测量,所以它们之间缺乏安全传输数据的能力。
Cittio公司声称,Zeppelin项目就是为了解决这些问题而设计的,它提供了详细的云端评价、性能测量和审计功能,并提供了数据中心构架和其应用程序。
Zeppelin的特点在于,它可以远程部署,还通过了基于标准WBEM/CIM-XML和WS-Management接口访问数据的安全性保证。同时,Zeppelin还包括了一些开源系统上的实现,包括Linux、带有Project Kensho功能的Citrix XenServer和VMware。另外,Cittio公司启动了一项开源社区推动计划,该计划将与Zeppelin计划相辅相成。#p#
OpenNebula云平台
OpenNebula是开放原始码的虚拟基础设备引擎,它用来动态布署虚拟机器在一群实体资源上,OpenNebula最大的特色在于将虚拟平台从单一实体机器到一群实体资源。OpenNebula是Reservoir Project 的一技术,是欧洲研究学会发起的虚拟基础设备和云端运算的计划。
云平台OpenNebula
OpenNebula的目标是将一群实体cluster转换弹性的虚拟基础设备,且可动态调适服务器工作负载地改变,OpenNebula在服务器和实体机处设备间产生新的虚拟层,这个层可支持丛集的服务器执行和加强虚拟机的效益。
目前OpenNebula可支持XEN和KVM和实时存取EC2,也支持印象档的传输、复制和虚拟网络管理网络。
开源云平台:Nuvem项目
在这个深受开源影响的时代中,与云相关的项目层出不穷。Nuvem项目主要面向的是IaaS,它当前具有以下特性:
1、定义一个开放API,抽象出通用的云平台服务,从特定的私有云中解耦应用逻辑。
2、针对流行的云(如Google AppEngine、Amazon EC2以及Microsoft Azure)实现Nuvem API。
3、一开始关注于用户认证与授权、分布式缓存、数据存储、队列等,然后扩展到其他服务,如聊天、日志与调试等。
目前,还没有真正定义好开源API以抽象出通用的云平台服务。Nuvem试图围绕着开源云应用编程接口创建相关的社区,希望以此能够实现经过实践检验的开源机制,比如用户驱动的创新。
但是,据说向Apache所提交的libCloud与Deltacloud内容可能会废弃掉Nuvem文档,后者自从今年6月以来就没再更新过。但我们还是希望官方在开始Nuvem项目前能够进行澄清并将相关内容统一起来,这样每个人都能就单独、统一的开源API达成一致。
小结:曾经有不少专家认为云计算又将成为炒作的热刺,一片片浮云罢了。一段时间之后,它将随风飘散。但是,没有想到这片浮云如今正在从概念到落地,逐渐生根开花了,如今已经成为IT巨头必争之地。
这股云计算风潮正在席卷着社会的任何一个角落,正在通过“云平台”这种特殊的介质,向相信它的人迸发出令人“惊艳”的作用力:随需定制、自动化管理、低成本等。
云计算已经不再是一种简单的炒作,而被广泛地认为可以付诸于实际应用的服务或者产品。无论你是否相信“云计算”的真与假,是否成为传统软件的梦魇,毋庸置疑的是未来几年都将是云的世界。