自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何將開源項目 OpenStack 的代碼變成產(chǎn)品?

云計算 OpenStack
OpenStack現(xiàn)在非?;馃?,社區(qū)也集聚了大量的開發(fā)人員,各家廠商包括通信設(shè)備商、運(yùn)營商、互聯(lián)網(wǎng)公司、電商/店商(包括寶馬、沃爾瑪、蘇寧等)都有參與,用其搭建公有云或私有云平臺。那么我們?nèi)绾螌penStack的代碼變成一份產(chǎn)品呢?

先自我介紹下,sina微博北京-小武,《云計算網(wǎng)絡(luò)珠璣》作者,現(xiàn)就職于華為IT產(chǎn)品線云計算網(wǎng)絡(luò)架構(gòu)與設(shè)計部。

OpenStack現(xiàn)在非常火熱,社區(qū)也集聚了大量的開發(fā)人員,各家廠商包括通信設(shè)備商、運(yùn)營商、互聯(lián)網(wǎng)公司、電商/店商(包括寶馬、沃爾瑪、蘇寧等)都有參與,用其搭建公有云或私有云平臺。那么我們?nèi)绾螌penStack的代碼變成一份產(chǎn)品呢?

玩過OpenStack的人相信都對剛接觸OpenStack有很深的印象,最開始真是迷茫一片,感覺是螞蟻嘴啃天,既不知道如何下嘴,也更有一種遙不可及的高度;熟悉之后會感覺相對簡單些;如果僅僅將OpenStack運(yùn)行起來做個demo,已經(jīng)非常不容易,做成產(chǎn)品更是要費(fèi)很多功夫。

所以把OpenStack代碼變成產(chǎn)品首先需要幾個稱職的程序員,如果按照分工至少需要多少人呢?這個話題最早個人討論要追溯到上年和陳沙克老師的一次QQ聊天;現(xiàn)在應(yīng)該需要14個人,具體是怎么安排計算出來的?

將整個OpenStack玩熟,需要部署、管理端、計算、存儲、網(wǎng)絡(luò)、運(yùn)維等方面的職位需求,僅從開發(fā)的角度來列舉下需求人及負(fù)責(zé)工作內(nèi)容(不是熟悉特性,而是大部分問題能通過代碼層面搞定):

  • 計算2人:負(fù)責(zé)虛擬化、linux內(nèi)核系統(tǒng)相關(guān)、集群、NTP、消息隊列(rabbitmq、zeromq、activemq、qpid)、Nova代碼,Glance、Keystone代碼;
  • 存儲2人:所用存儲商家存儲設(shè)備及driver(包括開源的ceph等),mariadb, Cinder/Swift代碼,Hadoop及Sahara(原來叫Savanna)、部署等等;
  • 網(wǎng)絡(luò)3人:所用網(wǎng)絡(luò)商家設(shè)備(switch、router、、NGFW/F5)及Plugin或driver,linux協(xié)議棧(tcp /ip,tap/tun,linux bridge,ovs,iptables),物理組網(wǎng)結(jié)構(gòu),Neutron代碼及所用相關(guān)開源代碼(keepalived/haproxy/lvs),網(wǎng)絡(luò)安全設(shè)計等等;
  • 管理端2人,熟悉OpenStack API和其他云平臺API,熟悉公司IT流程,熟悉管理平臺架構(gòu)和業(yè)務(wù)設(shè)計能力。

重復(fù)下,這些人不是說只熟悉特性,而是從代碼到產(chǎn)品過程中的大部分問題都能通過代碼層面搞定。

每個領(lǐng)域應(yīng)加一名人員,一方面防止人員流動帶來的損失,再一方面就是因為每個層面需要的人才都是通才的專家,多增加一個人力給組建團(tuán)隊減少困難,會很大程度上通過人員組合達(dá)到集齊所需技能的要求。

最后加上一名足夠優(yōu)秀的領(lǐng)導(dǎo),當(dāng)然也可以是CTO來兼任;需要其對云計算市場有足夠深刻的認(rèn)識、對客戶需求有足夠的積累、對技術(shù)人員有足夠的了解、對技術(shù)方向和深度足夠的把控等;但是這個人一定要有產(chǎn)品的思維,而不是僅僅懂技術(shù)和代碼,不懂得如何為客戶做產(chǎn)品的CTO不是好CTO。

