转自:http://www.chenshake.com/learn-how-openstack/

如何学习OpenStack

由于工作的关系,也招收实习生,希望可以通过实习生的培养,让他们对Openstack熟悉起来。那么过程中,其实也是很多想法,大家可以进行交流。

如何学习和了解OpenStack,那么其实和你如何了解一个开源软件,其实差不多。国内由于很多原因,很多人都喜欢看中文的资料去了解和熟悉一个开源软件,这样其实效率是很低的。

引用微博的一段话

【一万小时法则】一项研究显示,在任何领域取得成功的关键跟天分无关,只是练习的问题,需要练习1万个小时——10年内,每周练习20小时,大概每天3小时。中国有句古话“十年磨一剑”,其道理可谓异曲同工,没有几个会拒绝成功。但站立在金字塔顶的成功者,往往是少数人。

Openstack其实也不例外,Openstack的Core,不要以为他们什么都理解,都懂。其实他们仅仅是投入时间比你多一点而已。获取一个Openstack项目的Core,那么你至少是需要投入5000个小时。

官方网站

任何成熟的开源网站,那么官方网站的资料是最丰富的。你如果可以熟练在官方网站找到你需要的东西,那么就说明你对这个开源软件已经比较熟悉,Openstack也不例外。你需要的是花大量的时间去阅读Openstack官方网站上的资料。

目前OpenStack的官方文档,已经非常完备。

launchpad网站

这是Openstack的项目管理的网站,通过这里,你可以看到Opentstack项目的组件的Blueprints和bugs列表,阅读这些你就基本可以了解到Openstack过去,现在和未来。

https://launchpad.net/nova/+series  把nova更换成Openstack组件名字就可以。

stackalytics网站

这个网站非常有意思,尤其对于想了解大数据的朋友。Openstack项目非常庞大,那么那个公司的贡献最多呢,不同的维度,得到的结论是不同的。

http://stackalytics.com/  Openstack目前到底有多少模块在开发,他们的活跃度如何,背后有什么大公司在支持,基本都是可以通过这里获得。

邮件列表

订阅邮件列表,这样你可以了解到Openstack的目前状况。阅读邮件列表,其实非常累,不过通过一段时间的阅读,其实可以帮助你了解到很多通过官方网站无法了解到情况。例如国内的那家公司,参与OpenStack开发比较多,用户使用OpenStack主要的问题是啥。

邮件列表的地址,都是可以通过官方网站获得。

IRC会议

这个其实是开源软件常用的交流方式,一般来说,我们的英文不太好,反应也慢点,要在IRC里,提问,回答都是有点困难。不过OpenStack的IRC会议,都是有记录的,你是可以通过阅读IRC来了解项目的进展。这个其实是非常消耗精力的活,一个人的精力,估计能盯住一个模块就不容易。

http://eavesdrop.openstack.org/meetings/

Devstack

如果你希望从事Openstack开发,那么你就能用OpenStack搭建开发环境,那么Devstack的安装和使用,是必须的。通过阅读Devstack的安装脚本,其实Openstack的安装,对你来说,就显得比较简单了。

目前Devstack支持的比较好,应该是Ubuntu,建议你使用Ubuntu 14.04来搭建你的开发环境

http://docs.openstack.org/developer/devstack/

Openstack是用Python开发的,对于程序员来说,其实很好理解,只需要投入时间进去,就会有收获。

参与Openstack开发

要想了解Openstack的开发模式,其实只看是不行的,你也无法理解为啥这样做。你必须动手去参与Openstack开发。参与开发,其实不见得是提交代码,参与代码的review,了解Openstack的代码开发规范,对你自己的成长,还是非常有帮助。

如何提交代码的视频,介绍如何提交代码的中文资料,其实很多。详细可以看孔令贤的文章http://blog.csdn.net/lynn_kong/article/details/9405567

Openstack的代码开发流程,其实和你想象的会有很大的差异,第一次提交代码,很多人都折腾好几个月,不过最终还是觉得这个时间花的还是很值得的。

