成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

DevOps是如何出現(xiàn)的?前因后果

XBaron / 1494人閱讀

摘要:是如何出現(xiàn)的前因后果更多物聯(lián)網(wǎng)高并發(fā)編程知識請移步軟件開發(fā)的演變多年來,從現(xiàn)有的軟件開發(fā)策略方法發(fā)展而來,以響應(yīng)業(yè)務(wù)需求。數(shù)據(jù)表明超過的項目最終都是以失敗告終的。團隊應(yīng)該定期反思如何能變得更有戰(zhàn)斗力,然后相應(yīng)地轉(zhuǎn)變并調(diào)整其行為。

DevOps是如何出現(xiàn)的?前因后果

更多物聯(lián)網(wǎng)高并發(fā)編程知識請移步:https://www.yuque.com/shizhiy...

軟件開發(fā)的演變

多年來,DevOps從現(xiàn)有的軟件開發(fā)策略/方法發(fā)展而來,以響應(yīng)業(yè)務(wù)需求。讓我們簡要地看一下這些模型是如何演變的,以及它們最適合的場景。





緩慢而繁瑣的瀑布模型演變成敏捷,開發(fā)團隊在短時間內(nèi)完成軟件開發(fā),持續(xù)時間甚至不超過兩周。如此短的發(fā)布周期幫助開發(fā)團隊處理客戶反饋,并將其與bug修復(fù)一起合并到下一個版本中。

?雖然這種敏捷的SCRUM方法為開發(fā)帶來了敏捷性,但它在運維方面卻失去了敏捷實踐的速度。開發(fā)人員和運維工程師之間缺乏協(xié)作仍然會減慢開發(fā)過程和發(fā)布。

DevOps方法就是基于對更好的協(xié)作和更快的交付的需求而產(chǎn)生的。DevOps允許用較少復(fù)雜問題的持續(xù)軟件交付來修復(fù)和更快地解決問題。

講故事

為了能夠更好的理解什么是DevOps,我們很有必要對當時還只有程序員(此前還沒有派生出開發(fā)者,前臺工程師,后臺工程師之類)這個稱號存在的歷史進行一下回顧。

如編程之道中所言:
老一輩的程序員是神秘且深奧的。我們沒法揣摩他們的想法,我們所能做的只是描述一下他們的表象。

清醒的像一只游過水面的狐貍

警惕的像一位戰(zhàn)場上的將軍

友善的像一位招待客人的女主人

單純的像一塊未經(jīng)雕琢的木頭

深邃的像一潭幽深洞穴中漆黑的池水

i am you father

程序員開發(fā)了機器語言,機器語言又產(chǎn)生了匯編語言,匯編語言產(chǎn)生了編譯器,如今的語言已經(jīng)多不勝數(shù)。

每一種語言都有其各自的謙卑用途。每一種語言都表達出軟件的陰和陽。每一種語言都在此道之中有其一席之地。
遙想當年,軟件程序員的大部分辦公司那時還被稱作實驗室,程序員那時還叫做科學家。為了開發(fā)出一套優(yōu)秀的軟件,程序員們必須深入了解他們需要的應(yīng)用相關(guān)的所有問題。他們必須清楚知道這個軟件應(yīng)用在什么場合,這個軟件是必須在什么系統(tǒng)上運行。本質(zhì)上說,程序員對所要開發(fā)的軟件的所有環(huán)節(jié)都有透徹的了解,從規(guī)格說明書編寫、到軟件開發(fā)、到測試、到部署、再到技術(shù)支持。