如果需要程序員鼓勵師就是福利了,節(jié)省成本角度,是不是可以考慮從HR或行政這塊兼職下?

人有了,下面就是一步步代碼來實現(xiàn)了:

首先要做個云平臺的管理端來管理云平臺,說白了,OpenStack的定位是云平臺管理端,還需要Horizon來做OpenStack的管理端,通常是一個web portal;這個平臺管理端的功能一方面體現(xiàn)了云計算商家做產(chǎn)品的思路,也體現(xiàn)了云計算商家產(chǎn)品的定位是哪一層(IAAS/PASS/SAAS)。

注:這里需要說明五點

  1. OpenStack通常商家來做IAAS,但是OpenStack自己并沒有這么定位,Sahara即是PAAS的一個體現(xiàn),而且經(jīng)過OpenStack定制化,完全可以做到SAAS的需求;
  2. 管理端對接OpenStack,也可以對接AWS或阿里云,所以云平臺管理端本身就可以做成一個產(chǎn)品;這個也可以是某些公司的主打;
  3. 云平臺本身只是個管理端,技術(shù)含量也并沒有底層這么高,就像互聯(lián)網(wǎng)的APP理念反而顯得重要得多也高大上的多,自然如果底層不支持,管理端做的再好也不頂事;所以O(shè)penStack自身、一些閉源或在OpenStack基礎(chǔ)之上修改稱之為自研的廠商,如果底層技術(shù)沒有什么創(chuàng)新,云平臺管理端也只能在業(yè)務(wù)編排上進(jìn)行點更改,并不是什么技術(shù)革命,好比汽車的發(fā)動機(jī)原理甚至原料沒有改變,只是可以調(diào)整下位置或形狀讓汽車的外觀變得漂亮些;這點上講,將來OpenStack會不會只剩下北向API也未可知;
  4. 結(jié)合第三點,云平臺管理端是云平臺的入口,固然重要而且也很專業(yè),但這還并不是各家云計算廠商技術(shù)的差距體現(xiàn);美觀的頁面往往對設(shè)計進(jìn)行外包即可擁有;但是體現(xiàn)的云計算平臺設(shè)計理念卻需要人員的精髓外漏;
  5. 云平臺管理端需要集合企業(yè)流程IT來做,尤其是私有云的需求,畢竟很多客戶企業(yè)的內(nèi)部流程已經(jīng)用了很多年,對云平臺的定制化需求是Horizon在很多情況下被客戶或云計算廠商所拋棄的一個很大原因。

現(xiàn)在結(jié)合OpenStack的社區(qū)代碼開發(fā)現(xiàn)狀來說下一些注意點:

第一,OpenStack的整體代碼較多,因為為了獲取較多廠家的支持,采用了分布式架構(gòu)上的 plugin/driver模式來支持,所以有很多層封裝,導(dǎo)致了整體效率的低下;Nova和cinder基本是Driver的形式,但是Neutron 社區(qū)卻是五花八門的plugin和driver,還有很多私有的廠家自己維護(hù)的plugin和driver,尤其是最近出現(xiàn)了很多SDN支持的 plugin,比如ODL等。如Neutron:Neutron有L2的core plugin(如現(xiàn)在常用的ML2),L3有router的,通常是用linux的namespace實現(xiàn)(已有ML3的BP);L4-L7的 plugin幾乎是一個功能對應(yīng)一個;OpenStack原生態(tài)代碼只保證功能可用,附帶的test文件夾代碼居然有人作為自建云平臺的測試標(biāo)準(zhǔn)工具也是醉了;

面對如此多的plugin和driver如何選擇?有錢怎么玩都成,沒人可以招聘,有人自己做一款都沒有問題;沒錢有能力的可以選擇 OpenStack的公有ML2等plugin自己優(yōu)化,沒有能力也沒錢的的自己整兩臺PC搭建個demo看看就好了;其實一條路,自己能搞定的選擇自己搞定的那款plugin或合作方提供的plugin,自己搞不定的跟著大眾走,因為這個plugin用的人多,相當(dāng)于被測試的比其他充分,這樣自己用著有了問題能提出來,總有人來回答或解決,說不定別人都已經(jīng)解決了;core plugin ML2使用ovs做租戶vxlan之間的隔離是現(xiàn)在大家用的最多的。

