OpenStack为用户带来了多个好处,所以不难理解用免费的开源工具自行构建云这个概念为何吸引众多公司企业。然而,谁要是想启动OpenStack项目,就应切合实际。我们Mirantis公司在构建并部署OpenStack云环境方面有着多年的经验,见过许多痴心妄想――这会导致不切实际的期望。下面这十个步骤将确保你往正确的方向迈进。
我们经常听到这样的话:“我们为什么需要为云立预算?我们只要借助软件库部署代码就行了。又没有许可证费用。”
这最后一句话是对的。运行OpenStack根本不需要许可证费用,但开源软件根本不会凭空出现,对于像OpenStack这么庞大而复杂的项目来说更是如此。成百上千的人受雇努力改进代码,而代码在不断变化,所以某一个组件的最新版本需要引入其他各个组件的最新版本。
这里的问题在于,最新代码总是不太稳定,而推出关键修正版的步伐取决于社区,而不是取决于你。你需要请人来解决代码缺陷,而人力需要花钱。因而,开源代码在任何时间都是免费的,但是它需要预算和专门的资源。
如果你的整个云规模足够小,你的笔记本电脑上就装得下,你也许能够自行搭建。然而如果你考虑搭建一个大中型云,那么这个项目需要牵涉好多人。大多数公司部署云出于并不简单的原因;你要明白其他每个人需要什么,而不是光想着自己需要什么,那样才能做好这项工作。
将你的使用场合明确记入文档,那样你就能搞清楚是需要公有云、私有云还是需要混合云。你的工作负载具有多租户、长时间运行、短时间运行、专门、暂时、稳定、突发等特点,还是说上述特点同时具备?可能云根本就不是解决你问题的办法。看一下遗留的应用程序。它们是属于云,还是需要继续驻留在现有的基础设施上?这些决定都不是在真空中就能做出的。
你可能认为,每个人都明白云计算这个术语,但是有必要明白六大要素:谁、什么、为何、何时、何地以及如何。
不妨考虑我们在一次规划会议中听到的下面这句话:“我们构建了一项服务来支持该服务,但是我们在服务级别方面遇到问题后,我们就调用服务。”或者看一下OpenStack论坛上关于“类型”这个单词实际含义的种种帖子。
花时间了解你的用户所指的实际意思,因为根本不存在共识,哪怕常用词方面也是如此。
COBOL编程员仍找得到工作有其理由。遗留应用程序根本不会消失;这就是现实。最近,一名超狂热的系统管理员告诉我们:“我们准备构建一个云,把一切系统都迁移过去。”也许这行得通,但不会马上行得通。一些遗留系统(比如某些数据存储应用、事务应用、财务应用和金融应用等系统)根本还没有准备好迁移到云端,要是业务规则还没有完备的说明文档,更是如此。
一些人认为,迁移到云端时,只要做好负载均衡方面。这一个谬见源自这种观念:以为云就是个特大路由器,只要将无状态流量转到传输起来最快的地方。想一想你要将哪些工作负载迁移到云端。是开发测试环境吗?你能够增加或减少资源吗?在紧急情况下,你能关闭它吗?你需要单一组件还是需要多个组件?在大多数情况下,你根本无法通过克隆其组件来扩展应用程序;不是所有相关服务都能在副本之间保持一致性,除非它们一开始就采用了这样的设计架构。
在OpenStack中,相比传统环境下,应用程序对它们运行在其中的平台所实施的控制权要大得多。这表明操作人员与开发人员之间的关系发生了转变,两种角色需要相辅相成。
操作人员用OpenStack构建了云,那样开发人员就能更容易使用基础设施,但这并不意味着他们抢占各自的角色。他们需要认真地为开发人员提供让对方取得成功所需的刚刚好的选择。开发一系列服务,但又不给予对方自由支配权。他们还需要让开发人员掌握更多的专长,以便合理地设计和运作解决方案。
我们经常听到:“我们的人员拥有技能。OpenStack就像Linux。”当然,如果贵企业拥有众多开源专家,熟悉IP网络、虚拟机管理程序资源管理、存储冗余及优化、开源管理、安全及加密、驱动程序优化、分布式应用架构以及涉及OpenStack的其他许多技术,那你自然不用发愁。不过,你很有可能缺少这些技能当中的一项或多项,你的人员需要知道这一点。
谁都会使用Linux,但不是每个人都是内核工程师。你能成为无所不知的开源专家,但并非一朝一夕就能练就。
“云带来了高效率。它会收回成本。”看看这能不能通过首席财务官那一关。
你很有可能会需要新硬件,而这不会是轻巧便宜的系统。聪明的员工又不会白白为你打工。如果员工不知道需要掌握的知识,你需要对他们进行培训。另外,你附近还有一个空置的水冷数据中心吗?
你可能还需要一种新的商业模式。就贵公司目前的基础设施而言,其投入乃是基于之前对于各个职能部门、各个业务部门将如何利用它的假设,而这些假设当前可能已不复准确。你用户从哪里搞到支持云的资金?
我们经常发现许多公司在使用Mirantis OpenStack Express方面从小处着手,逐渐增加使用它的理由,因为它有助于让预算具体化、易管理、可预测。这方面最成功的企业明白用户的经济因素和云的价值,然后提出相应的计划。
一种常见的误解是,云能解决自身的问题。要是有合适的监控和维护,云有时候确实能解决自身的问题。但是你得确保拥有合适的监控和合适的冗余机制,特别是接近容量阈值时要发出警报。你可能直到云无法解决自身的问题才知道出了问题;然后,你会接到凌晨打来的电话。想起了无所不知的工程师?可人家并不总是随叫随到。要是你对突发情况作好了防备,就不至于措手不及。
最后,一种不切实际的老派观念就是,失败不可接受。实际上,说到云,失败完全可以接受,它还是一种核心设计原则。常失败,而且快失败,那样你就能迅速行动。务必要确保你的系统和应用程序防患未然,为出现故障、需要灵活应对的时刻作好了防备。那样,即便没有按计划进展,你的系统也可以保持运行,你会切实感受到OpenStack的好处。
OpenStack无疑为公司企业在IT基础设施带来了众多机会,提供了一种可扩展、灵活又经济高效的解决方案。了解贵公司的要求以及部署OpenStack需要什么,这将有助于建立贵公司想要的用途广泛、灵活又有弹性的云系统,又不必犯那些常犯的错误。
英文原文链接:http://www.computerworlduk.com/how-to/infrastructure/3594467/how-to-10-tips-for-a-successful-openstack-deployment/