2014年5月11日 星期日

如何学习OpenStack与精通OpenStack好书推荐 ( by quqi99 )

http://blog.csdn.net/quqi99/article/details/12030851

OpenStack的官方文档在开源世界里应该说做得还是很不错的,如果你只是想随便跑一下运行一下的话, 看看这些文档应该足够了。
但是如果它出问题了呢?由于还未真正懂OpenStack,可能你会感到:
一是解这个问题会很累;
二是经常性的没有思路,不知道如何下手;
三是花费的时间成本也不会少,会成十上百倍的大增;
四是下次遇到类似的问题可能依然不清楚,依然耽误时间;
五是由于未理解把不是问题的问题当成问题;
六是由于未理解也容易出方向性问题得不偿失;
七是一直看不到系统的全貌与本质始终在一个局部打转转,长时间处于恶性循环中;
八是同样没有真正理解给别人讲的时候也讲不明白,问个问题别人都不知道你在问什么耽误大家时间;

这样,无论对于公司还是对于你自己来说都是损失,不会有好效果,对于此类问题,笔者给出的药方就是系统性学习,没有捷径。
可能有人以为,系统性学习看起来在内功修炼未开窍之前会没有效率,那特错特错了,俗话说得好,磨刀不误砍柴工,你的Skill的提高带来的将是效率的成几何倍数的提升。这也是为什么IT领域永远是20%的人干80%的活,看看Linux,看看Hadoop,看看那些创业公司就知道了。

既然从事了码农这一行,怎么着都是一个累,但是系统性学习了,开窍了,那就一劳永逸的解决这些问题了,上层再怎么变,底层的Linux内核或者网络这些知识却不会变,并且万变不离其踪,有了这些底层牢靠的基础,是非常容易理解上层的变动的。这就会步入良性循环,你算算这其中的好处帐吧,呵呵。

下面是笔者这一年半学习OpenStack的历程,仅供参考:
1,首先随便找几篇架构方面的理论文章,心里清楚它是干什么的。
2,看代码之前,首先得会用。会用可以看官方的文档,我反正是没看,因为早期的文档并不像现在这么丰富。我直接看的devstack的脚本,照着它那脚本一步步手工源码安装一遍之后就基本能解决所有的安装使用方面的最基础的问题了。
3,做为一个程序员,首先debug得先行,使用pydev创建开发环境,在debug的过程中,你就知道它的运行流程了,当然现在有文档讲它的运行流程,但早期也少见啊。再怎么着,也没有你自己debug一遍来的印象深吧。
4,稍微fix一些bug,任何一个小bug都会把你带到实际代码之中去,遇到很多脚踏实地的问题。但是这个不用太多,因为你还要省时间出来系统性学习消化了。
5,多review社区那些高质量的代码,尤其是看那些对你理解代码有代表性的patch。每一个patch背后都会有它的背景知识,这个就需要系统性的学习了,刚开始一两周可能稍微影响效率一点,但接下来马上带来的效率提升就会大丰收了,绝对是划算的买卖。
6,反复地看,反复的加深印象,好记性不如烂笔头,慢慢随着你知识的广度的提高,你就能随意触类旁通了。如果再有机会对某一领域进行深度的探索时,你也总能把握住方向,出了问题就从理论上都能想象得到可能问题出在哪个环节,站得高,看得远,还轻松。

这期间笔者也系统性地学习了下列25本书,不包括电子文档等。基本原则就是:
1,想精通python的话,随便找本python的书花个半天时间了解一下就可以开始写代码了然后遇到什么回过头来再翻阅什么就行了,然后想精通python的话最应该看的是C编程的书,如UNIX编程的大块头,慢慢啃吧,神马进程死锁啊,同步啊等等思想都在里头了,因为技术都是相通的,当然,世间万事万物都是相通的,技术和非技术也是通着的。
2,学OpenStack当然要看OpenStack的代码,但也不是全看,笔者在之初就很少直接盯着看Neutron的代码,而是系统性学习它背后的知识,然后再回过头来你就会发现原来这些代码都是按你心里预想的步骤来写的。举个例子,笔者最初想评审IPSec VPN的代码,直接上去看肯定看不懂,算了,不看了,回过头先花半天系统性过一下IPSec的理论与Linux下的IPSec的具体实现strongwan的用法,再花一个小时回过头来仔细研究代码,你就会发现这些代码都是顺着你的思路来走的,这样又能review到点子上,也节省时间,更轻松人不累,还能学到东西。我相信你直接一上来就对着这个patch干看,不系统的话,估计看两天也是一知半解吧,就像社区某些不是很懂的人一样看不懂又要量化的数字就尽提一些莫名其妙的python的用法相关的comment。又累又没效果也没学到什么东西。Python也就是一个壳,掌握它远没有掌握里面的领域知识更有意义。社区的有些core他们永远被那些量化的数字纠缠着,有美丽的光环,但很少有时间来掌握领域知识的,顶多多熟悉了点python了而已,不熟悉,又要评审,就只能莫名的-2,不能服众,影响了组件的稳定性,延迟了openstack在企业的部署。

