技术分析:为何云计算与开源密不可分?
中国IDC圈7月2日报道:没有互联网开源就不复存在,因此开源与云计算联系在一起或许是不可避免的趋势。
这还要从头说起。自云计算兴起之初,软件即服务提供商就倾向使用LAMP堆栈(或者类型的形式)来交付网络应用软件。在过去几年间,开源云项目的数量也发生了急剧增长。
根据开源专业知识丰富的布莱克.德克的说法,开源云项目的数量从2005年的寥寥无几增长到2010年底的470种。虽然这个数量在50万种应用软件项目中所占的比例非常小,但是开源云项目的影响力已经大大超过了他们的数量本身。
以最知名的两大开源应用软件为例。去年由Drupal的发明者Dries Buytaert创建的Acquia推出了Drupal Gardens的测试版,这是一款开源内容管理系统的托管版。另一个是世界上最成功的商用开源公司之一SugarCRM从一开始就推出的软件即服务版本。
更有趣的是开源经过实践的证明是一种可以满足云挑战创新的引擎。根据专门从事开源融资的北桥创投公司的Michael Skok的说法,妨碍用户接受云的主要原因是来自厂商锁定的高压。OpenStack和Deltacloud是两大最著名的能减轻这种风险的项目。
OpenStack的目标是提供一套标准化的基础架构即服务计算和存储平台,因此如果有足够的公有云提供商能接受这种解决方案,用户就能轻松的实现工作负载在提供商之间的转移。同时,企业用户能使用OpenStack来构建和运行私有云,在用户提供商之间创建类似级别的兼容性,这样从一定程度上能让云的应用变得更见简便。目前OpenStack已经得到了包括Rackspace, NASA, 戴尔,思科系统和Canonical在内的超过50家企业的支持,如今OpenStack在企业级用户中已经得到了广泛的关注。
由红帽公司研发和Apache管理的Deltacloud是一种开放REST的应用编程接口,得到了包括Azure, EC2, GoGrid和Rackspace在内的诸多云提供商的青睐。用户可以开发内部云,使用Deltacloud来管理提供商内部的实例,同时不受提供商应用编程接口变化的影响。
分布式高速缓存系统Memcached几年前在得到BSD的授权后推出,目前主要供Facebook, Twitter和YouTube等类型的用户使用。由Terracota开发的Ehcache目前的版本是Apache 2,是用于虚拟化数据库的领先JAVA解决方案,拥有成百上千的生产型配置。
最后要介绍的是Apache Hadoop,一种用于谷歌MapReduce大规模数据分布式应用软件的软件框架。Hadoop是采集大规模分散数据(从网络点击量到安全事件日志)的创新先行者。虽然Hadoop不受云的限制,但是肯定是完美的爆发式应用软件。举例来说,亚马逊的弹性计算云推出的一款名为亚马逊弹性MapReduce的Hadoop框架;上传数据,使用弹性计算云服务器的得分,不用为基础架构付费就能获得结果。
开源厂商在过去几年里经历了各种考验和磨难,许多公司苦苦维持着企业的销售,或者放弃软件,逐渐衰落或者被收购。对某些企业来说,云是帮助他们通过订阅服务销售来重获新生的新方法。更重要的是,随着开源开发商逐渐解决云所带来的技术和业务方面的挑战,云势必将传统的开源合作模式提升到新的阶段。