過了不久,人類(客戶)貪婪的特性就開始表現(xiàn)出來,他們開始不斷的進行更多的索求。更快的速度,更多的功能,更多的用戶,更多的所有所有。
作為一類謙虛、謙卑、且平靜的生物,我們的老一輩程序員們將很難在這種爆發(fā)性的過度的需求索取中幸存。最好的取勝辦法就是往不同的方向進化成不同的新物種。
很快,程序員這個稱號就開始絕跡于江湖,而那些叫做開發(fā)者、軟件工程師、網(wǎng)絡(luò)管理員、數(shù)據(jù)庫開發(fā)者、網(wǎng)頁開發(fā)者、系統(tǒng)架構(gòu)師、測試工程師等等更多的新物種就開始誕生??焖龠M化和快速適應(yīng)外界的挑戰(zhàn)成為了他們的DNA的一部分。這些新的種族可以在幾個星期內(nèi)就完成進化。
網(wǎng)頁開發(fā)者很快就能進化成后臺開發(fā)者,前臺開發(fā)者,PHP開發(fā)者,Ruby開發(fā)者,Angular開發(fā)者…多得讓人側(cè)目。
很快他們就都忘卻了他們都是起源于程序員這個共同的祖先的事實,忘卻了曾經(jīng)有過這么一個單純且平靜的,想要讓這個世界變得更好的科學家。然后他們開始不斷的劍拔弩張,都聲稱自己才是“程序員”的純血統(tǒng)繼承人。

隨著時間的轉(zhuǎn)移,各門各派開始獨占山頭,很少進行交流互動,只有在迫不得已的時刻才會進行溝通。他們開始不再為同源的遙遠的同宗兄弟們的成功而歡呼雀躍,甚至再也不會時把的遙寄張明信片進行噓寒問暖。
但是在深夜仰望星空的時候,他們還是會發(fā)現(xiàn)他們的心底深處的程序員基因還是會不停的閃爍著,期盼著這閃爍的火花能照亮整個銀河系并帶來和平。

瀑布開放流程

在這場自私且以自我為中心的欲征服世界的賽跑旅程里,程序員的子孫們早把他們真正的工作目標置之腦后-為客戶解決問題。面對一拖再拖的項目交付日期,昂貴的開發(fā)代價,甚至最終失敗的項目,客戶們開始對這種情況深惡痛絕。
偶爾,也會有一個閃亮的明星站出來,靈機一動的提供一種辦法來嘗試結(jié)束這種混亂并帶來和平。所以瀑布開發(fā)流程就應(yīng)運而生了。這是一個非常了不起的創(chuàng)意,因為它利用了不同團隊的開發(fā)者們只在必須的時候才進行溝通的這個事實。當一個團隊完成了他們的工作的時候,它就會和下游的團隊進行交流并把任務(wù)進行往下傳,如此一級接一級的傳遞下去,永不回首

敏捷開發(fā)

這種方式在一段時間內(nèi)發(fā)揮了效用,但很快,一如既往,貪婪的人們(客戶)又開始提出更多的訴求。他們希望能夠更多地參加到整個軟件的開發(fā)流程中來,不時的提出他們的建議,甚至在很晚的時候還提出改需求這種喪心病狂的事情來。
結(jié)果就是如大家有目共睹的事實一樣,軟件項目非常容易失敗這個說法已經(jīng)作為一個行業(yè)標準被人們所接受。數(shù)據(jù)表明超過50%的項目最終都是以失敗告終的。更可悲的是,在當時看來,人們對這種情況是束手無策。
值得慶幸的是,每一個時代總會有那么幾個思想開放的英雄如漆黑中的螢火蟲般冒出來。他們知道這些不同團隊的開發(fā)者們必須要找到一個可以協(xié)同工作、進行交流、并且能夠彈性的向客戶保證對方將會拿到最優(yōu)的解決方案的方式。這種嘗試最早可以追溯到1957年,偉大的約翰·馮·諾依曼和同行們的努力。但是我們最終卻是等到2001年才收獲到革命的果實,當時行業(yè)的十多個精英創(chuàng)造出了如今聞名世界的“敏捷宣言”。

敏捷宣言基于以下十二條原則:

我們的首要任務(wù)是通過盡早地、持續(xù)地交付可評價的軟件來使客戶滿意。