Linux,KVM和网络

其实Openstack只是管理工具,真正考验你的是linux和KVM能力,一般的系统管理员,对linux和KVM,都算可以,不过对于网络,可能就比较陌生。在Openstack上,你是无法逃避的,很多问题都会和网络密不可分。

你需要了解linux bridge,Openvswitch,学会抓包,这样你才具备能力去解决问题。

Slideshare和Youtube

了解一个开源软件,其实简单的办法,就是去Slideshare把相关的PPT读完,到Youtube把相关的视频看完,你就对软件有一个整体的理解,对于Openstack,其实也不例外。

其实作为一个技术人员,真的必须掌握一些技巧和能力,去看Slideshare和Youtube。通过视频和PPT,效率会高很多的。

大学生建议

如果你是大三的学生,希望日后从事Openstack相关的工作。那么其实我建议

  1. 熟悉linux,最好能用linux作为桌面,增加你使用linux的时间,有条件参加红帽的证书认证
  2. 使用Git,最佳的方式就是在github做一个blog,记录自己日常的经验和教训,这个非常重要,掌握学习方法比你懂啥更加重要
  3. 配置管理工具:ansible
  4. 熟悉KVM,linux Bridge,这都是基础。
  5. 网络如果可以达到CCNA的水平,其实是最好的,这样对你日后理解Openstack的网络有很大的帮助。
  6. 养成英文阅读习惯,这个和所谓英语能力基本没任何关系,英语真的不是学出来,是逼出来的。

今年我给我这边的实习生出了一道题目

使用配置管理工具ansible或者Saltstack,去云里(青云或者微软的Azure),

  1. 调用api接口,开一个虚拟机,
  2. 安装gitlab,
  3. 定期备份到对象存储上,
  4. 并且你可以实现定期的更新。
  5. 加入zabbix监控监控所有的服务
  6. 日志收集到elk(elasticsearch+logstash+kibana)

整个过程,你不需要人工登录虚拟机,全部都是通过配置管理工具,远程来完成。

可惜由于时间的问题,还没有完成。那位朋友完成全过程的,可以分享分享。

问题:OpenStack已逐渐成为打造云平台的首选技术, 其作为一个庞大而专业的新兴系统,具有一定的使用门槛。但在目前高校学习中,鲜有与OpenStack直接相关的专业。请您结合目前OpenStack的使用环境,谈一谈。

很多大学都很时髦,设置什么大数据专业,云计算专业。其实很多时候,这些专业都很虚,老师在大数据的时候还在讲啤酒和尿布的故事,真的是比较搞笑的事情的。试想一下,你分析出啤酒和尿布的关系的情况下,那么超市应该是把两者的距离放的更近还是更远呢?这个问题估计老师都没考虑过,就到处出去忽悠学生。(Intel中国研究院首席工程师吴甘沙在一次报告中透露:所谓“啤酒加尿布”的数据挖掘经典案例,其实是Teradata公司一位经理编出来的“故事”,历史上并没有发生过!)

在大学里,其实学生的专业更加需要注重的是基础,操作系统原理,linux内核这些。如果你真的对这些很熟悉的话,那么你到社会上,无论是啥stack,都是可以应付。你在大学里学了某stack的专业,毕业的时候,很可能已经开始走下坡路。

这是一位朋友的微博写的,我就转载一下,你把java换成Python,应该就可以

计算机专业的大一,有激情有时间,是学习的黄金时间。如果能在上好正式课程之外,在这一年期间熟练地掌握两种编程语言(C,Java),熟悉一个操作系统(Linux),动手写1万行代码,就为四年大学开了一个好头。不要指望有老师一步步地带着你,自力更生,自主学习,用好图书馆与互联网,足矣。

