开源云框架:正在进行中的工作

灵活而快速的开源框架可以简化应用程序在云中的部署。但并不是每个人都适合。

以下是不断增长的开源平台即服务提供商列表,以及IT经理如何决定哪些技术最适合他们的组织。

当IT咨询公司OpenCredo准备在7个月内为一家大型保险承保人推出3个新应用程序时,它心中有3个目标:将开发时间从通常需要数年的速度削减下来,允许客户频繁更改,并构建一个能够处理不可预测的流量峰值的系统。

通过使用Cloud Foundry开源框架和其他开源软件,OpenCredo消除了“繁重的工作”,如配置虚拟机和调整存储容量,首席执行官Russell Miles说。该框架允许开发人员在本地编写代码,与客户端共享代码,并自动化应用程序组件的集成、测试和部署。

Miles说,除了其他优势外,CloudFoundry通过添加更多实例而不停机,使应用程序更易于扩展。由于它与其他开源软件的协作方式,新功能可以在几分钟而不是几小时内添加。

即使有了这些好处,像cloud Foundry这样的开源云框架仍在发展中。许多框架只管理物理服务器或独立应用程序,导致客户需要更复杂的功能来创建自己的框架。然而,它们提供了引人注目的价值,因为它们掩盖了云计算设置的复杂性,而开源模型是实现这一点的一种有吸引力的方式。

了解基础知识

术语“框架”用于松散地描述从开发工具到中间件再到数据库服务的各种集合,这些集合简化了云应用程序的创建、部署和管理。在服务器、存储和网络级别工作的是基础设施即服务(IaaS)框架。在更高级别的应用程序上运行的是平台即服务(PaaS)框架。

最流行的IaaS框架包括OpenStack、Eucalyptus和Ubuntu云基础设施。Citrix最近宣布,它将把以前专有的CloudStack IaaS平台作为开源Apache项目的一部分。Gartner分析师Lydia Leong在她的博客中写道,这是一个“大新闻”,因为CloudStack比“不稳定”和“漏洞”的OpenStack更稳定,更适合生产。

流行的PaaS框架包括Heroku、Cloud Foundry(由VMware支持)和Red Hat的OpenShift,后者构建在Red Hat Enterprise Linux的基础上,通过使用“cartridge”支持各种语言和中间件。

客户经常使用多个框架和相关的工具。Opscode联合创始人杰西·罗宾斯(Jesse Robbins)表示,其中一个例子是使用OpenStack提供虚拟机,使用Opscode Chef创建描述如何配置服务器的“菜谱”。在线备份供应商Backupify的首席技术官Matt Conway说,平台在“堆栈”上运行得越高,客户必须做的工作就越少,但他们对基础架构组件的控制也就越少。

除了简化云创建,大多数框架都声称更容易在公共和私有云之间迁移云部署,以获得最低成本和最佳服务。例如,Eucalyptus打算提供一个与Amazon EC2兼容的API,并运行在Ubuntu Linux(支持Ubuntu云的Linux版本)上,“因此,为EC2编写的应用程序应该可以移植到自己运行Eucalyptus的数据中心,”Conway说。2020欧洲杯预赛Deltacloud是由Red Hat创建的一个“云API”,它可以将你的应用程序从像Amazon这样的供应商那里抽象出来,它可以将你的请求代理到实际的Amazon API。”

对于在线存储供应商CX,OpenStack提供了使用亚马逊以外其他云供应商的灵活性,“如果[亚马逊]的服务变得太贵或不合适,”CX CTO Jan Vandenbos说。

埃森哲(Accenture)高级系统和技术集团高管安东尼•罗比(Anthony Roby)表示,“框架”一词经常被误用,Eucalyptus或OpenStack等产品“根本不是框架”,而是“可以扩展或用于构建自己的基础设施云的产品”。然而,大多数观察家将框架定义为用于为用户创建基于云的服务的软件构建块。

三个步骤

选择开源框架

1.评估您需要“框架”的哪些组件,以及减少工作负载所需的级别(即基础设施、平台或两者)。

2.评估你需要的支持和专业服务的水平。

3.检查您可能想要使用的特定云提供商的支持情况,以及您的平台是否支持应用程序可能需要的附加服务(例如复制)。

——罗伯特·l·席尔

开源的作用

开源项目包括由非营利性基金会指导的“纯”开源开发计划,这些基金会与任何商业供应商都没有关系,也包括那些从领先公司获得资金、营销和开发帮助的项目。

Canonical为开源工作提供支持,并在Ubuntu中发挥主导作用。Canonical云计算主管凯尔·麦克唐纳(Kyle McDonald)表示,“从《财富》50强到众多中小企业和初创公司”,Canonical都对开源感兴趣。他表示,该公司的OpenStack业务大部分来自《财富》1000强企业,它们寻求降低软件成本。

PaaS框架提供商WSO2的技术宣传副总裁Chris Haddad说,在过去的五年里,“开源被认为是比私有软件更安全的选择,这是一个巨大的变化”。随着开源软件质量的提高,以及主要供应商的支持,“大型商业组织并不将其视为威胁,”他说。事实上,由于经济的不确定性,“如今把你的农场押在一家公司上并不被视为一个好决定,”他补充道。

康威说,开源贡献者“编写软件是因为他们喜欢这样做”,而不是像开发人员那样,为了满足企业的目标而工作,而企业的目标往往受经济的起伏影响。

