写点什么

如何成功实施 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:567996

评论

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

iceberg查询加速原理

聚变

腾讯大神为什么会对这份“redis深度笔记”如此爱不释手?

Java架构师迁哥

融云 CTO 杨攀:技术人员如何创业?

Yano

浅析“分布式锁”的实现方式丨C++后端开发丨底层原理

Linux服务器开发

redis zookeeper 分布式锁 Linux服务器开发 C++后端开发

重读《重构2》- 改变函数声明

顿晓

重构 4月日更

曾国藩:人生惟有常是第一美德

帅安技术

曾国藩 坚持 有常 天赋 成事心法

有道写作浏览器扩展实践

有道技术团队

大前端 浏览器 有道云笔记

推荐25种自媒体运营必备工具 (建议收藏)

科技猫

工具 网站 分享 运营 自媒体

微服务转型系列2:微服务转型的三大误区,避坑指南

BoCloud博云

微服务

勇夺桂冠!百度智能云获山东电力输电人工智能技术竞赛第一名

百度大脑

百度智能云

Nacos 2.0 性能提升十倍,贡献者 80% 以上来自阿里之外

阿里巴巴云原生

微服务 开发者 云原生 dubbo 中间件

交易所合约跟单软件搭建,火币合约跟单平台开发

Java该怎么学?阿里大佬呕心沥血之作,Java全线成长宝典,从P5到P8一应俱全

Java架构师迁哥

汽车之家基于 Flink 的数据传输平台的设计与实践

Apache Flink

flink

Coinbase上市,对加密市场将带来哪些影响?

CECBC

货币

一个极简的冲突管理工具

石云升

28天写作 职场经验 管理经验 4月日更 冲突管理

进公司不会用 Git 拉项目!第二天被开除?

Java架构师迁哥

Spark数据倾斜解决方案

大数据技术指南

spark 4月日更

Java开发9年经验,三轮技术面+HR面试成功砍下阿里巴巴Offer!

Java架构追梦

Java 阿里巴巴 架构 面试

中国数字人民币试点有序扩大至“10+1” 拜登政府正加强研究数字人民币计划

CECBC

数字货币

图查询语言的历史回顾短文

NebulaGraph

数据库 数据库设计 图数据库

区块链技术重新定义 物联网的物与物之间的交易

CECBC

发展空间

云原生技术及可观测实践

滴滴云

函数计算助力语雀构建稳定且安全的业务架构

阿里巴巴中间件

文档 企业架构和云服务 业务架构

你管这破玩意叫哨兵?

Java 数据库 redis 程序员 架构

Substrate 合约书之合约模型

Patract

智能合约 rust polkadot Patract Wasm

《彩食鲜 CTO 乔新亮:程序员如何从技术走向管理》(采访提纲)

这就是编程

【科创人】贝锐创始人陈宇晔:花生壳诞生自一次挫折,15年坚守有温度不作恶

科创人

云存储中不可不知的五个安全问题及应对措施

云计算

金融科技数据链的DNA

博睿数据

金融科技 博睿数据 数据链DNA

函数计算助力高德地图平稳支撑亿级流量高峰

阿里巴巴中间件

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