這里單獨(dú)提下Open vSwitch的子項目OVN,這個項目體現(xiàn)了老外一貫的開源思路,自己具備核心模塊的掌控能力,其他商家的邊緣參與建立生態(tài)圈;(支持自己的 ovsdb,無礙其他廠家設(shè)備的邊緣支持),新出現(xiàn)的OVN開源有目標(biāo)來將L2-L7的plugin統(tǒng)一,但是道路還很漫長可能會錯過商機(jī);社區(qū)的政治也是很深。

公司參與開源可以拉投資,但對于求職者不能認(rèn)為公司采用了開源,老板或公司就會很Open;個人參與開源能提高知名度,但是也并沒有因為做了開源而提升程序員的人格或逼格,所以對做閉源的同學(xué)相比也沒有什么高級的;這些都充分體現(xiàn)了忍狠滾里面的忍字訣,無他耳,參與社區(qū)開發(fā)的技術(shù)能力和水平也不見得都很高,但總有幾個大牛在;很多人認(rèn)為自己能看代碼什么都能做,不就是幾行代碼么?如果僅是代碼的話的確誰都可以做,但看得懂if else不一定能理解else之外還有沒有else?業(yè)務(wù)技能和場景遠(yuǎn)比代碼重要。

OpenStack的整體架構(gòu)是網(wǎng)絡(luò)的架構(gòu)的設(shè)計,建議讓做網(wǎng)絡(luò)的人來做主(不是只懂tcpdump和ping命令的,而是參與過網(wǎng)絡(luò)設(shè)備研發(fā)、設(shè)計過數(shù)據(jù)中心架構(gòu)方面有經(jīng)驗的人),做存儲和系統(tǒng)的同事參與就行了,因為OpenStack的設(shè)計每一步考慮都涉及到網(wǎng)絡(luò)的內(nèi)容;

第二,OpenStack的開源代碼質(zhì)量真是不堪,僅僅是一個功能可用的狀態(tài),對于性能、架構(gòu)等方面的優(yōu)化還差很多,直接拿開源給客戶搭建產(chǎn)品基本都是找死的節(jié)奏,所以需要有這么幾個小觀點:

a)云計算廠商的角色基本都是集成商,無論是有能力開發(fā)網(wǎng)絡(luò)、存儲或虛擬化底層的,還是沒有能力的創(chuàng)業(yè)公司,都離不開這幾個角色;所以想做full stack的公司需要看下自己真有這個必要和力量嗎?希望大家多多繼續(xù)發(fā)揮硬件的力量,僅僅是系統(tǒng)工程師從軟件來實現(xiàn)的角度會讓性能大打折扣,使用硬件也會加快項目進(jìn)度,建立更好的生態(tài)圈;這一點有幾家公司已經(jīng)意識到做的很不錯;

b)云計算廠商做OpenStack產(chǎn)品有兩個方式,有關(guān)系來解除根據(jù)客戶需求定制化產(chǎn)品,或者有經(jīng)驗理解客戶痛點能夠直接用于開發(fā)產(chǎn)品;但是僅僅靠云計算的情懷基本是走向末路;有些云計算創(chuàng)業(yè)公司剛起步對客戶還挑揀,沒有搭建過10臺計算節(jié)點服務(wù)器的經(jīng)驗,卻非要1000臺以下計算節(jié)點的單子不接,除非你有很硬的關(guān)系信任你,不然只能靠雙色球一等獎的概率了;

c)云計算做的好不好,和是否開源關(guān)系不大;一個事實是,UCloud的閉源卻是創(chuàng)業(yè)公司中云計算做的最好的(個人觀點,不喜勿噴),AWS和 Azure是公有云的大哥大,卻也是閉源(最近有AWS和OpenStack合作的消息);基于OpenStack的大量創(chuàng)業(yè)公司反而多是在整玄乎的概念,真正拿得出手的產(chǎn)品或商業(yè)案例卻不多;很多公司宣揚(yáng)的對社區(qū)貢獻(xiàn)可能為爭取公司融資方面做的貢獻(xiàn)更多些;大公司開源貢獻(xiàn)比如Redhat對于 Linux的產(chǎn)品化方面,有三方面做法:優(yōu)化參數(shù)提升產(chǎn)品性能、掌控開源趨勢降低客戶成本、快速的Bug fix和版本回合能力;這點也是開源公司招聘開源達(dá)人的原因,但是對于小公司來說還無法一步到位的采用這種模式;