总之,系统性最重要,那才是正规军,非游击队。

这些书包括:

1, Computer network, version 5, the teaching material of the university of China, Publishing House of Electronics Industry, Xie Xiren
2, IPv6 technology, Publishing House of Tsinghua University, Huawei company
3, Cloud computing, second editon,  Publishing House of Electronics Industry, Liupeng
4, Got Git: The Deinitive Guide of Git, China Machine Press, Jiang Xin
5, Python Core Program, PRENTICE HALL, Wesley J. Chun
6, The Python Standard Library by Example, Doug Hellmann
7, The storage network technology and application, Publishing House of Tsinghua University, Lu Shiwen
8, Network Warrior, O'REILLY, Gary A. Donahue
9, Network traffic monitoring and control, www.buptpress.com, Liu Fang
10, IPSec VPN design, ciscopress.com, Vijay Bollapragada, Mohamed Khalid, Scott Wainner
11, MPLS and VPN Architectures, ciscopress.com, Ivan PepeInjak, Jim Guichard
12, Technology & Practice of Network attack & defense, Publishing house of electronics industry,  Zhuge Jianwei
13, The Principles & Practive of Virtualization Technology, Publishing house of electronics industry, Guang Xiaoming
14, Operating systems Internals and Design Principles, Sixth Editioin, William Stallings
15, Linux Kernel Development Third Edition, PEARSON Education, Robert Love
16, Understanding Linux network Internals, O'REILLY, Christian Benvenuti
17, Linux Device Drivers, O'REILLY, Jonathan Corbet, Alessandro Rubini & Greg Kroah-Hartman
18, Linux Kernel Hacks, O'REILLY, Munehiro IKEDA, Naohiro Ooiwa, Hiroshi Shimanmoto, Akio Takebe
19, Understanding the Linux kernel, Third Edition, O"REILLY, Daniel P. Bovet & Marco Cesati
20, Advanced Programming in the UNIX Environment Second Edition, TURING PEARSON, W. Richard Stevens Stephen A. Rago
21, Embedded Linux Primer, A Practica Real-World Approach, Second Edition, TURING PEARSON, Christopher Hallinan
22, Understanding the Eembedded Linux Device Driver Program,  Publishing House of Electronics Industry, Cao Guohui
23, Custom your Own Linux System Step by Step, Posts & Telecom Press, Sun Haiyong
24, Puppet Master, Orion Children's, Joanne Owen
25, Linux Iptable Firewall

惠普重金投資300億 壓寶雲端未來就在OpenStack

http://www.ithome.com.tw/news/87536

