十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
云計(jì)算 從敏捷開(kāi)發(fā)到DevOps,前一個(gè)階段都是后一個(gè)階段的基礎(chǔ);隨著階段的推進(jìn),每個(gè)階段的概念覆蓋的流程越來(lái)越多;最終DevOps涵蓋了整個(gè)開(kāi)發(fā)和運(yùn)維階段。正是由于每個(gè)階段涉及的范圍不同,因此每個(gè)概念所提供的工具也是不一樣的。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了臨潼免費(fèi)建站歡迎大家使用!
本文轉(zhuǎn)載自微信公眾號(hào)「大數(shù)據(jù)DT」,作者魏新宇 郭躍軍。轉(zhuǎn)載本文請(qǐng)聯(lián)系大數(shù)據(jù)DT公眾號(hào)。
談到DevOps的發(fā)展史,我們需要先談一下敏捷開(kāi)發(fā)。
敏捷開(kāi)發(fā)是面向軟件的,而軟件依賴(lài)于計(jì)算硬件。我們知道,世界上第一臺(tái)計(jì)算機(jī)是在1946年出現(xiàn)的,因此,軟件開(kāi)發(fā)相對(duì)于人類(lèi)歷史而言,時(shí)間并不長(zhǎng)。相對(duì)于軟件開(kāi)發(fā)而言,人們更擅長(zhǎng)工程學(xué),如蓋樓、造橋等。為了推動(dòng)軟件開(kāi)發(fā),1968年,人們將工程學(xué)的方法應(yīng)用到軟件領(lǐng)域,由此產(chǎn)生了軟件工程。
軟件工程的方式有其優(yōu)點(diǎn),但也帶來(lái)了不少問(wèn)題。最關(guān)鍵的一點(diǎn)是軟件不同于工程。通過(guò)工程學(xué)建造的大橋、高樓在竣工后,人們通常不會(huì)對(duì)大橋或高樓的主體有大量使用需求的變更;但軟件卻不同,對(duì)于面向最終用戶(hù)的軟件,人們對(duì)于軟件功能的需求是不斷變化的。
在瀑布式開(kāi)發(fā)模式下,當(dāng)客戶(hù)需求發(fā)生變化時(shí),軟件廠商需要修改軟件,這將會(huì)使企業(yè)的競(jìng)爭(zhēng)力大幅下降。
傳統(tǒng)的軟件開(kāi)發(fā)流程是:
這樣帶來(lái)的問(wèn)題是開(kāi)發(fā)周期比較長(zhǎng),并且如果有任何變更,都要重新走一遍開(kāi)發(fā)流程。在商場(chǎng)如戰(zhàn)場(chǎng)的今天,軟件一個(gè)版本推遲發(fā)布,可能到發(fā)布時(shí)這個(gè)版本在市場(chǎng)上就已經(jīng)過(guò)時(shí)了;而競(jìng)爭(zhēng)對(duì)手很可能由于在新軟件發(fā)布上快了一步,而迅速搶占客戶(hù)和市場(chǎng)。
正是由于商業(yè)環(huán)境的壓力,軟件廠商需要改進(jìn)開(kāi)發(fā)方式。
2001年年初,在美國(guó)猶他州滑雪勝地雪鳥(niǎo)城(Snowbird),17位專(zhuān)家聚集在一起,概括了一些可以讓軟件開(kāi)發(fā)團(tuán)隊(duì)更具有快速工作、適應(yīng)變化能力的價(jià)值觀,制定并簽署了軟件行業(yè)歷史上最重要的文件之一——敏捷宣言。
敏捷宣言中的主要價(jià)值觀如下:
有了敏捷宣言和敏捷開(kāi)發(fā)價(jià)值觀,后續(xù)產(chǎn)生了對(duì)應(yīng)的開(kāi)發(fā)流派。主要的敏捷開(kāi)發(fā)流派有極限編程(XP)、Scrum、水晶方法等。至此,敏捷開(kāi)發(fā)有理念、有方法、有實(shí)踐。隨著云計(jì)算概念的興起以及云計(jì)算的不斷落地,敏捷開(kāi)發(fā)也實(shí)現(xiàn)了工具化。
既然談到了敏捷開(kāi)發(fā),那么敏捷開(kāi)發(fā)和DevOps有什么關(guān)系呢?敏捷開(kāi)發(fā)是開(kāi)發(fā)領(lǐng)域里的概念,以敏捷開(kāi)發(fā)階段為基礎(chǔ),有如下階段:
敏捷開(kāi)發(fā)→持續(xù)集成→持續(xù)交付→持續(xù)部署→DevOps
從敏捷開(kāi)發(fā)到DevOps,前一個(gè)階段都是后一個(gè)階段的基礎(chǔ);隨著階段的推進(jìn),每個(gè)階段的概念覆蓋的流程越來(lái)越多;最終DevOps涵蓋了整個(gè)開(kāi)發(fā)和運(yùn)維階段。正是由于每個(gè)階段涉及的范圍不同,因此每個(gè)概念所提供的工具也是不一樣的。具體內(nèi)容參照?qǐng)D1-2。
▲圖1-2 從敏捷開(kāi)發(fā)到DevOps的進(jìn)階
DevOps是一組完整的實(shí)踐,涵蓋自動(dòng)化軟件開(kāi)發(fā)和IT團(tuán)隊(duì)之間的流程,以便他們可以更快速、更可靠地構(gòu)建、測(cè)試和發(fā)布軟件。
企業(yè)實(shí)施DevOps的收益主要在于大幅提升軟件的交付速度。這里,我們將使用洛克希德·馬丁公司的案例進(jìn)行分析。
洛克希德·馬丁公司的F-22猛禽戰(zhàn)斗機(jī)是世界一流的戰(zhàn)斗機(jī)之一,這得益于其隱身性、速度、敏捷性和態(tài)勢(shì)感知的獨(dú)特結(jié)合。洛克希德·馬丁公司與美國(guó)空軍合作,開(kāi)發(fā)敏捷的新方法,以更快速、更實(shí)惠的方式向F-22猛禽戰(zhàn)斗機(jī)提供關(guān)鍵能力。F-22猛禽戰(zhàn)斗機(jī)是世界上最戰(zhàn)斗機(jī)之一,要保持技術(shù)優(yōu)勢(shì),就必須不斷關(guān)注快速創(chuàng)新。
傳統(tǒng)的瀑布式開(kāi)發(fā)過(guò)程無(wú)法足夠快地為戰(zhàn)斗機(jī)提供關(guān)鍵能力。以前洛克希德·馬丁公司花了五到七年的時(shí)間來(lái)確定需求并為現(xiàn)有架構(gòu)(F-22最初于20世紀(jì)90年代初期建立)發(fā)布新功能。這一耗時(shí)的過(guò)程,再加上代碼質(zhì)量和集成問(wèn)題,產(chǎn)生了繁重的返工和自定義工作,導(dǎo)致該模式不再符合洛克希德·馬丁公司對(duì)軟件主導(dǎo)的創(chuàng)新的期望。
對(duì)于洛克希德·馬丁公司而言,保持F-22猛禽戰(zhàn)斗機(jī)的領(lǐng)先地位不僅僅在于升級(jí)其硬件和部署現(xiàn)代軟件平臺(tái)。相反,他們還尋求建立植根于創(chuàng)新和協(xié)作的團(tuán)隊(duì)文化,將創(chuàng)新和敏捷的方法運(yùn)用到應(yīng)用程序開(kāi)發(fā)中。
為此,洛克希德·馬丁公司希望采用軟件詞典中常見(jiàn)的原則和框架,例如敏捷、最小可行產(chǎn)品(MVP)和DevSecOps(融入了安全的DevOps)。
通過(guò)紅帽開(kāi)放創(chuàng)新實(shí)驗(yàn)室在洛克希德·馬丁公司為期八周的駐留,紅帽公司協(xié)助洛克希德·馬丁公司采用一種敏捷的方法論和DevSecOps實(shí)踐替代了用于F-22猛禽戰(zhàn)斗機(jī)升級(jí)的瀑布式開(kāi)發(fā)過(guò)程,從而更快速響應(yīng)美國(guó)空軍的需求。
洛克希德·馬丁公司和紅帽共同創(chuàng)建了一個(gè)基于紅帽O(jiān)penShift容器平臺(tái)的開(kāi)放架構(gòu),這使F-22團(tuán)隊(duì)能夠加快應(yīng)用程序的開(kāi)發(fā)和交付。
洛克希德·馬丁公司選擇紅帽開(kāi)放創(chuàng)新實(shí)驗(yàn)室來(lái)帶領(lǐng)他們完成敏捷轉(zhuǎn)型過(guò)程,并幫助他們?cè)贔-22上實(shí)施開(kāi)源架構(gòu),同時(shí)解開(kāi)其嵌入式系統(tǒng)網(wǎng)絡(luò),從而創(chuàng)造出更敏捷、更適應(yīng)美國(guó)空軍需求的產(chǎn)品。紅帽開(kāi)放創(chuàng)新實(shí)驗(yàn)室通過(guò)指導(dǎo)方式幫助洛克希德·馬丁公司的團(tuán)隊(duì)采用了敏捷開(kāi)發(fā)方法和DevSecOps實(shí)踐。
在一次探討會(huì)議和架構(gòu)審查之后,紅帽為洛克希德·馬丁公司建立了一個(gè)基于紅帽O(jiān)penShift容器平臺(tái)的環(huán)境,該平臺(tái)是值得信賴(lài)的企業(yè)Kubernetes平臺(tái)。OpenShift針對(duì)開(kāi)發(fā)人員的創(chuàng)新模式進(jìn)行了優(yōu)化,同時(shí)幫助客戶(hù)應(yīng)對(duì)安全、運(yùn)營(yíng)管理以及應(yīng)用程序和容器管理集成方面的IT挑戰(zhàn)。
OpenShift由Red Hat Enterprise Linux的可信賴(lài)基礎(chǔ)提供支持,Red Hat Enterprise Linux是業(yè)界最受認(rèn)可的操作系統(tǒng)之一,也是第一個(gè)支持Linux容器技術(shù)并獲得Common Criteria認(rèn)證支持的操作系統(tǒng),從而使該平臺(tái)非常適合滿(mǎn)足由洛克希德·馬丁公司及其客戶(hù)制定的高安全標(biāo)準(zhǔn)。
在紅帽開(kāi)放創(chuàng)新實(shí)驗(yàn)室與洛克希德·馬丁公司合作期間,一個(gè)由五個(gè)開(kāi)發(fā)人員、兩個(gè)運(yùn)維人員和一個(gè)產(chǎn)品負(fù)責(zé)人組成的跨職能團(tuán)隊(duì)共同合作,為OpenShift上的F-22開(kāi)發(fā)新的應(yīng)用程序,取得了良好的效果。隨后,洛克希德·馬丁公司用6個(gè)月時(shí)間,將OpenShift、敏捷方法和DevSecOps的成功經(jīng)驗(yàn)擴(kuò)展到了100人的F-22開(kāi)發(fā)團(tuán)隊(duì)。
洛克希德·馬丁公司的敏捷轉(zhuǎn)型已獲得回報(bào)。在最近的一次啟動(dòng)會(huì)議上,F(xiàn)-22猛禽戰(zhàn)斗機(jī)Scrum團(tuán)隊(duì)將其對(duì)未來(lái)沖刺的預(yù)測(cè)能力提高了40%。項(xiàng)目啟動(dòng)僅一年之后,洛克希德·馬丁公司就計(jì)劃在飛機(jī)上提前三年交付新的通信功能。洛克希德·馬丁公司正在繼續(xù)將此方法擴(kuò)展到整個(gè)F-22開(kāi)發(fā)組織。
紅帽開(kāi)放創(chuàng)新實(shí)驗(yàn)室與洛克希德·馬丁公司合作,不僅改變了其文化、流程和技術(shù),而且還促使其重新考慮了團(tuán)隊(duì)的實(shí)際工作方式。洛克希德·馬丁公司的F-22猛禽戰(zhàn)斗機(jī)開(kāi)發(fā)團(tuán)隊(duì)通過(guò)拆除壁壘創(chuàng)造了一個(gè)開(kāi)放的工作環(huán)境,從而推動(dòng)DevSecOps文化的進(jìn)一步推廣。
關(guān)于作者:魏新宇,紅帽副首席解決方案架構(gòu)師。在IaaS、PaaS方面有豐富的經(jīng)驗(yàn),致力于開(kāi)源解決方案在企業(yè)中的推廣和應(yīng)用。從售前角度主導(dǎo)了紅帽在金融、汽車(chē)行業(yè)的多個(gè)PaaS項(xiàng)目。曾就職于華為、IBM、VMware。
郭躍軍,目前就職于VMware,擔(dān)任Solutions Engineer。曾于紅帽擔(dān)任PaaS咨詢(xún)顧問(wèn)、AWS顧問(wèn)服務(wù)團(tuán)隊(duì)擔(dān)任云架構(gòu)咨詢(xún)顧問(wèn),熟悉私有云和公有云生態(tài)。從2015年接觸容器技術(shù)開(kāi)始,一直奮戰(zhàn)在PaaS建設(shè)一線(xiàn),參與了很多OpenShift項(xiàng)目的競(jìng)標(biāo)、PoC、咨詢(xún)和落地實(shí)施,幫助很多企業(yè)實(shí)現(xiàn)了數(shù)字化轉(zhuǎn)型。
本文摘編自《OpenShift在企業(yè)中的實(shí)踐:PaaS DevOps 微服務(wù)》(第2版),經(jīng)出版方授權(quán)發(fā)布。