d)很多做開源的同學(xué)往往對政府意見都比較大(無論國內(nèi)外),一方面開源需要open這點政府確實很多時候做不到,另一方面其實是開源社區(qū)也有政治,只是這里的政治問題往往掩蓋了經(jīng)濟(jì)利益問題;開源也是各大相關(guān)參與廠商利益競爭的過程;還有一點很多人都認(rèn)為很使用了開源軟件的公司都會很開放的原因;

e)畢竟OpenStack是開源代碼,客戶用的時候也會調(diào)研,包括架構(gòu)和代碼;但是不是因為他問的問題深入就能說明他很強(qiáng),可能某些方面他們經(jīng)驗積累確實很豐富,但是如果他能搞得定還找你干嗎?所以很可能他不如你但是接觸商家多所以問的問題看起來很專業(yè),如果你能問他問題,可能分分鐘就能問倒他們(這就好比面試學(xué)習(xí),很多情況下面試者和被面試者,都會有把對方問倒的交集知識點,知識場景限制雙方的說話內(nèi)容和方式),你得忍,給他們講懂,那才能說明你真懂,否則很難拿到單子,縱然你公司技術(shù)也很牛。這樣客戶見了很多商家,每個商家學(xué)一點,幾乎說起來都很懂,但是動手能力就是上不去。

f)OpenStack也是軟件開發(fā)方面的,和其他軟件架構(gòu)和代碼方面沒有什么差別,也需要從架構(gòu)和性能方面不斷優(yōu)化,可以從以前的軟件開發(fā)上吸取很多經(jīng)驗;從代碼到產(chǎn)品,先是功能開發(fā),然后是規(guī)模上去,接著就會性能下降,然后再優(yōu)化,周始輪詢,最終又比較良好的產(chǎn)品級實現(xiàn);說白了,都是為了底層數(shù)據(jù)轉(zhuǎn)發(fā)面功能,通過管理層來實現(xiàn);為了實現(xiàn)大規(guī)模,通過管理層集群來實現(xiàn)管理層高性能,往往是犧牲了管理面的一致性;CAP這里依然存在;華為在社區(qū)提出了OpenStack級聯(lián)方案,就是通過管理面的努力擴(kuò)大數(shù)據(jù)層面的規(guī)模;

第三,OpenStack的部署、升級和運(yùn)維都是大問題;首先說部署和升級,主要是OpenStack的版本快速發(fā)展,支持特性不斷完善;所以客戶的需求也是要跟隨的上,僅僅是普通bug修復(fù)部署工具基本都能搞定,大的升級影響就會比較大,甚至?xí)?dǎo)致云平臺底層管理網(wǎng)絡(luò)和業(yè)務(wù)網(wǎng)絡(luò)的重大變更;拿OpenStack的I到J舉例,如果開啟了DVR,想業(yè)務(wù)不中斷只能是跨集群業(yè)務(wù)遷移;運(yùn)維來說是云計算商家招牌之一,可以明確的說,OpenStack不會消滅運(yùn)維,只會導(dǎo)致運(yùn)維人員的技術(shù)要求提高和不努力運(yùn)維的淘汰;對于OpenStack來說會導(dǎo)致其運(yùn)維承包團(tuán)隊的出現(xiàn),也會對OpenStack的培訓(xùn)及運(yùn)維培訓(xùn)有很大需求,畢竟客戶的運(yùn)維人員對于OpenStack的理解都還不是很深入;某些公司說云平臺基本沒有運(yùn)維,那么可以說有可能兩點原因,是只有兩個機(jī)架的設(shè)備不需要運(yùn)維,另一個就是運(yùn)維外包并且將升級擴(kuò)容和災(zāi)備的事劃到運(yùn)維工作之外;完全沒有一個運(yùn)維這話,真正懂行的沒一個敢這么給客戶說的。

