现在的位置: 首页 > 自动控制 > 科技·视野 > 正文

如何成功实施OpenStack和CloudStack项目

2016-04-03 06:55 科技·视野 ⁄ 共 3530字 ⁄ 字号 暂无评论

近年来,Openstack与CloudStack项目的成功有目共睹,比如思科、红帽子基于OpenStack的发行版,以及Citrix将CloudStack贡献给Apache软件基金会的同时发布的Citrix CloudPlatform。

Puppet Labs Zenoss都参与了这些开源云项目,并且愿意分享他们的观点,为计划实施或已经实施开源云项目的组织提供参考。所有成功实施的开源云项目的共同点是有深厚的技术背景积累、恰当的实施时机以及事先的筹划。

如何成功地启动Openstack云项目

如果选择自建,需要考虑的最重要因素是:自身是否拥有安装、排除故障、定位可能发生的问题的技术能力。OpenStack是一个API抽象层,它将计算、网络、存储资源的管理功能抽象为API并提供给用户。运行OpenStack环境的公司需要多个层面的技术知识,比如底层系统、网络故障排除的知识、以及包括精通python在内的软件层面的知识。虽然OpenStack已经封装了管理计算资源的细节,但是这些资源依然需要人来管理。

另外需要考虑的是,是否需要根据应用场景进行定制扩展。OpenStack的扩展性很好,但是扩展工作需要许多Python开发经验并且能够与OpenStack中的各种项目交互。

如果技术不是你的核心业务关注点,你或许应该考虑采用以下三种形式之一购买OpenStack:发行版(从那些附带技术支持的公司购买发行版[如Cisco,RedHat,Nebula])、应用(购买预安装完成的硬件来运行完整的OpenStack环境[如Morphlabs])、购买咨询(Mirantis)。

如何成功启动CloudStack云项目

尽管CloudStack更像一个“移交钥匙”解决方案,但是构筑CloudStack与构筑OpenStack并非完全不同。CloudStack管理组成公有云、私有云、混合云基础设施的网络、存储和计算节点。同时CloudStack还处于Apache软件基金会的孵化项目阶段,而且只是刚刚发布了Apache CloudStack4.0版本。

如果你打算自己构筑CloudStack,Apache CloudStack社区提供了极好的文档和技术经验。另外,CloudStack的安装由管理服务器和云基础设施构成。管理服务器包含了web接口、API、管理以及提供了配置CloudStack云的单个节点。同时云基础设施可以嵌套并可分成区域、箱(pods)、集群。在安装CloudStack前熟悉CloudStack的术语、安装、管理是非常重要的。

CloudStack像VMware Nicira NVP和Trend Micro SecureCloud那样通过插件提供扩展。为此,CloudStack提供了Java语言的插件API并暴露了一个预定义功能集。因此,要写插件(还有一些平台和代理的API),你必须精通Java。当然,并非所有人都需要这样,你还可以购买Citrix CloudPlatform,由Citrix的认证伙伴CloudStack提供技术支持。另外,Citrix提供了其它的增值解决方案,比如CloudPortal、XenServer、NetScaler云网络。

已经开始?最大化利用开源云部署方案

如果你已经开始部署OpenStack或CloudStack云项目,要获得成功你还需要记住许多事情。许多组织所犯的最大错误是低估了开源项目的优点——代码的开放仅是其很小的一部分价值。除了代码开放,开源软件还有其他方面的优点——设计、已知问题和开发过程也是透明的。

CloudStack与OpenStack未来特性的设计以及项目路线图也是完全开放的。因此你可以清楚地了解项目的演进方向并做出长期规划。这可以帮助你定义和规划项目的未来,从而满足你的需求。

积极地参与到开源社区可以让你与其他组织的人建立关系,也许他们正在解决与你正在解决的相同的问题。这种联系对分析最佳实践和排除故障都非常有帮助。