上周惠普執行長惠特曼才低調訪臺,除了舉辦內部的全球員工見面會,對外則與代工龍頭鴻海簽約,攜手打造雲端伺服器。本周惠特曼更進一步宣布惠普前進雲端市場的大動作--在未來2年大手筆投資300億元(10億美元)開發雲端技術與擴展市場,並且壓寶在近年來非常熱門的開源雲端作業環境OpenStack。
而且,更出人意料的是,HP甚至推出自家的開源OpenStack版本,並在發表會的同時就釋出OpenStack最新版本提供免費下載,硬是要搶在紅帽(Red Hat)之前,這不只是代表雲端的競爭意味濃厚,如此布局也顯示惠普重整雲端策略,決心要打一場跟過去不一樣的雲端大戰。
惠普以全新的產品線「Helion」,將現有雲端產品、服務全部統括起來。目前Helion產品線與惠普過去雲端產品線最大的不同,就是惠普推出自己的OpenStack軟體與OpenStack服務。
OpenStack被公認為是雲端時代的Linux作業系統,也是IT業界參與度最積極的雲端作業系統,惠普此次重整雲端策略靠向OpenStack,無疑地透露出兩個重大意義:惠普擁有自己的雲端作業系統做為根本的武器,再者就是相信開源OpenStack將是未來的主流。惠特曼在發表會時表示,他們相信OpenStack的未來將如同現今企業廣泛採納的Linux一樣。
惠普執行長惠特曼在HP Helion發表會表示,他們相信OpenStack的未來將如同現今企業廣泛採納的Linux一樣。
惠普的Helion OpenStack將分成兩種版本,其一為社群版本HP Helion OpenStack Community,提供免費下載使用,一來可讓有興趣的企業嚐鮮,或做為系統驗證使用(目前最大限制30個節點、600臺虛擬機器);另一個版本則是Helion OpenStack商用版,這就是針對企業商用的版本,惠普表示稍後會推出。
在發表會舉辦的同時,惠普就釋出免費的Helion OpenStack社群版本,此版本是基於OpenStack剛於4月8日推出的最新版本Icehouse。惠普自豪是第一個在官方版釋出3個禮拜後就能推出OpenStack分支版本的廠商,目前推出OpenStack分支版本的廠商主要都是Linux作業系統廠商,如紅帽、Ubuntu,而紅帽預計在官方版釋出的2個月後推出RHEL企業版OpenStack,因此惠普搶先推出以證明其在OpenStack的研發能力,背後似乎也有濃厚的嗆聲意味。
OpenStack正式由基金會型式運作,也不過是兩年前的事而已,如今已吸引全球數百家IT廠商競相貢獻最新的技術,促使OpenStack快速發展,成為雲端運算的明日之星。以最新版本OpenStack Icehouse的開發狀況來看,紅帽仍然是開發貢獻度最高的廠商,自前一個版本Havana以來,紅帽一直蟬聯寶座,第二名則是IBM,而HP則是排名第三,至於其他廠商的貢獻度則與前三名落差極大。
惠普要如此大動作前進OpenStack,也得有些本事。其實,惠普在3年前開始推出的HP Public Cloud公眾雲服務,就是以OpenStack來開發,再以惠普在OpenStack的開發貢獻度來看,除了是貢獻度排第三的廠商,在前一個版本Havana中,開發貢獻度最高的開發人員就是惠普的工程師。
惠普技術長Martin Fink表示,Helion OpenStack將保持開源的開放性,不會限制使用於任何特定的硬體,不過,惠普接下來會讓旗下的HP 3Par儲存、HP StorVirtual儲存、SDN控制器,對Helion OpenStack有更佳整合。HP Cloud Service Automation這個工具,亦將扮演整合OpenStack與相關雲端軟體的關鍵角色。此外,為了抒解企業用戶對於採用開源軟體可能衍生的智財權訴訟疑慮,惠普也推出法律相關服務--賠償承諾服務(HP OpenStack Technology Indemnification Program)。
Martin Fink亦指出,惠普目前在全球27國有80座資料中心,在未來1年半內,其中20座資料中心都將提供Helion OpenStack環境,而除了直接提供企業用戶公眾雲服務之外,亦將結合當地合作夥伴,讓當地的廠商也能提供雲端服務。
除了Helion OpenStack,另一個值得注意的是,惠普此次同步推出針對應用程式開發的PaaS(Platform as a Service)開發平臺,不過惠普選擇的技術卻是由VMware開源的Cloud Foundry,而目前Cloud Foundry是由VMware分割出來的Pivotal公司在經營。
面對未來的雲端市場大餅,近年IT廠商動作連連,前不久IBM也統一其雲端產品品牌,亦宣布投下360億元(12億美元)繼續發展雲端。紅帽除了大力推動OpenStack,亦力擁新興的Linux Container技術--Docker;VCE陣營的鐵三角之一思科,則跳脫VCE陣營中的VMware,而選擇與紅帽的KVM結合;如今惠普亦擁有自己的雲端作業環境,整個IT業界的關係,又因為雲而大轉變了。