樂于接受需求變更,即使是在開發(fā)后期也應(yīng)如此。敏捷過程能夠駕馭變化,從而為客戶贏得競爭優(yōu)勢。

頻繁交付可使用的軟件,交付間隔越短越好,可以從幾個星期到幾個月。

在整個項目開發(fā)期間,業(yè)務(wù)人員和開發(fā)人員必須朝夕工作在一起。

圍繞那些有推動力的人們來構(gòu)建項目。給予他們所需的環(huán)境和支持,并且信任他們能夠把工作完成好。

與開發(fā)團隊以及在開發(fā)團隊內(nèi)部最快速、有效的傳遞信息的方法就是,面對面的交談。

可使用的軟件是進度的主要衡量指標。

敏捷過程提倡可持續(xù)發(fā)展。出資人、開發(fā)人員以及使用者應(yīng)該總是共同維持穩(wěn)定的開發(fā)速度。

為了增強敏捷能力,應(yīng)持續(xù)關(guān)注技術(shù)上的杰出成果和良好的設(shè)計。

簡潔——最大化不必要工作量的藝術(shù)——是至關(guān)重要的。

最好的架構(gòu)、需求和設(shè)計都源自自我組織的團隊。

團隊應(yīng)該定期反思如何能變得更有戰(zhàn)斗力,然后相應(yīng)地轉(zhuǎn)變并調(diào)整其行為。

敏捷宣言是為銀河系帶來和平以及維護各自的平衡所邁出的很重要的第一步。在很長的時間里,相比此前基于流程和機械化的方式,這是第一次基于文化和“人性”來將不同的關(guān)鍵項目關(guān)系人連接在一起的方式。人們開始互相交流,進行基本的碰頭會議,并開始不斷的交流意見和看法。他們開始意識到他們是有著很多比想象中還多的共同點的,客戶也開始成為他們之中的一員,而不再是像以往一樣只是往項目砸錢然后開始求神拜佛祈求一切順利如愿。

精益軟件開發(fā)

盡管前面還是有不少的障礙需要克服,但是未來已經(jīng)光明了許多。敏捷意味著開放和擁抱(需求)改變。但是,如果改變過多的話,人們就很難專注到最終的目標和交付上來。此時精益軟件開發(fā)就開始破土而出了。
因為對精益軟件開發(fā)的著迷以及為了達成放逐和驅(qū)趕風險的目的,一些程序員的子孫們就開始探首窗外,開始向軟件之外的行業(yè)進行取經(jīng)。他們從一家主要的汽車生產(chǎn)商身上找到了救贖。豐田生產(chǎn)系統(tǒng)在精益上面的成就是不可思議的,同時它們的精益生產(chǎn)的經(jīng)驗也是很容易應(yīng)用到軟件開發(fā)上來的。

精益有以下7個原則:

杜絕浪費

內(nèi)建質(zhì)量

創(chuàng)建知識(放大學習)

延遲決策(盡量延遲決定)

快速交付

尊重人員(團隊授權(quán))

全局優(yōu)化

將這些放到敏捷上去的話,精益原則就能讓人們在從精神上關(guān)注做正確的事情,同時還能夠讓整個開發(fā)流程擁有足夠的彈性。

DevOps

一旦敏捷和精益軟件開發(fā)被軟件開發(fā)團隊采納,那么下一步就是把這一套原則應(yīng)用到IT團隊上來。把IT也納入到整體戰(zhàn)略上,然后我們就來到了DevOps跟前了!

進入DevOps – 高速公路的三條車道
老一派的軟件開發(fā)團隊成員會包含業(yè)務(wù)分析員,系統(tǒng)架構(gòu)師,前端開發(fā)者,后端開發(fā)者,測試員,等等。
優(yōu)化如敏捷和精益原則等的軟件開發(fā)流程的關(guān)注點就在這些地方。
比如,軟件一旦達到”可以生產(chǎn)“的程度,就會發(fā)到系統(tǒng)工程師、發(fā)布工程師、DBA、網(wǎng)絡(luò)工程師,安全專家這些“運維人員”的手上。

