开源云框架在路上 灵活快速优势多

云计算
灵活快速的开源框架可以简化云计算中的应用程序部署,但它可能并不适合于所有企业。即使有很多好处,开源云框架目前仍然处于演进过程中。

   当IT咨询公司OpenCredo准备在七个月内为一家主要保险商推出三个新应用程序时,它为自己设定了三个目标:缩短开发时间,允许客户频繁变动,以及建立一个能够处理不可预知流量高峰的系统。

  首席执行官Russel Miles表示,通过使用Cloud Foundry开源框架以及其他开源软件,OpenCredo解决掉了“一些繁重的工作”,例如配置虚拟机和调整存储卷的大小。该开源框架可以让开发人员在本地编写代码,与客户共享,以及自动化集成、测试和应用程序组件的部署等操作。

  除了上述优势外,Cloud Foundry还可以更简单的扩展应用程序,而无需停机时间。此外,基于该框架与其他开源软件的合作方式,新功能可以在几分钟内添加,而不需要几小时。

  即使有这么多好处,像Cloud Foundry这样的开源云框架仍然处于演进过程中。很多框架只能够管理物理服务器或者单机应用程序,导致需要更先进功能的客户不得不创建自己的框架。然而,这些框架提供了很高的价值,它们能够掩盖云计算设置的复杂性,并且开源模式很具有吸引力。

  了解基础知识

  “框架”一次用来描述简化云应用程序的创建、部署和管理的任何事物,包括从开发工具到中间件到数据库服务等。在服务器、存储和网络层面的是基础设施即服务(IaaS)框架,而在较高水平应用程序运行的是平台即服务(PaaS)框架。

  最流行的IaaS框架包括OpenStack、Eucalyptus和Ubuntu云基础设施。Citrix近日宣布他们正在将之前专有的CloudStack IaaS平台作为开源Apache项目的一部分。Gartner分析师Lydia Leong表示这绝对是“大新闻”,因为与“不稳定”和“漏洞百出”的OpenStack相比,CloudStack更加稳定,且更适合生产过程。

  主流PaaS框架包括Heroku、Cloud Foundry(由VMware支持)以及Red Hat的OpenShift--- 基于Red Hat Enterprise Linux,支持各种语言和中间件。

  Opscode联合创始人Jesse Robbins表示,用户经常使用多种框架和相关工具。例如使用OpenStack来配置服务器,使用Opscode Chef创建“食谱”来描述服务器应该如何进行配置。在线备份供应商Backupify首席技术官Matt Conway表示,平台运行的“堆栈”越多,用户必须做的工作就越少,但是同时他们对基础设施组件的控制也就越小。

  除了简化云端应用程序的创造,大多数框架声称它们能够帮助在公共云和私有云间更简单地移动云部署以最低的成本获得最好的服务。例如,Eucalyptus提供一个Amazon EC2兼容的API,能够在Ubuntu Linux上运行,“这样为EC2编写的应用程序就能够移植到运行Eucalyptus的用户自己的数据中心,”Conway表示,“Deltacloud是Red Hat发起的开源项目,旨在创建一个‘云API’将你的应用程序从供应商(例如亚马逊)提取出来,并且它会将你的请求发送到真正的亚马逊API。”

  对于在线存储供应商CX公司而言,OpenStack提供了使用除亚马逊外其他云供应商的灵活性,CX公司首席技术官Jan Vandenbos表示:“如果亚马逊的服务变得过于昂贵或者不适合的话,我们就可以选择其他供应商。”

  Accenture公司高级系统和技术团队高管Anthony Roby表示,“框架”这个词经常被滥用,Eucalyptus和OpenStack等产品“根本就不是框架”,而是“你可以扩展或者用来建立你自己的基础设施云的产品”。然而,大多数观察家将框架定义为用于为用户创建基于云的服务的软件构建块。

  开源的作用

  开源项目包括非营利性组织发起的“纯粹的”与任何商业供应商都无关的开源项目,以及从领先供应商获得资金、营销和开发帮助的项目。

  Canonical公司云业务主管Kyle McDonald表示,为Ubuntu提供开源支持的Canonical开始吸引“财富50强以及各种中小企业和初创公司”对开源的兴趣。该公司大部分的OpenStack业务来自希望降低软件成本的财富1000强企业。

  PaaS框架供应商WSO2公司副总裁Chris Haddad表示,在过去五年中,“人们对于开源的认识有着翻天覆地的变化。”随着开源软件质量的提升,以及来自大型供应商的支持,他表示,“大型企业并没有将开源产品视为一种威胁,事实上,由于经济的不确定性,将你的公司交给另一家公司并不是一个很好的决定。”

  Conway表示,与满足特定经济目的而开发应用程序的企业开发人员不同,开源贡献者“编写软件是因为这是他们喜欢做的事情”。

  虽然大部分开源产品的早期用户(例如Chef)是向其他客户出售服务的云供应商,Robbins表示,他看到目前在银行、大型媒体公司和其他正在建立自己私有云的企业中,开源产品正在快速地普及开来。

  然而,大多数用户尚未将关键应用程序移动到云中,因为他们并没有提供适当IT监管和安全的工具,Red Hat云业务部门产品管理和营销高级主管Bryan Che表示,Red Hat的OpenShift将帮助满足这些需要,通过Hat Enterprise Linux内已经存在的安全机制。

  State Street解决安全问题的办法是从不直接从网上获取开源软件,而只通过可信赖的合作伙伴来获取开源软件,总架构师Kevin Sullivan表示,“我们可以获得支持结构以及软件。”此外,他表示,该公司还会仔细检查合同以确保遵守许可协议的条款,并且会扫描所有开源软件以排除恶意代码。

  Haddad表示,WSO2 Stratos已经解决了这些需求,他们使用的是不仅支持应用程序开发和部署,而且还支持集成、规则、业务流程管理、治理、复杂事件处理和身份管理的产品。

  值得怀疑的好处?

  一些观察家质疑开源框架是否真的能够提供他们声称的优势,例如云供应商间的可移植性。“Eucalyptus复制了一些亚马逊API,但是如果你使用的是亚马逊中Eucalyptus不支持的功能,你就没办法了,”Roby表示,“同样的,如果你想运行Java应用程序和使用Spring(应用程序开发)框架,你将得到很多支持。”但是,一旦客户开始使用数据存储等无法通过Spring访问的功能,这些功能将无法在不同供应商中正常运行。如果无法移动基础服务以及应用程序代码,你根本无法获得这种可移动性。

  对于开源,用户(或者一组用户)在理论上可以提取源代码,并根据自己的需求进行调整。然而,很少有用户愿意这样做,Roby表示,“如果你是一家大型电信运营商,你可能会考虑更改代码,但是大多数企业都不会这样做。他们最不想要的就是拥有某产品的特定变体,他们需要自己支持,而且不能利用社区其他人的升级。

  创造一个独特的开源“产品”通常不是大多数企业想要的,除非不得已这样做。

  全球软件开发公司Persistent Systems云技术实践高级主管Shriram Nataraj表示,围绕开源存在各种言论,“如果你有具体需求并且平台具有内置元素可以使你的工作更简单”,那么你可以考虑使用Microsoft Azure或Salesforce.com的Force.com等专有框架。“如果你已经是Salesforce客户,想要将部分工作负载转移到一个不同的平台,Force.com将是一个不错的选择。如果你已经是Office 365客户,并且有工作负载在微软的.Net框架,那么则可以考虑Microsoft Azure。”

  能够与开源框架良好配合的往往包括(由喜欢较新开源工具的开发人员开发的)实验性云应用程序,还有大学或研究实验室等开发的应用程序,大学或实验室拥有学习和研究这些新技术的技能,或者对专门功能(例如庞大数据库或高级分析)有特定需求。

  VMware云和应用程序服务副总裁Jerry Chen表示,使用开源框架开发的典型的应用程序包括Web和社交应用程序,以及移动或者面向客户的网站,当企业需要快速部署应用程序以及根据需要扩展应用程序时,这些开源框架页也很有用。

  老旧应用程序往往不会被考虑在列,这些应用程序需要的硬件或者软件可能不受Web支持。“虽然能够将很多数据中心应用程序从本地服务器迁移到虚拟云服务器,但投资回报率并不那么明显,”软件和服务供应商Black Duck Software公司高级主管Bill Weinberg表示,“可能存在潜在的安全问题、吞吐量瓶颈和可用性等问题。”

  对于复杂的应用程序,OpenStack和Cloudscale比Eucalyptus更加值得选择,Nataraj表示,因为它们能够更好地隐藏网络的复杂性。例如,对于一个需要用户“从不同IP范围连接”的应用程序,用户可能需要编写自定义代码来使用Eucalyptus,但是对于OpenStack,实现这些网络连接所需要的“交换机”已经存在。

  Nataraj表示,参与开源项目的开发人员的数量和质量同样可以说明该项目的质量如何,如果涉及来自多个公司的开发人员,供应商锁定将不太可能是一个问题。

  Roby建议应该侧重于供应商的承诺水平,而不是社区的承诺水平,“这些成功的产品是由小部分人开发的,社区很大程度上是提供反馈,也许还做测试或者提供文件。”

  Miles还警告说:“如果这些公司都没有准备依靠这些产品获得收入,那么这些公司随时可能撒手走人,而产品将没人支持。”

  一些开源开发人员对其软件制定的非常规许可条款,例如要求“软件必须用于好的目的,而不是恶意目的”,将会让企业法律部门皱眉头。此外,更严重问题是要求公司与社区其他成员共享任何改善功能的许可条款,这意味着企业可能需要向竞争对手暴露其“最佳做法”。

  大多数受访专家都表示,主流许可条款(例如Apache的条款)并没有这些麻烦的要求。Conway表示,其工作人员的技能与他与其他人分享的代码一样重要。他还指出,开源让他可以利用其他人做出的改进。

  开源云框架能够帮助企业快速在私有云和公共云间部署Web应用程序,以满足不断变化的业务需求。但是要获得这些优势,IT架构师必须从不同供应商的框架中进行筛选,看看他们的框架是否能够提供他们需要的易用性来满足他们特定的需求。

责任编辑:鸢玮 来源: 网界网
相关推荐

2012-05-10 10:00:43

2021-10-08 11:56:00

VMware

2024-02-21 08:16:05

NeMoSpeech AI大模型

2015-02-11 10:21:07

JavaScript

2009-06-19 09:52:46

Acegi安全框架Spring框架

2019-07-17 20:31:04

开源技术 趋势

2024-03-01 09:09:56

云计算架构应用

2023-08-01 07:25:38

Expresso框架API

2019-09-02 14:51:33

2010-05-25 09:33:18

云计算第二届云计算大会

2024-10-15 17:28:05

2023-07-06 07:45:07

Log4Net.NET

2015-01-23 11:23:03

云计算微软Orleans

2021-08-13 08:24:35

Vue开源动态路由

2017-07-06 11:08:12

开源云计算EasyStack

2012-04-17 10:29:55

开源云计算

2021-07-13 17:30:19

AI Facebook人工智能

2014-11-04 17:45:55

HP Helion惠普OpenStack

2012-07-31 16:37:40

开源云计算

2009-07-01 19:21:00

点赞
收藏

51CTO技术栈公众号