作为 OpenStack 的核心教程,我们已经到了最后总结的部分。

OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder 和 Neutron。请大家看下图:

此图截自 https://www.openstack.org/software/project-navigator/,这是 OpenStack 官方定义的 6 个 Core Service。每个模块都会从三个维度来衡量:

  1. ADOPTION - 采用度

  2. MATURITY - 成熟度

  3. 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 能干些什么则另当别论。

如何使用这个教程?

本教程对读者应该会有两个作用:

  1. 初学者可以按照章节顺序系统地学习 OpenStack,并通过教程中的实验掌握 OpenStack 的理论知识和实操技能。

  2. 有经验的运维人员可以将本教程当做参考材料,在实际工作中有针对性地查看相关知识点。

继续学习的建议

如果大家想更深入地学习 OpenStack,我的建议是:首先确保掌握本教程的知识点,因为这是基础。掌握的含义是理论能够联系实践。能部署,会操作,能看日志,会排查问题。之后嘛?我相信当你做到前面这点后就已经具备了自学其他模块或者更深入学习某个 core service 的能力了。

对新教程的想法

OpenStack 这个教程暂时告一段落了,之所以是“暂时”,是因为目前还没有别的模块满足我们前面的那两个选择条件。当有新模块满足条件后,CloudMan 会继续更新这个教程,目前看,比较有希望的是 Heat 和 Swift。再次说明,这并不是说其他模块就不值得学习,只是作为教程内容不适合,因为教程是面向大多数人的。如果你自己有工作或兴趣上的需求,当然可以自学。就拿 CloudMan 来说,有的客户需要计费功能,我也花了不少时间去研究 Cloudkitty 模块。

另外,核心模块中如果有一些新的有价值特性,我也会择机更新教程。

除此之外,还有什么技术满足那两个选择条件呢?如果你足够敏锐,相信会给出这个答案 - 容器

容器是云计算的另一大趋势,而且围绕 Docker 建立的容器生态越来越成熟,所以 CloudMan 下一个教程就叫 《每天5分钟玩转容器技术》。在这个教程中会涉及容器生态系统中最核心的几个方面:容器、镜像、网络、存储、编排引擎、管理平台和基于容器的 PaaS。

不过在开始这个新教程之前,CloudMan 还想跟大家分享一些个人这几年在 OpenStack 项目实践中总结和积累的实用技能和经验,作为对教程的补充。这个部分会有 10 篇左右,每篇一个技能或案例。

公众号还是每周 1、3、5 更新,感谢大家过去一年的陪伴,2017 我们继续携手前行。

学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)的更多相关文章

  1. 搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)

    在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,C ...

  2. 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)

    这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...

  3. 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)

    这是 OpenStack 实施经验分享系列的第 2 篇. OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 lin ...

  4. 如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)

    这是 OpenStack 实施经验分享系列的第 11 篇. 本节教大家更新 OpenStack 组件的方法.请注意,是更新(Update)而不是升级(Upgrade).更新是给组件打补丁,版本不变:而 ...

  5. 每天5分钟 玩转OpenStack 目录列表

    最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...

  6. 写在最前面 - 每天5分钟玩转 OpenStack(1)

    <每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...

  7. cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)

    本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostn ...

  8. 理解 Nova 架构 - 每天5分钟玩转 OpenStack(23)

    Compute Service Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源. OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nov ...

  9. Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)

    本节详细分析 instance launch 和 shut off 操作,以及如何在日志中快速定位有用信息的技巧. Launch Launch instance 应该算 Nova 最重要的操作. 仔细 ...

随机推荐

  1. stm32 Bootloader设计(YModem协议) (转)

    源:stm32 Bootloader设计(YModem协议) 相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些.下文中的bootload就来实现这样的功能. 前段时间有项目关于Bootlo ...

  2. Lucene学习注意要点

    相关书籍: <Lucene实战>第二版: <搜索引擎基础教程>: <Lucene搜索引擎开发进阶实战>:(我现在看得书) 学习注意要点: 不要盲目从代码入手,而要先 ...

  3. ZOJ 3933 Team Formation

    费用流裸题......比赛的时候少写了一句话....导致增加了很多无用的边一直在TLE #include<cstdio> #include<cstring> #include& ...

  4. DateFormat 竟然是非线程安全的?!!!!!

    今天撸代码忽然发现一个奇怪的一场抛出,经过一番排查发现有可能DateFormat 的多线程问题造成的,网上一查DateFormat竟然非线程安全.那我原先的代码...(细思极恐)

  5. WebService调用权限验证 SoapHeader

    一般在项目中,制作的都是基于SOAP协议的webservices,其描述语言是WSDL.但是有时候在项目中,需要保证webservices的安全,需要对其进行进行验证,那么我们就要实现SoapHead ...

  6. CodeForces 755C PolandBall and Forest (并查集)

    题意:给定每一点离他最远的点,问是这个森林里有多少棵树. 析:并查集,最后统计不同根结点的数目即可. 代码如下: #pragma comment(linker, "/STACK:102400 ...

  7. python pandas dataframe to_sql方法error及其解决

    今天遇到了一个问题,很是奇怪,自己也想了一个另类的方法将其解决了,现在将详细过程经过记录如下: 我在处理完一个dataframe之后,需要将其写回到数据库.这个dataframe比较大,共有53列,7 ...

  8. origin从图中获得数据

    有Origin的原图,即利用Origin的"copy page"功能直接拷贝到文字处理软件的数据图,对于这种图,双击用Origin打开后,双击要导出数据的权限,打开"pl ...

  9. loading.io一个loading图标网站,跟大家分享

    loading.io是官方网址在首页选一款loading图标,看到左上角的 Try it now中有选中的图标后,可通过光标滑动选择图标大小,然后再点右边的get svg或get css等下载即可

  10. MySQL导出以H开头的表

    情景:我有上百张以H开头的表,我需要备份出这些以H开头的表. mysqldump不支持*或者%这种通配符,所以没法实现备份以xx开头的表这种,这里算是个小技巧,利用文本编辑器来实现. [root@HE ...