這里該如何將橫在Dev(開發(fā))和Ops(運維)之間的鴻溝給填平,這就是DevOps的主要關(guān)注點了。
DevOps是在整個IT價值流中實施精益原則的結(jié)果。IT價值流將開發(fā)延伸至生產(chǎn),將由程序員這個遙遠的祖宗所繁衍的所有子孫給聯(lián)合在一起。
這是來自Gene Kim的對DevOps的最好的解析。

你不應(yīng)該重新招聘DevOps工程師,且DevOps也不應(yīng)該是一個IT的新部門。
DevOps是一種文化,一種理念,且是和IT糅合成一整體的。世間沒有任何工具可以把你的IT變成一個DevOps組織,也沒有任何自動化方式可以指引你該如何為你的客戶提供最大化的效益。

DevOps通常作為下面這三個方式而為人所熟知,而在我眼里我是把它們看成是一條高速公路上的三條車道。你從第一條車道開始,然后加速進入到第二條車道,最終在第三車道上高速行駛。

車道1 – 系統(tǒng)級別的整體效率考量是最主要的關(guān)注點,這超過對系統(tǒng)中任何一個多帶帶個體元素的考慮

車道2 – 確保能提供持續(xù)不斷的反饋循環(huán),且這些反饋不被忽視。

車道3 – 持續(xù)的學習和吸取經(jīng)驗,不停的進步,快速的失敗。

車道1 – 獲取速度

要采納DevOps的原則,理解整個運作系統(tǒng)的重要性并對工作事項進行合適的優(yōu)先級排序是組織首先要學的事情。在整個價值流中不能允許任何人產(chǎn)生瓶頸并降低整個工作流程。

確保工作流程的不可中斷是身處流程中的所有成員的終極目標。無論一個成員或者團隊的角色是什么,他們都必須力圖對整個系統(tǒng)進行深入的理解。這種思維方式對質(zhì)量會有著直接的影響,因為缺陷永遠不會被下放到“下游“中,這樣做的話將會導(dǎo)致瓶頸的產(chǎn)生。

確保整個工作流程不會被瓶頸堵塞住還不夠。一個高產(chǎn)的組織應(yīng)該時常考慮該如何提升整個工作流程。有很多方法論可以做到這一點,你不妨去看下“約束理論”,“六西格瑪”,精益,或者豐田生產(chǎn)系統(tǒng)。

DevOps原則不關(guān)心你身處哪個團隊,你是否是系統(tǒng)架構(gòu)師,DBA,QA,或者是網(wǎng)絡(luò)管理員。相同的規(guī)則覆蓋所有的成員,每個成員都應(yīng)該遵循兩個簡單的原則:

保持系統(tǒng)運作流程不可中斷

隨時提升和優(yōu)化工作流程

車道2 – 換擋加速

不可中斷的系統(tǒng)流程是定向的,且預(yù)期是從開發(fā)流向運維。在一個理想的世界中,這就意味著快速的開發(fā)出高質(zhì)量的軟件,部署,并為客戶提供價值。
但是,DevOps并非烏托邦式的理想國。如果單向的交付方式是可行的話,我們的瀑布模式早就能勝任了。評估可交付產(chǎn)品和整個流程中的交流對確保質(zhì)量是至關(guān)重要的。這里首個必須實現(xiàn)的”面向上游”的交流通道是從Ops到Dev。

我們獨自意淫是件非常容易的事情,但是獲取別人的反饋和提供反饋給別人才是探究事實真相的正確方法。下游的每一步(反饋)都必須緊跟著有一個上游的確定。
你如何建立反饋循環(huán)機制并不重要。你可以邀請開發(fā)人員加入技術(shù)支持團隊的會議,或者將網(wǎng)絡(luò)管理員放到Sprint計劃會議中去。一旦你的反饋機制就緒,反饋能夠被接收并被處理,你就已經(jīng)可以說是走到了DevOps高速車道上來了。

