DevOps必須了解的九大最佳實(shí)踐
譯文【51CTO.com快譯】開(kāi)發(fā)運(yùn)維方面的***實(shí)踐絕非自然而然出現(xiàn)的,它需要一項(xiàng)精心制定的戰(zhàn)略。專家們?yōu)椴捎瞄_(kāi)發(fā)運(yùn)維方法的企業(yè)給出了這些***實(shí)踐。
開(kāi)發(fā)運(yùn)維方面的***實(shí)踐似乎比以往來(lái)得更重要。一方面歸因于移動(dòng)和物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,企業(yè)開(kāi)發(fā)團(tuán)隊(duì)面臨越來(lái)越大的壓力:以更快的速度交付更多的應(yīng)用程序。2015年12月,知名調(diào)研機(jī)構(gòu)Gartner預(yù)測(cè),“到2017年年底,市場(chǎng)對(duì)移動(dòng)應(yīng)用程序開(kāi)發(fā)服務(wù)的需求會(huì)以至少比內(nèi)部IT部門的交付能力快五倍的速度增長(zhǎng)。”
由于需求和能力之間的這種不匹配,企業(yè)組織在想方設(shè)法加快開(kāi)發(fā)速度。而他們?nèi)找娌捎玫钠渲幸环N方法就是開(kāi)發(fā)運(yùn)維。據(jù)Gartner聲稱,2015年,企業(yè)組織在開(kāi)發(fā)運(yùn)維工具上花費(fèi)23億美元,預(yù)計(jì)“到2016年,開(kāi)發(fā)運(yùn)維會(huì)從大型云服務(wù)提供商采用的一種小眾戰(zhàn)略,逐漸變成25%的全球2000強(qiáng)企業(yè)采用的一種主流戰(zhàn)略。”
對(duì)于開(kāi)發(fā)運(yùn)維市場(chǎng)的規(guī)模,廠商的估計(jì)顯得尤為樂(lè)觀。2016年RightScale報(bào)告聲稱,80%的大企業(yè)和70%的中小企業(yè)(SMB)在采用開(kāi)發(fā)運(yùn)維。
遺憾的是,雖然許多公司在競(jìng)相采用開(kāi)發(fā)運(yùn)維,但它們并非總是確信開(kāi)發(fā)運(yùn)維需要什么。幾家不同的企業(yè)提出了彼此競(jìng)爭(zhēng)的概念,IT行業(yè)還沒(méi)有就一種權(quán)威的定義達(dá)成共識(shí)。Gene Kim是最知名的開(kāi)發(fā)運(yùn)維支持者之一,與人合著有暢銷的財(cái)經(jīng)小說(shuō)《The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win》。他承認(rèn):“開(kāi)發(fā)運(yùn)維飽受詬病的方面之一是,很難描述開(kāi)發(fā)運(yùn)維是什么。”
盡管缺乏標(biāo)準(zhǔn)定義,但專家們就開(kāi)發(fā)運(yùn)維的根本原則達(dá)成了共識(shí)。通常來(lái)說(shuō),開(kāi)發(fā)運(yùn)維旨在打造這樣一種文化:IT開(kāi)發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)非常緊密地協(xié)同工作。開(kāi)發(fā)運(yùn)維脫胎于敏捷開(kāi)發(fā)和精益開(kāi)發(fā)原則,它需要盡可能地實(shí)現(xiàn)流程自動(dòng)化,以便加快企業(yè)組織部署新應(yīng)用程序的速度。而最終目標(biāo)不僅僅是提高IT效率,還在于有助于讓企業(yè)組織更成功。
來(lái)自專家的幾大高招
那些核心原則大有變化和試驗(yàn)的余地,許多企業(yè)組織在想:如果自己想要開(kāi)始使用開(kāi)發(fā)運(yùn)維實(shí)踐,到底應(yīng)該做些什么。為了解答這個(gè)問(wèn)題,我們請(qǐng)教了幾位開(kāi)發(fā)運(yùn)維專家,聽(tīng)聽(tīng)他們?cè)陂_(kāi)發(fā)運(yùn)維的***實(shí)踐方面有什么高招和建議。
1.從小處著手。
專家提醒,就開(kāi)發(fā)運(yùn)維而言,試圖一下子做太多的事情勢(shì)必會(huì)招致失敗。任何大型IT部門都會(huì)有現(xiàn)有的流程和根深蒂固的文化,它們根本不可能一夜之間變化。
他們建議,應(yīng)該先搞一個(gè)得益于開(kāi)發(fā)運(yùn)維實(shí)踐的項(xiàng)目或團(tuán)隊(duì),從小處著手。關(guān)鍵在于選擇這樣一個(gè)項(xiàng)目:開(kāi)發(fā)運(yùn)維的成功幾率很大,它能夠?yàn)槲磥?lái)的開(kāi)發(fā)運(yùn)維工作充當(dāng)基礎(chǔ)。
Xebia Labs的產(chǎn)品副總裁Tim Buntel說(shuō):“可以根據(jù)你在哪里獲得***的好處,進(jìn)行相應(yīng)的變化。評(píng)估什么給如今你的開(kāi)發(fā)和部署流程帶來(lái)了***的麻煩,然后優(yōu)先處理這一步。”
BMC的云管理和數(shù)據(jù)中心自動(dòng)化業(yè)務(wù)部的產(chǎn)品管理副總裁David Cramer贊同這一觀點(diǎn)。他說(shuō):“一開(kāi)始成功很重要,那樣團(tuán)隊(duì)才能樹(shù)立信心,并且為其他人樹(shù)立一個(gè)榜樣。初始團(tuán)隊(duì)的成功直接影響著大規(guī)模實(shí)施變化的難易程度。項(xiàng)目本身也很重要,所以務(wù)必要選擇對(duì)業(yè)務(wù)來(lái)說(shuō)有意義的方面。如果初始項(xiàng)目不是戰(zhàn)略性項(xiàng)目,人們就會(huì)輕視結(jié)果。”
2.專注于文化,而不是專注于工具。
最重要的一點(diǎn)是,采用開(kāi)發(fā)運(yùn)維就是改變變化。致力于自動(dòng)化或購(gòu)買新工具不足以帶來(lái)大多數(shù)企業(yè)組織希望實(shí)現(xiàn)的那種變化。
New Relic戰(zhàn)略營(yíng)銷團(tuán)隊(duì)的開(kāi)發(fā)運(yùn)維宣傳官Stevan Arychuk說(shuō):“一個(gè)常見(jiàn)的陷阱是一味關(guān)注技術(shù),而不是文化要素。開(kāi)發(fā)運(yùn)維注重各個(gè)技術(shù)和運(yùn)營(yíng)團(tuán)隊(duì)之間的信任和合作;工具和技術(shù)其實(shí)是為實(shí)現(xiàn)這個(gè)目標(biāo)而服務(wù)的。”
Buntuel說(shuō):“大多數(shù)技術(shù)團(tuán)隊(duì)認(rèn)為,工具可以解決所有問(wèn)題。雖然工具對(duì)開(kāi)發(fā)運(yùn)維轉(zhuǎn)型來(lái)說(shuō)絕對(duì)很重要,但是除非輔以實(shí)際而重大的文化變化,否則它們毫無(wú)幫助。認(rèn)真考慮你的業(yè)務(wù)目標(biāo),考慮信任和溝通,考慮原因。只有搞清楚了如何開(kāi)始文化轉(zhuǎn)型,你才可以往技術(shù)解決方案投入時(shí)間和精力。”
3.購(gòu)置實(shí)時(shí)深入了解項(xiàng)目的工具。
雖然光有技術(shù)還不夠,但是說(shuō)到如何采用開(kāi)發(fā)運(yùn)維這個(gè)問(wèn)題,工具絕對(duì)是答案的一部分。專家們表示,為了鼓勵(lì)溝通和合作,擁有讓每個(gè)人都能實(shí)時(shí)了解IT項(xiàng)目方面的工作進(jìn)展如何的工具,至關(guān)重要。
此外,企業(yè)組織需要確保,它們使用的所有不同的團(tuán)隊(duì)工具可以整合起來(lái)。企業(yè)組織購(gòu)買多款旨在支持開(kāi)發(fā)運(yùn)維的工具,這很常見(jiàn)。比如說(shuō),它們可能有版本控制管理系統(tǒng)、錯(cuò)誤跟蹤系統(tǒng)、溝通平臺(tái)、求助平臺(tái)、運(yùn)維監(jiān)控工具等。Buchanen表示,他“見(jiàn)過(guò)交付工具鏈不是很配套,導(dǎo)致許多團(tuán)隊(duì)發(fā)生碰撞的情況。”因而,他建議“工具整合是支持開(kāi)發(fā)運(yùn)維方面最有幫助的技術(shù)。”
4.部署自動(dòng)化技術(shù)。
開(kāi)發(fā)運(yùn)維技術(shù)另一個(gè)非常重要的部分是自動(dòng)化。Buntel說(shuō):“可幫助你以一種受控制、可擴(kuò)展的方式,實(shí)現(xiàn)流程自動(dòng)化的任何技術(shù)都大有幫助。”
眾多廠商目前提供自動(dòng)化工具,可以簡(jiǎn)化配置、監(jiān)控和維護(hù)網(wǎng)絡(luò)基礎(chǔ)設(shè)施這個(gè)過(guò)程。這些工具可以幫助企業(yè)組織更迅速地部署應(yīng)用程序,并有助于提高IT的效率。
同樣,Docker之類的容器化技術(shù)也大有幫助。容器簡(jiǎn)化了從開(kāi)發(fā)服務(wù)器到生產(chǎn)服務(wù)器的轉(zhuǎn)變,消除了部署過(guò)程中的許多棘手問(wèn)題。
5.加快部署速度。
據(jù)Puppet Lab的《2015年開(kāi)發(fā)運(yùn)維行情報(bào)告》聲稱,“相比表現(xiàn)較為遜色的IT部門,表現(xiàn)出色的IT部門遇到的故障要少60倍,從故障中恢復(fù)的速度卻要快168倍。它們部署的頻次也要高30倍,籌備時(shí)間縮短了200倍。”
同樣,弗雷斯特研究公司一份題為《新的軟件要?jiǎng)?wù):確保質(zhì)量的同時(shí)快速交付》的報(bào)告發(fā)現(xiàn),“一向以最快周期交付的開(kāi)發(fā)團(tuán)隊(duì)能夠在業(yè)務(wù)用戶當(dāng)中獲得***的滿意度。”重要的是,能夠以最快的速度交付新應(yīng)用程序的新團(tuán)隊(duì)也在構(gòu)建質(zhì)量***的軟件。
對(duì)大多數(shù)企業(yè)來(lái)說(shuō),加快部署速度是其開(kāi)發(fā)運(yùn)維項(xiàng)目的一個(gè)關(guān)鍵目標(biāo)。為了實(shí)現(xiàn)這個(gè)目標(biāo),它們常常部署有望加快開(kāi)發(fā)的技術(shù),它們常常實(shí)施敏捷開(kāi)發(fā)方法,比如測(cè)試驅(qū)動(dòng)的開(kāi)發(fā)、持續(xù)開(kāi)發(fā)、持續(xù)集成、結(jié)對(duì)編程和Scrum方法。專家們表示,企業(yè)組織牢記這一點(diǎn)很重要:方法和技術(shù)本身并不是目標(biāo);相反,它們只是實(shí)現(xiàn)諸多目標(biāo)的一種手段,比如加快部署、改善代碼質(zhì)量以及最終為業(yè)務(wù)部門提供更好的支持。
6.加大運(yùn)維團(tuán)隊(duì)的反饋。
雖然開(kāi)發(fā)運(yùn)維的開(kāi)發(fā)方面常常備受關(guān)注,但專家們提醒,不忘記運(yùn)維很重要。如果改善運(yùn)營(yíng)部門內(nèi)部以及運(yùn)維部門和IT組織其他部門之間的溝通和合作,企業(yè)組織常常能夠獲得顯著的效率。
Atlassian的開(kāi)發(fā)宣傳官Ian Buchanan說(shuō):“在許多情況下,敏捷開(kāi)發(fā)已經(jīng)促使開(kāi)發(fā)團(tuán)隊(duì)優(yōu)化其交付管道。如果一開(kāi)始致力于這個(gè)概念:簡(jiǎn)化來(lái)自運(yùn)維團(tuán)隊(duì)的反饋,而不是借助更多的交付自動(dòng)化實(shí)現(xiàn)局部***化,那些團(tuán)隊(duì)就能獲得更大的成效。”
7.制定衡量成效的一些KPI。
為什么你在向開(kāi)發(fā)運(yùn)維轉(zhuǎn)變?你怎么才能知道轉(zhuǎn)型是否成功?專家們表示,在實(shí)施開(kāi)發(fā)運(yùn)維之前問(wèn)答這些問(wèn)題是個(gè)好主意。理想情況下,開(kāi)發(fā)運(yùn)維應(yīng)該對(duì)你為公司跟蹤的一些關(guān)鍵績(jī)效指標(biāo)(KPI)有積極的影響。
New Relic戰(zhàn)略營(yíng)銷團(tuán)隊(duì)的開(kāi)發(fā)運(yùn)維宣傳官Stevan Arychuk認(rèn)為:“一定要搞清楚你為什么實(shí)施開(kāi)發(fā)運(yùn)維方法,并制定一套清晰的框架來(lái)衡量成效。開(kāi)發(fā)運(yùn)維的真正價(jià)值最終意味著,技術(shù)能夠更好地利用起來(lái),具有更大的靈活性,從而支持業(yè)務(wù),所以行之有效的開(kāi)發(fā)運(yùn)維戰(zhàn)略應(yīng)該是能夠使用KPI量化給業(yè)務(wù)帶來(lái)的積極影響。”
8.改變業(yè)務(wù)流程,與你的開(kāi)發(fā)節(jié)奏相一致。
你改變IT流程后,它同樣會(huì)影響業(yè)務(wù)的其他方面。Cramer建議要有“全局觀”。他解釋:“改變業(yè)務(wù)流程以便與來(lái)自開(kāi)發(fā)運(yùn)維的新版本發(fā)布節(jié)奏相一致,這很重要。比如說(shuō),營(yíng)銷團(tuán)隊(duì)可能落實(shí)了流程,專注于傳統(tǒng)的年度或半年度產(chǎn)品發(fā)布周期,如果發(fā)布的版本規(guī)模要小得多、頻次高得多,它們不知道如何改變流程。另一個(gè)例子就是內(nèi)部治理流程,需要深入了解12個(gè)月的發(fā)布計(jì)劃。”
IT領(lǐng)導(dǎo)人需要確保,除了開(kāi)發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)外,他們還在與另外這些部門溝通和合作。實(shí)際上,實(shí)施了開(kāi)發(fā)運(yùn)維的許多企業(yè)組織表示,這個(gè)理念背后的原則有助于另外許多內(nèi)部團(tuán)隊(duì),而不是僅僅有助于IT部門。
9.參與開(kāi)發(fā)運(yùn)維社區(qū)。
由于那么多的企業(yè)在采用開(kāi)發(fā)運(yùn)維,企業(yè)組織不需要“重新發(fā)明輪子。”專家們表示,如果公司參與開(kāi)發(fā)運(yùn)維會(huì)議或在線社區(qū),并且與實(shí)施類似項(xiàng)目的其他企業(yè)組織積極交流,就會(huì)大有收獲。
Buchanen特別指出:“確保開(kāi)發(fā)運(yùn)維切實(shí)可行的理念、實(shí)踐和工具在不斷改進(jìn)。你的人員需要利用社區(qū)來(lái)驗(yàn)證理念、衡量進(jìn)度,并且找到進(jìn)一步改進(jìn)的靈感來(lái)源。別害怕講述自己的故事,不管你在開(kāi)發(fā)運(yùn)維這條道路上處于什么階段??偸菚?huì)有另一家公司會(huì)覺(jué)得你的故事對(duì)它大有助益。”
開(kāi)發(fā)運(yùn)維的***實(shí)踐:是旅程,不是終點(diǎn)
隨著企業(yè)組織積極實(shí)施這些開(kāi)發(fā)運(yùn)維的***實(shí)踐,它們應(yīng)該牢記:采用開(kāi)發(fā)運(yùn)維是個(gè)長(zhǎng)期過(guò)程。不像ITIL、敏捷開(kāi)發(fā)或精益制造等其他IT管理實(shí)踐,開(kāi)發(fā)運(yùn)維與其說(shuō)是一種具體的框架或一套具體的實(shí)踐,更不如說(shuō)是一股潮流和一種理念。
在大多數(shù)情況下,企業(yè)不會(huì)達(dá)到可以說(shuō)自己“實(shí)現(xiàn)了開(kāi)發(fā)運(yùn)維”的狀態(tài)。相反,它們?cè)诓粩鄧L試新工具和新流程,試圖找到幫助自己將開(kāi)發(fā)和運(yùn)維更緊密地整合起來(lái)的工具和流程,最終為業(yè)務(wù)部門改善成效。
原文標(biāo)題:9 Best Practices for DevOps,作者:Cynthia Harvey
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】















 
 
 








 
 
 
 