QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

如何成功实施 OpenStack 和 CloudStack 项目

  • 2013-07-09
  • 本文字数:3255 字

    阅读完需:约 11 分钟

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

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

如何成功地启动 Openstack 云项目

实施 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。

查看原文链接: How to Succeed with an OpenStack or CloudStack Project


感谢马国耀对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-07-09 08:567858

评论

发布
暂无评论
发现更多内容

盲盒商城APP系统开发的软件特点和盲盒功能介绍

WDL22119

盲盒商城 盲盒开发 盲盒源码 盲盒H5开发 盲盒APP系统开发

react管理渲染问题详解【王道react】

恒山其若陋兮

React 6月月更

InfoQ 极客传媒 15 周年庆征文|容器运行时技术深度剖析

liuzhen007

容器 运维 热门活动 InfoQ极客传媒15周年庆

远程办公经验 | 社区征文

弑着去忘记う

初夏征文

云数据中心中的SDN/NFV应用

穿过生命散发芬芳

SDN网络 6月月更

循环结构语句

Jason199

js 循环语句 6月月更

存储引擎分析

工程师日月

6月月更

线程池的创建

急需上岸的小谢

6月月更

Sealem Finance-基于Web3的全新去中心化金融平台

小哈区块

学习笔记:插件化Activity之Hook点位

北洋

插件化 Andriod 6月月更

数的奥秘之幂数与完全平方数

未见花闻

6月月更

Tornado简介&&本专栏搭建tornado项目简介

孤寒者

Python tornado 6月月更

Web3生态去中心化金融平台——Sealem Finance

西柚子

数据库每日一题---第8天:超过5名学生的课

知心宝贝

数据库 程序员 前端 后端 6月月更

【Spring 学习笔记(九)】Spring IoC/DI注解开发之纯注解开发

倔强的牛角

Java spring Java EE 6月月更

ConcurrentHashMap 源码分析-ConcurrentHashMap与HashMap的异同

zarmnosaj

6月月更

远程办公经验分享 | 社区征文

Geek_ac6fb9

初夏征文

leetcode 130. Surrounded Regions 被围绕的区域(中等)

okokabcd

LeetCode 搜索 数据结构与算法

锁机制

卢卡多多

锁机制 6月月更

【sql语句基础】——增(insert)

写代码两年半

数据库 sql MySQL 数据库 6月月更

Android原生TabLayout使用全解析,看这篇就够了

yechaoa

android TabLayout 6月月更 material design

Sealem Finance打造Web3去中心化金融平台基础设施

股市老人

自动化测试系列

IT蜗壳-Tango

6月日更 6月月更

为什么使用 Golang 进行 Web 开发

宇宙之一粟

golang 6月月更

快手处置超过5.4万个违规账号:如何打击平台上的违规账号

石头IT视角

了解 Vue 生命周期钩子

devpoint

Vue Vue3 钩子函数 vue2 InfoQ极客传媒15周年庆

Sealem Finance打造Web3去中心化金融平台基础设施

BlockChain先知

细数十大信息安全原则

阿泽🧸

信息安全 6月月更

curl导入postman报错小记

红毛丹

Postman 6月月更

vue指令-6

小恺

6月月更

如何成功实施OpenStack和CloudStack项目_技术管理_Floyd Strimling_InfoQ精选文章