車道3 – 飛速前進

DevOps這條快速車道并不適合意志脆弱的人。為了進入這條車道,你的組織必須要足夠的成熟。這里充滿了冒險和對失敗教訓(xùn)的學習,不斷的嘗試,并認同屢敗屢戰(zhàn)和不斷的實踐是走向成功這條康莊大道的前提條件。
在這里你應(yīng)該會經(jīng)常聽到”套路“這個詞,這是有原因的。不斷的訓(xùn)練和重復(fù)所以能培養(yǎng)出大師,是因為其讓復(fù)雜的動作常規(guī)化。
但是在你要將這些復(fù)雜的動作連接起來之前,你很有必要先去掌握好每一個多帶帶步驟。

“適合大師的動作并不適合新手,脫胎換骨之前你必須先要明白道的真諦?!?/pre>

DevOps的第三個方式/快速車道包括每天分配時間來持續(xù)的進行試驗,時常的獎勵敢于冒險的團隊,并將缺陷特意引入到運作系統(tǒng)上來以增加系統(tǒng)的抗擊打能力。

為了確保你的組織能夠消化好這些方法,你必須在每個團隊之間建立好頻繁的反饋循環(huán),同時需要確保所有的瓶頸都能夠及時的被清理掉,并確保整個系統(tǒng)的運作流程是不可中斷的。
實施好這些措施可以讓你的組織時刻保持警惕,并能夠快速且高效的應(yīng)對挑戰(zhàn)。

DevOps清單

下面是一張你可以用來檢驗?zāi)愕慕M織對DevOps的應(yīng)用情況的清單。
開發(fā)團隊和運維團隊之間沒有障礙。兩者皆是DevOps統(tǒng)一流程的一部分。
從一個團隊流到另一個團隊的工作都能夠得到高質(zhì)量的驗證

工作沒有堆積,所有的瓶頸都已經(jīng)被處理好。

開發(fā)團隊沒有占用運維團隊的時間,因為部署和維護都是處于同一個時間盒里面的。

開發(fā)團隊不會在周五下午5點后把代碼交付進行部署,剩下運維團隊周末加班加點來給他們擦屁股

開發(fā)環(huán)境標準化,運維人員可以很容易將之擴展并進行部署

開發(fā)團隊可以找到合適的方式交付新版本,且運維團隊可以輕易的進行部署。

每個團隊之間的通信線路都很明確

所有的團隊成員都有時間去為改善系統(tǒng)進行試驗和實踐

常規(guī)性的引入(或者模擬)缺陷到系統(tǒng)中來并得到處理。每次學習到的經(jīng)驗都應(yīng)該文檔化下來并分享給相關(guān)人員。事故處理成為日常工作的一部分,且處理方式是已知的

總結(jié)

使用現(xiàn)代化的DevOps工具,如Chef、Docker、Ansible、Packer、Troposphere、Consul、Jenkins、SonarQube、AWS等,并不代表你就在正確的應(yīng)用DevOps的原則。

DevOps是一種思維方式。我們所有人都是該系統(tǒng)流程的一部分,我們一起分享共同的時光和交付價值。每個參加到這個軟件交付流程上來的成員都能夠加速或減緩整個系統(tǒng)的運作速度。系統(tǒng)出現(xiàn)的一個缺陷,以及錯誤配置的團隊之間的“防火墻”,都可能會使得整個系統(tǒng)癱瘓,

所有的人都是DevOps的一部分,一旦你的組織明白了這一點,能夠幫你管理好這些的工具和技術(shù)棧就自然而然的會出現(xiàn)在你眼前了。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/8110.html

