学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)

作为 OpenStack 的核心教程,我们已经到了最后总结的部分。
OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron。请大家看下图:

此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service。每个模块都会从三个维度来衡量:
ADOPTION - 采用度
MATURITY - 成熟度
AGE - 年龄
ADOPTION 和 MATURITY 是最关键的两个指标。
我们先来看 ADOPTION。模块的 ADOPTION 如果能达到 90%,基本上可以说只要使用 OpenStack 就会部署此模块。
MATURITY 8 为满分,如果是 7、8 分的 MATURITY,那么这个模块的架构就非常稳定,功能也很完善了,应该说达到了上生产的水平。
其实 CloudMan 在考虑教程覆盖的技术范围时也是参考了这张图,采用度和成熟度都高的模块才是我们应该重点研究的技术。大家可能已经注意到,在 6 个 Core Service 中,Swift 没有被纳入到此教程。Swift 是对象存储,成熟度很高,在互联网行业中应用非常广泛,但在传统应用领域使用还不多。OpenStack 目前主要还是用于私有云,所以 ADOPTION 方面受到了限制,还不到 50%。这也是 CloudMan 暂时没有将它放到本教程的主要原因。
我们所处是一个知识更新迭代非常快的行业,如果两三年不学习可能就会有被淘汰的危险。学习新技术是 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 篇左右,每篇一个技能或案例。
公众号还是每周 1、3、5 更新,感谢大家过去一年的陪伴,2017 我们继续携手前行。

学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)的更多相关文章
- 搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)
在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,C ...
- 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)
这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...
- 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)
这是 OpenStack 实施经验分享系列的第 2 篇. OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 lin ...
- 如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)
这是 OpenStack 实施经验分享系列的第 11 篇. 本节教大家更新 OpenStack 组件的方法.请注意,是更新(Update)而不是升级(Upgrade).更新是给组件打补丁,版本不变:而 ...
- 每天5分钟 玩转OpenStack 目录列表
最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...
- 写在最前面 - 每天5分钟玩转 OpenStack(1)
<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...
- cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)
本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostn ...
- 理解 Nova 架构 - 每天5分钟玩转 OpenStack(23)
Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源. OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nov ...
- Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)
本节详细分析 instance launch 和 shut off 操作,以及如何在日志中快速定位有用信息的技巧. Launch Launch instance 应该算 Nova 最重要的操作. 仔细 ...
随机推荐
- HDU 4008 Parent and son
树形DP+LCA+思路.这题可真是有点难度......所以准备详细写一下题解. 题意:给一颗无根树,有Q次询问,每次询问指定一个根节点X,然后让你计算Y节点的儿子和子孙中,编号最小的节点是多少. 我们 ...
- Android中SQLite的使用
SQLite是Android中内置的数据库,SQLite是轻量级数据库,支持标准的SQL语法,并且支持ACID事物. 在Android中提供了SQLIteOPenHelper类,帮助我们使用SQLit ...
- 小偷网站工具--Teleport Ultra
可以克隆别人网站的工具 http://jingyan.baidu.com/article/219f4bf7dce58bde442d3836.html
- vs2012中的小技巧
解除起始页: 网站(或者叫项目)-属性-启动选项-使用当前页 发布项目: 有些文件在发布的时候,不能发布到指定文件夹中,所以要手动修改该文件的属性 修改两处: 复制到输出目录:始终复制 生成操作:内容
- iOS开发——缩放图片
捏合图片,在原imageView中放大缩小图片. 懒得多说,直接上代码: // // ViewController.m // Demo-hehehe // // Created by yyt o ...
- ELF文件格式分析--结构篇
ELF文件格式,全称为Excutable and Linking Format,是一个开放的可执行文件和链接文件格式,在LINUX上很流行,跨平台软件的设计也多以ELF格式作为标准,其结构扩展性兼容性 ...
- cf Round 594
A.Warrior and Archer(思维) 战士一定会ban掉当前边缘的位置.而战士和射手就会选择剩下的最远的两点.我们让剩下的最远的两点最近就达到了均衡.于是我们枚举战士ban掉的边缘,ban ...
- $smary模板缓存
<?php //引入配置文件 $fillname="../cache/testhuancun.html"; //设置一个缓存时间 $time=; //判断如果缓存文件不存在的 ...
- 【贪心】【堆】Gym -100956D - Greedy Game
题意:给定n个物品,每个物品对于A和B来说具有不同的价值,记为ai,bi,两人交替取,A先手,A总是贪心地取当前剩下的物品中,对于他价值最高的,如果有多个,则任取一个.问B在最坏情况下,能取到的物品的 ...
- java制作图片水印
1.创建缓存图片对象 2.创建Java绘图工具对象 3.将原图绘制到缓存图片对象 4.使用工具将水印绘制到缓存图片对象 5.创建图片编码工具类 6.输出缓存图片对象到目标图片文件 BufferedIm ...