做为 OpenStack 的核心教程,咱们已经到了最后总结的部分。 网络
OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron。请你们看下图: 架构
此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service。每一个模块都会从三个维度来衡量: 运维
ADOPTION - 采用度 性能
MATURITY - 成熟度 学习
AGE - 年龄 云计算
ADOPTION 和 MATURITY 是最关键的两个指标。 spa
咱们先来看 ADOPTION。模块的 ADOPTION 若是能达到 90%,基本上能够说只要使用 OpenStack 就会部署此模块。 设计
MATURITY 8 为满分,若是是 七、8 分的 MATURITY,那么这个模块的架构就很是稳定,功能也很完善了,应该说达到了上生产的水平。 日志
其实 CloudMan 在考虑教程覆盖的技术范围时也是参考了这张图,采用度和成熟度都高的模块才是咱们应该重点研究的技术。你们可能已经注意到,在 6 个 Core Service 中,Swift 没有被归入到此教程。Swift 是对象存储,成熟度很高,在互联网行业中应用很是普遍,但在传统应用领域使用还很少。OpenStack 目前主要仍是用于私有云,因此 ADOPTION 方面受到了限制,还不到 50%。这也是 CloudMan 暂时没有将它放到本教程的主要缘由。 orm
咱们所处是一个知识更新迭代很是快的行业,若是两三年不学习可能就会有被淘汰的危险。学习新技术是 IT 从业者平常工做的一部分,既然选择作这行就必需要面对这个的现实。
对于如何学习新技术,CloudMan 有一些我的的建议,借这个机会跟你们交流一下。
咱们的时间和精力都是有限的,而新技术新知识是不少的,这时候就必须考虑一个效能问题:用最少的时间掌握最有价值的技能。
哪些技能最有价值呢?
个人 第一个判断标准是:选择那些将来必将流行和大规模使用技能。好比 OpenStack,目前已是 IaaS 事实上的标准,社区活跃,又有大厂商积极参与,更重要的是愈来愈多重量级企业开始部署和实践 OpenStack,发展势头强劲。另外一方面 OpenStack 的技术人才缺口很大,稀缺性决定了价值,因此咱们看到了人才市场对 OpenStack 的青睐。
好,假设咱们都赞成 OpenStack 是应该学习的技能了(否则你也不会看这个文章了 :-),那么接下来的问题是 OpenStack 模块这么多,我要怎样学呢?是都学吗?按什么顺序学呢?这就是个人 第二个判断标准:学那些 ADOPTION 和 MATURITY 都高的技能。
ADOPTION 高意味着市场有需求,学了就能用。MATURITY 高意味着技术架构已经成熟和稳定,学了以后的在至关长时间内都有效,不过期。下面找两个模块具体分析一下。
先来看 Swift,前面说了,这个技术互联网企业用得多但传统企业目前应用有限,若是你就任于传统企业,花时间学习 Swift 确定不是一件划算的投资。固然,若是你已经明确知道本身公司会用对象存储,那则是另一回事了。
另外一个模块是 Ceilometer,它属于 OpenStack optional service。请先看下图:
Ceilometer 的主要做用是收集 OpenStack 的性能数据和事件,对于运维仍是很是重要的,因此咱们看到它的 ADOPTION 还能够,62 %。不过成熟度过低。事实也是如此,几乎 OpenStack 的每一个版本 Ceilometer 架构和代码都有不少变化,虽然是一个颇有前景的模块,但咱们若是花太多时间去研究,可能半年以后又得花大力气从新学习一遍,由于可能已通过时了。对于 OpenStack 的大部分技术人员,CloudMan 并不建议花太多精力在 Ceilometer 上。固然若是你的职责是要实现 OpenStack 的性能监控或者计量计费,Ceilometer 应该是绕不过去的坎。
在 optional service 有一个 ADOPTION 和 MATURITY 都还能够的模块 - Heat。这个模块是用来作编排的,其实颇有价值,好比能够实现虚拟机的 auto scaling。CloudMan 若是要更新教程,Heat 确定不会错过。
简单的说就是:理论联系实际。
要掌握 IT 技术说难吧,确实,像 OpenStack 这种体系结构大而复杂的,是有难度。但从另外一方面看,若是轻松就能学会,咱们技术人员的价值也就不大了。我没有看到哪一个公司愿意花大价钱雇一个 VMware 管理员。
对于 IT 技术,最好的学习方法是边学边实践。刚开始搞不太清楚原理和底层细节不要紧,先装上跑起来,能运行一个最小案例,先创建起感性认识和正反馈很重要。而后再根据文档从架构到细节,从原理到实现一步一步探索。这也是 CloudMan 在教程中尽可能遵循的方法。每一章都设计了大量的实践操做环节,经过截图和日志帮助你们理解各个技术要点。在教程的编写过程为了其中一个实验我会尝试不一样的场景和边界条件,最后呈现给你们的是最典型的场景。很是鼓励你们跟着作实验,说实话,仅仅看一遍教程我不以为会有多大收获,固然若是你的目的只是了解 OpenStack 能干些什么则另当别论。
本教程对读者应该会有两个做用:
初学者能够按照章节顺序系统地学习 OpenStack,并经过教程中的实验掌握 OpenStack 的理论知识和实操技能。
有经验的运维人员能够将本教程当作参考材料,在实际工做中有针对性地查看相关知识点。
若是你们想更深刻地学习 OpenStack,个人建议是:首先确保掌握本教程的知识点,由于这是基础。掌握的含义是理论可以联系实践。能部署,会操做,能看日志,会排查问题。以后嘛?我相信当你作到前面这点后就已经具有了自学其余模块或者更深刻学习某个 core service 的能力了。
OpenStack 这个教程暂时告一段落了,之因此是“暂时”,是由于目前尚未别的模块知足咱们前面的那两个选择条件。当有新模块知足条件后,CloudMan 会继续更新这个教程,目前看,比较有但愿的是 Heat 和 Swift。再次说明,这并非说其余模块就不值得学习,只是做为教程内容不适合,由于教程是面向大多数人的。若是你本身有工做或兴趣上的需求,固然能够自学。就拿 CloudMan 来讲,有的客户须要计费功能,我也花了很多时间去研究 Cloudkitty 模块。
另外,核心模块中若是有一些新的有价值特性,我也会择机更新教程。
除此以外,还有什么技术知足那两个选择条件呢?若是你足够敏锐,相信会给出这个答案 - 容器。
容器是云计算的另外一大趋势,并且围绕 Docker 创建的容器生态愈来愈成熟,因此 CloudMan 下一个教程就叫 《天天5分钟玩转容器技术》。在这个教程中会涉及容器生态系统中最核心的几个方面:容器、镜像、网络、存储、编排引擎、管理平台和基于容器的 PaaS。
不过在开始这个新教程以前,CloudMan 还想跟你们分享一些我的这几年在 OpenStack 项目实践中总结和积累的实用技能和经验,做为对教程的补充。这个部分会有 10 篇左右,每篇一个技能或案例。
公众号仍是每周 一、三、5 更新,感谢你们过去一年的陪伴,2017 咱们继续携手前行。