相關(guān)文章

  • 實戰(zhàn):阿里巴巴 DevOps 轉(zhuǎn)型后運維平臺建設(shè)

    摘要:導(dǎo)讀阿里巴巴轉(zhuǎn)型之后,運維平臺是如何建設(shè)的阿里巴巴高級技術(shù)專家陳喻結(jié)合運維自身的理解,業(yè)務(wù)場景的分析和業(yè)界方法論的一些思考,得出來一些最佳實踐分享給大家。實施效果嘉賓介紹陳喻亞松,阿里巴巴高級技術(shù)專家。 導(dǎo)讀:阿里巴巴DevOps轉(zhuǎn)型之后,運維平臺是如何建設(shè)的?阿里巴巴高級技術(shù)專家陳喻結(jié)合運維自身的理解,業(yè)務(wù)場景的分析和業(yè)界方法論的一些思考,得出來一些最佳實踐分享給大家。 前言 我是這...

    Shonim 評論0 收藏0
  • 解謎谷歌 DevOps:什么特質(zhì)可以打造世界級可靠系統(tǒng)?

    摘要:作者在領(lǐng)域,谷歌應(yīng)該是典范之一,特別是在自動化測試領(lǐng)域。谷歌有一個長期傳統(tǒng),所有的新服務(wù)需要開發(fā)人員自行管理至少六個月。 【編者按】本文是 Gene Kim 總結(jié)自對 Randy Shoup 兩個小時的采訪,主要關(guān)注谷歌 DevOps 的提升之道。本文系 OneAPM 聯(lián)合高效運維編譯整理。 Randy Shoup 曾協(xié)助領(lǐng)導(dǎo) eBay 和 Google 的工程師團隊,他是筆者見過少數(shù)...

    newtrek 評論0 收藏0
  • 榮譽,還苦逼?| 也議全棧工程師和DevOps

    摘要:引言全棧工程師本文稱全棧開發(fā)者和無疑是近期最火的詞匯,無論是國外還是國內(nèi)。盡管蘋果的還沒有廣泛使用,但他們正在尋找合適的工具,雇傭優(yōu)秀的人才,來完善日常部署。 引言 全棧工程師(本文稱「全?!归_發(fā)者)和 DevOps 無疑是近期最火的詞匯,無論是國外還是國內(nèi)。而且火爆程度遠超于想象。 全棧和 DevOps,究竟是我們的新職業(yè)方向,還是僅僅創(chuàng)業(yè)公司老板的心頭所愛?且聽本文理性分享。 An...

    J4ck_Chan 評論0 收藏0
  • 容錯性好、易于管理和便于觀察:淺談如何利用K8s全面擁抱微服務(wù)架構(gòu)

    摘要:年月日,論壇首次來到中國,在上海跨國采購會展中心召開并獲得了圓滿成功。擁抱微服務(wù)就成為大勢所趨。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學金現(xiàn)正接受申請和即將首次合體落地中國和購票窗口,立即購票 KubeCon + CloudNativeCon 論壇,作為 CNCF 的旗艦會議,自2016年以來已經(jīng)在北美和歐洲兩地的舊金山、倫敦、硅丘(奧斯?。⒏绫?..

    Ku_Andrew 評論0 收藏0
  • 這款分布式配置中心,會微服務(wù)降維打擊利器嗎?

    摘要:于是,市面上出現(xiàn)了分布式的配置中心。為什么呢因為要結(jié)合分布式配置中心微服務(wù),才能真正實現(xiàn)我們所理解的。所謂灰度發(fā)布,是說一個微服務(wù)集群里面,比如有個訂單系統(tǒng),做了一些配置上的更新。數(shù)人云分布式統(tǒng)一配置中心數(shù)人云分布式統(tǒng)一配置中心,取名。 本文來自1月18日數(shù)人云資深工程師在IT大咖說平臺的線上直播分享。 今天主要探討這幾方面: 一、配置中心的定位二、云化的微服務(wù)對于配置中心的要求三、微...

    zhaofeihao 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<