如何学习OpenStack的更多相关文章

  1. 学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇

    0.环境 硬件环境见上一篇博客:学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境 OpenStack网络配置:一个tenant, 2个虚机 Type drive ...

  2. 学习OpenStack之(5):在Mac上部署Juno版本OpenStack 四节点环境

    0. 前沿 经过一段时间的折腾,终于在自己的Mac上装好了Juno版本的四节点环境.这过程中,花了大量的时间,碰到了许多问题,学到不少知识,折腾过不少其实不需要折腾的东西,本文试着来对这过程做个总结. ...

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

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

  4. 零基础学习openstack【完整中级篇】及openstack资源汇总

    1.你是如何学习openstack的?2.你对openstack的组件了解多少?3.你认为openstack该如何学习? 一直想写关于openstack的方面的内容,今天终于整理完成.算是完成一桩心事 ...

  5. 学习openstack(五)

    OpenStackOpenStack介绍OpenStack是一种免费的开源平台,帮助服务提供商实现类似于亚马逊EC2和S3的基础设施服务.OpenStack当前有三个核心项目:计算(Nova),对象存 ...

  6. 学习openstack(八)

      一.OpenStack初探 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初 ...

  7. 学习openstack(三)

      一.OpenStack初探 1.1 OpenStack简介 OpenStack是一整套开源软件项目的综合,它允许企业或服务提供者建立.运行自己的云计算和存储设施.Rackspace与NASA是最初 ...

  8. 学习openstack(二)

    OpenStack企业私有云实践 1.     实验架构 OpenStack我们把它当作是一个全新的"Linux"系统来学习,有的时候我们也把OpenStack称之为一个新的Lin ...

  9. 学习OpenStack之 (3):Devstack Screen 使用技巧

    Devstack环境中,openstack运行在一个screen中,每个service运行在一个window中.我总结的几个tips: 0. 注意需要使用screen启动用户来进行一下操作 1. 查看 ...

随机推荐

  1. MVC的 url 传递参数无效

    有些符号(例如“=”)在URL中 直接传递是无效的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码       十六进制值 1. + URL 中+号表 ...

  2. 问题 H: 抽奖活动(大数)

    题目描述zc去参加抽奖活动,在抽奖箱里有n个球,每个球上写着一个数字.一次抽取两个球,得分为两个球上的数的乘积.为了中大奖,zc想要知道他能得到的最大得分为多少.输入第一行为T,代表样例数.(1< ...

  3. js验证汉字正则表达式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. “全栈2019”Java第三十七章:类与字段

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. 如何构建debian包

        1)安装dh_make如下: sudo apt-get intasll aptitude sudo aptitude install dh_make    2)以jsoncpp为例,说明如何生 ...

  6. [BZOJ5212][ZJOI2018]历史

    传送门(洛谷) 人生第一道九条可怜……神仙操作…… 看着题解理解了一个早上才勉强看懂怎么回事…… 简化一下题目就是:已知每一个点access的总次数,求一个顺序使虚实边转化的次数最多 考虑一下,对于x ...

  7. [AIR] 对存储器(Storage Volume)监听

    AIR 2.0及以上提供了对系统的存储器信息访问和监听的API.通过这些API,你不仅可以访问到硬盘文件系统,同时还可以监听通过USB或火线进行连接的移动存储设备,例如移动硬盘和以存储方式连接到计算机 ...

  8. Linux环境下完成远程系统迁移

    一.基础 了解: netcat是个计算机网络公用程式,用来对网络连线TCP或者UDP进行读写.nc命令是netcat命令的简称,都是用来设置路由器.netcat 在2001年insecure.org对 ...

  9. 区分Web服务器、HTTP服务器、应用程序服务器

    在学习前端的过程中.进程听到和看到web服务器.HTTP服务器.应用程序服务器,但一直不知道它们有什么区别,迷惑了好久,今天查看的很多博客,终于算是梳理通了,下面我就来总结一下它们的区别,顺别了解一些 ...

  10. String 源码浅析(一)

    前言 相信作为 JAVAER,平时编码时使用最多的必然是 String 字符串,而相信应该存在不少人对于 String 的 api 很熟悉了,但没有看过其源码实现,其实我个人觉得对于 api 的使用, ...