第四,簡單說下SDN和OpenStack的結(jié)合;現(xiàn)在出現(xiàn)了很多SDN的plugin,大部分Neutron 是作為SDN控制器的APP或SDN 控制器的的一部分來使用,暫時還未看到第三種形態(tài)——作為SDN控制器的Underlay網(wǎng)絡(luò)層面;對SDN的理解我也只有一種,不認(rèn)為有狹義和廣義之分,所謂云計算廠商說自己天然的云平臺是廣義SDN的,個人認(rèn)為這都是對SDN沒有理解透徹;SDN應(yīng)用不僅僅是云計算或數(shù)據(jù)中心,企業(yè)網(wǎng)也可以有很多點,這里不多提了;但是隨著各家SDN控制器的出現(xiàn),SDN的網(wǎng)絡(luò)開放之路似乎又到了收窄的方向上;希望SDN能盡快走過優(yōu)勝劣汰的過程,減少中間的無謂成本,多多服務(wù)于需求;順便說下,很多理解我是做SDN的,其實我是做云計算的,只是做網(wǎng)絡(luò)出身,一直在跟SDN而已;

和自己原來很多技術(shù)出現(xiàn)一樣,同樣的功能各個商家都會取一個自己的名字,換湯不換藥;但是說自己家名字的功能是業(yè)界第一或第一家實現(xiàn)的就不要這么理直氣壯了,畢竟你家名字的功能只有你自己家這么叫,當(dāng)然是業(yè)界第一或第一家嘍!其實底層技術(shù)都是集成了第三方或開源的,別人家也都實現(xiàn)啦;只是名字不同而已。

其實挺佩服Intel的,無論是其有意為之還是偶然天成,總之現(xiàn)在你做云計算都不得不買Intel的CPU,存儲設(shè)備,計算設(shè)備,甚至交換機(jī)現(xiàn)在的 CPU都很多是Intel的(順便說下Intel也收購了交換芯片商開始做交換機(jī));云計算如此,SDN的控制器也離不開,還有NFV甚至直接被人誤解為就是基于X86的虛機(jī),可見Intel在這些新興領(lǐng)域的影響力。

最后就是希望再云計算領(lǐng)域里,希望大家都踏實些,少些“語不驚人死不休”,喬布斯也只有一個,商業(yè)推廣的那一套來用到技術(shù)上,就真的沒品了;狂妄的預(yù)測誰都可以說來博取眼球,不過仔細(xì)想想真的可能嗎?OpenStack都被拋棄了才有可能將來實現(xiàn)的技術(shù)現(xiàn)在不提也罷。

原文鏈接:http://www.sdnlab.com/14573.html

關(guān)于OpenStack

OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發(fā)并發(fā)起的,是一個開源的云計算管理平臺項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項目目標(biāo)是提供實施簡單、可大規(guī)模擴(kuò)展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計算管理平臺。

 

OpenStack除了有Rackspace和NASA的大力支持外,還有包括戴爾、Citrix、Cisco、Canonical等重量級公司的貢獻(xiàn)和支持,致力于簡化云的部署過程并為其帶來良好的可擴(kuò)展性。

責(zé)任編輯:Ophira 來源: SDBLab
相關(guān)推薦

2013-11-29 13:47:54

創(chuàng)業(yè)創(chuàng)意產(chǎn)品

2021-08-31 08:32:40

開源項目開發(fā)

2020-05-25 07:00:58

Raspberry PWeb服務(wù)器

2012-12-16 19:00:19

本地化推廣微軟產(chǎn)品微軟Windows

2019-11-18 10:40:00

Windows 10Windows 10 無線顯示器

2020-12-22 07:42:05

云原生開源項目k8s

2016-10-26 09:04:50

大數(shù)據(jù)洞察力行動力

2013-11-06 15:42:53

華為云計算華為

2021-11-16 19:11:23

開源軟件開源項目開源

2009-08-06 09:00:02

Windows 7桌面bing每日桌面

2012-04-02 19:59:27

Android

2023-04-23 13:32:28

MetaAI開源

2023-12-29 07:04:28

Go項目Docker編寫

2020-03-10 22:01:54

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2024-12-27 15:58:20

2014-12-16 10:37:37

OpenStackCloudStack開源云計算

2012-08-10 14:00:19

中國開源云聯(lián)盟OpenStack

2013-10-29 09:05:30

OpenStack亞馬遜API開源云

2017-10-20 10:09:01

代碼CocoaPods編譯

2024-02-20 08:51:56

PythonFlask工具
點贊
收藏

51CTO技術(shù)棧公眾號