虽然大多数开源产品的早期用户,如Chef,都是向其他客户销售服务的云提供商,但Robbins表示,在银行、大型媒体公司和其他正在构建自己私有云的组织中,他正在“看到一个非常快的转变,在企业中非常迅速地被采用”。

不过,红帽云业务部门产品管理和营销高级总监Bryan Che表示,大多数用户还没有将关键应用程序转移到云上,因为他们没有必要的工具来提供适当的IT监督和安全。他说,红帽的OpenShift将帮助满足这些需求,部分是通过利用红帽企业Linux中已经存在的安全机制。

道富银行从不直接从网络上获取开源软件,而是通过可信任的合作伙伴来克服安全问题,首席架构师凯文·沙利文说:“我们可以从他们那里获得支持结构和软件。”此外,他说,该公司还仔细检查合同,以确保遵守许可条款,并扫描所有开源软件的恶意代码。

Haddad说,WSO2 Stratos已经通过产品满足了这些需求,不仅支持应用程序开发和部署,还支持集成、规则、业务流程管理、治理、复杂事件处理和身份管理。

案例研究

道富和备份编写自己的云框架

当市场上没有一个云框架能满足他们的需求时,金融服务巨头道富银行和在线备份提供商Backupify各自编写了自己的云框架。

道富银行首席架构师凯文·沙利文(Kevin Sullivan)说,2009年开始将框架视为更有效地利用其全球数据中心的一种方式,但发现大多数框架都只专注于“以某种抽象的方式”提供和控制2020欧洲杯预赛虚拟化服务器。他们无法简化更复杂的任务,例如不断更新其800个应用程序,提供保护客户数据所需的身份验证级别,以及发现和重用State Street已经开发并希望转移到其私有云的从安全到数据仓库的服务。

Sullivan说:“我们希望从虚拟机的供应中获得更高的层次”,通过一个“位于应用程序和基础设施之间”的平台,随着业务需求的变化,更容易在数据中心之间移动应用程序和服务。2020欧洲杯预赛此外,“因为我们在世界各地有3000名应用程序开发人员和800个应用程序,我们正在不断地向环境中引入新的代码,”他说。“没有一个云框架处理这些问题。我认为市场上还没有足够成熟的产品来满足我们的需求。”

因此,Sullivan说,这家金融服务公司创建了“我们自己的内部服务注册中心,在那里我们存放了描述我们服务框架中所有不同类别数据的所有元数据。”他解释说,重用这些服务是更快开发新应用程序和提高盈利能力的关键。

他说,相对于专有框架,他仍然对开源抱有“偏见”,这不仅是因为软件成本较低,还因为它易于集成新功能。Sullivan说,他正在继续评估开源框架,并尽可能使用其中的组件。

备份CTO Matt Conway希望在框架和基础设施之间实现比开源软件更紧密的集成。因此,康威“断断续续”工作了五年,他编写了自己的开源“橡胶”框架,用于管理Ruby on Rails应用程序在亚马逊弹性计算云(EC2)上的多实例部署。他说,这是管理EC2上存储的应用程序数量和数据量以及足够快地提供和取消提供服务的唯一方法。

——罗伯特·l·席尔

可疑的好处吗?

一些观察家质疑开源框架是否真的提供了他们所说的好处——比如在云提供商之间的可移植性。罗比说:“Eucalyptus复制了一些Amazon api,但如果你在Amazon上使用Eucalyptus不支持的东西,那你就不走运了。”“同样,如果你试图运行Java应用程序并使用Spring(应用程序开发)框架,你会得到相当多的支持。”但是,一旦客户开始使用无法通过Spring访问的特性,比如数据存储,这些特性可能无法在不同的提供商中正确运行。他说,如果没有移动底层服务和应用程序代码的能力,“就没有任何可移植性。”

有了开源,理论上,如果供应商不能或不愿意,用户(或一组用户)可以获取源代码并对其进行调整以满足自己的需要。然而,罗比说,很少有用户愿意这样做。“如果你是一家大型电信公司,也许你对修改代码感兴趣……但大多数公司都不会这么做。他们最不希望的是拥有自己的特定产品变体”,他们必须支持,同时失去了利用社区中其他人升级的能力,他说。

创建一个独特的开源“分支”通常不是你想做的事情,“除非你绝对需要”,Conway同意,并指出如果没有其他人的贡献,这个分支可能会停滞不前。

很多人都在谈论开源,但像微软Azure或Salesforce.com的Force.com这样的私有框架可能是更好的选择,“如果你有特定的需求,而且该平台已经有内置的[元素]使工作更容易,”全球软件开发公司Persistent Systems云技术业务高级主管施拉姆·纳塔拉杰(Shriram Nataraj)说。“如果你已经是Salesforce的客户,想要将部分工作转移到不同的平台上,Force.com对你来说是一个非常好的选择。如果你已经是Office 365的用户,并且在[微软的。net框架]上有工作负载……转向微软Azure是有意义的。”

适合开源框架的应用往往包括由熟悉更新的开源工具的开发人员构建的试验性云应用程序。罗比说,其他可能的候选者包括大学或研究实验室等组织部署的应用程序,这些组织拥有学习和使用这些新技术的技术技能,以及/或对大型数据库或高级分析等专门功能的需求。

cloud Foundry云计算和应用服务副总裁Jerry Chen表示,使用开源框架部署的典型应用包括Web和社交应用,以及移动或面向客户的网站。当组织需要快速部署应用程序并根据需要上下伸缩时,这种框架也很有用。

12 第1页
第1页共2页
工资调查:结果在