如何从实施开源云中受益,我们还有其他的小建议:

  • 跟踪变化和新版本。由于这些项目的快速开发,跟踪更新和bug修改比跟踪成熟、更新慢的项目更困难。比如,OpenStack有基于时间的发布流程——每6周发布一个新版本。你可能有充分的理由不更新到最新版本,但是知道有哪些改变和更新将有利于你以后做出决策。许多用户都会为解决相同的问题贡献出滞后的代码,而这些代码去却未跟进更新和信息,这意味着你只好依赖于内部的迂回方案,或者错过一些重要的新特性。
  • 成为社区的贡献者。我推荐将那些非关键业务点回馈社区——即使你正在开发基于OpenStack或CloudStack产品。如果一切都是自家的,那只有你的组织能够维护它。你的时间更应该花在关键业务上,而非维护那些针对你的云部署而做出的特有改变。多向社区贡献代码能够极大的减少维护代码的负担。

有助于构筑、维护工作的工具

构筑、维护OpenStack和CloudStack,你需要一些关键工具。同时,你还肯定想使你现有工具与之保持一致,从而简化IaaS环境的运维。

运行在裸金属上操作系统、Hypervisor以及penStack软件,需要Puppet Labs这样的供应商提供的资源和配置管理软件。这个提供OpenStack或CloudStack基础设施的裸金属解决方案,能够提高往云中增加新的计算资源的效率。

配置管理对确保部署的始终可靠以及将应用快速部署到IaaS层,都是非常重要的。Puppet实验室已经加入OpenStack和CloudStack社区,他们提供自动化工具,用以构筑IaaS环境和在这些环境中自动分配虚拟机。

监控和度量对于了解环境的性能和可用性、以及确保服务的可靠都是必不可少的。Zenoss 为OpenStack和CloudStack提供了监控套件ZenPacks,它可以集成到Puppet之类的解决方案中,从而实现自动故障停机以及按需扩容减容。服务保障功能让IT部门能够管理服务而非单个组件。以上这些对于OpentStack或者CloudStack都是必须的,它们让IT运营能够看到基础设施内部的复杂和动态的关系。

成功的开源云实施项目是这样的

衡量OpenStack或CloudStack实施成功的最显著标志是其是否能够满足业务目标。虽然有很多让人印象深刻的技术架构,但是衡量成功的标志不会改变。OpenStack在生产上最近的成功案例有Cisco使用OpenStack整合WebEx的基础设施以及Comcast采用Cisco提供的OpenStack产品。

同时,CloudStack正助力于许多世界级的电信和科技公司,如BT、中国电信、KDDI、NTT、Nokia和Datapipe等。

最后一条建议

如果你正在认真考虑OpenStack或CloudStack,并且有专门的IT团队付出时间并掌握必须的技术,我们强烈推荐参加会议,以更好地理解技术以及其他人是如何使用的。在开始项目之前了解当前用户的使用情况绝对是个明智的选择。参入社区并贡献代码以及必要时获取帮助,那么在开源云实施上你就迈出了成功的一大步。

关于作者

Dan Bode 是Puppet Labs的集成专家。他作为咨询师和软件开发者在科技工业界工作了将近10年。过去四年他花费大量时间构筑了基础设施自动化解决方案并且教授人们如何使用Puppet。它限制工作在Puppet实验室的业务开发部,在那里他研究技术,并思考如何通过集成Puppet提供价值。

Puppet实验室的IT自动化软件能够使系统管理员实现云计算企业级的运行敏捷性和效率,从百余节点的规模到上万节点的云。Puppet正在用于包括Twitter、Yelp、eBay、Zynga、JPMorgan Chase、美国银行、Google、迪士尼、Citrix、Oracle、Viacom等上千家公司。

Floyd Strimling 是Zenoss的社区与技术推动业务的副总裁。Floyd已经在云计算/自动计算(以及之前)、数据中心自动化、虚拟化、网络以及安全领域工作10多年。在Zenoss之前,Floyd是AlterPoint/Versata的首席技术测量师。 Floyd的推特帐号是:Twitter@PlatenReport.

Zenoss是物理的、虚拟的、基于云的基础设施管理软件的领先供应商。世界各地的35000多个组织部署了Zenoss来管理他们的网络、服务器、虚拟设备、存储以及云基础设施,获得IT运维的完整的可见性和预见性。客户包括Rackspace、VMware、Hosting.com、LinedIn、Motorla和SunGard。

给我留言

留言无头像?