tft每日頭條

 > 生活

 > devops需要什麼技術

devops需要什麼技術

生活 更新时间:2024-11-22 22:55:30

導讀:DevOps中的Dev指的是Development(開發),Ops指的是Operations(運維),用一句話來說,DevOps就是打通開發運維的壁壘,實現開發運維一體化。

作者:魏新宇 郭躍軍

來源:華章科技

devops需要什麼技術(終于有人把DevOps講明白了)1

01 從瀑布式開發到敏捷開發

談到DevOps的發展史,我們需要先談一下敏捷開發。

敏捷開發是面向軟件的,而軟件依賴于計算硬件。我們知道,世界上第一台計算機是在1946年出現的,因此,軟件開發相對于人類曆史而言,時間并不長。相對于軟件開發而言,人們更擅長工程學,如蓋樓、造橋等。為了推動軟件開發,1968年,人們将工程學的方法應用到軟件領域,由此産生了軟件工程。

軟件工程的方式有其優點,但也帶來了不少問題。最關鍵的一點是軟件不同于工程。通過工程學建造的大橋、高樓在竣工後,人們通常不會對大橋或高樓的主體有大量使用需求的變更;但軟件卻不同,對于面向最終用戶的軟件,人們對于軟件功能的需求是不斷變化的。

在瀑布式開發模式下,當客戶需求發生變化時,軟件廠商需要修改軟件,這将會使企業的競争力大幅下降。

傳統的軟件開發流程是:

  • 産品經理收集一線業務部門和客戶的需求,這些需求可能是新功能需求,也可能是對産品現有功能做變更的需求;
  • 然後進行評估、分析,将這些需求制定為産品的路線圖,并且分配相應的資源進行相關工作;
  • 接下來,産品經理将需求輸出給開發部門,開發工程師寫代碼;
  • 寫好以後,就由不同部門的人員進行後續的代碼構建、質量檢驗、集成測試、用戶驗收測試,最後交給生産部門。

這樣帶來的問題是開發周期比較長,并且如果有任何變更,都要重新走一遍開發流程。在商場如戰場的今天,軟件一個版本推遲發布,可能到發布時這個版本在市場上就已經過時了;而競争對手很可能由于在新軟件發布上快了一步,而迅速搶占客戶和市場。

正是由于商業環境的壓力,軟件廠商需要改進開發方式。

2001年年初,在美國猶他州滑雪勝地雪鳥城(Snowbird),17位專家聚集在一起,概括了一些可以讓軟件開發團隊更具有快速工作、适應變化能力的價值觀,制定并簽署了軟件行業曆史上最重要的文件之一——敏捷宣言

敏捷宣言中的主要價值觀如下:

  • 個體和互動高于流程和文檔。
  • 工作的軟件高于詳盡的文檔。
  • 客戶合作高于合同談判。
  • 響應變化高于遵循計劃。

有了敏捷宣言和敏捷開發價值觀,後續産生了對應的開發流派。主要的敏捷開發流派有極限編程(XP)、Scrum、水晶方法等。至此,敏捷開發有理念、有方法、有實踐。随着雲計算概念的興起以及雲計算的不斷落地,敏捷開發也實現了工具化。

02 從敏捷開發到DevOps

既然談到了敏捷開發,那麼敏捷開發和DevOps有什麼關系呢?敏捷開發是開發領域裡的概念,以敏捷開發階段為基礎,有如下階段:

敏捷開發→持續集成→持續交付→持續部署→DevOps

從敏捷開發到DevOps,前一個階段都是後一個階段的基礎;随着階段的推進,每個階段的概念覆蓋的流程越來越多;最終DevOps涵蓋了整個開發和運維階段。正是由于每個階段涉及的範圍不同,因此每個概念所提供的工具也是不一樣的。具體内容參照圖1-2。

devops需要什麼技術(終于有人把DevOps講明白了)2

▲圖1-2 從敏捷開發到DevOps的進階

  • 持續集成(Continuous Integration):代碼集成到主幹之前,必須全部通過自動化測試;隻要有一個測試用例失敗,就不能集成。持續集成要實現的目标是在保持高質量的基礎上讓産品可以快速叠代。
  • 持續交付(Continuous Delivery):開發人員頻繁地将軟件的新版本交付給質量團隊或者用戶,以供評審。如果通過評審,代碼就被發布。如果未通過評審,那麼需要變更後再提交。
  • 持續部署(Continuous Deployment):代碼通過評審并發布後,自動部署到生産環境,以交付最終用戶使用。

DevOps是一組完整的實踐,涵蓋自動化軟件開發和IT團隊之間的流程,以便他們可以更快速、更可靠地構建、測試和發布軟件。

03 洛克希德·馬丁公司實施DevOps的收益

企業實施DevOps的收益主要在于大幅提升軟件的交付速度。這裡,我們将使用洛克希德·馬丁公司的案例進行分析。

洛克希德·馬丁公司的F-22猛禽戰鬥機是世界一流的戰鬥機之一,這得益于其隐身性、速度、敏捷性和态勢感知的獨特結合。洛克希德·馬丁公司與美國空軍合作,開發敏捷的新方法,以更快速、更實惠的方式向F-22猛禽戰鬥機提供關鍵能力。F-22猛禽戰鬥機是世界上最先進的戰鬥機之一,要保持技術優勢,就必須不斷關注快速創新。

傳統的瀑布式開發過程無法足夠快地為戰鬥機提供關鍵能力。以前洛克希德·馬丁公司花了五到七年的時間來确定需求并為現有架構(F-22最初于20世紀90年代初期建立)發布新功能。這一耗時的過程,再加上代碼質量和集成問題,産生了繁重的返工和自定義工作,導緻該模式不再符合洛克希德·馬丁公司對軟件主導的創新的期望。

對于洛克希德·馬丁公司而言,保持F-22猛禽戰鬥機的領先地位不僅僅在于升級其硬件和部署現代軟件平台。相反,他們還尋求建立植根于創新和協作的團隊文化,将創新和敏捷的方法運用到應用程序開發中。

為此,洛克希德·馬丁公司希望采用軟件詞典中常見的原則和框架,例如敏捷、最小可行産品(MVP)和DevSecOps(融入了安全的DevOps)。

通過紅帽開放創新實驗室在洛克希德·馬丁公司為期八周的駐留,紅帽公司協助洛克希德·馬丁公司采用一種敏捷的方法論和DevSecOps實踐替代了用于F-22猛禽戰鬥機升級的瀑布式開發過程,從而更快速響應美國空軍的需求。

洛克希德·馬丁公司和紅帽共同創建了一個基于紅帽OpenShift容器平台的開放架構,這使F-22團隊能夠加快應用程序的開發和交付。

洛克希德·馬丁公司選擇紅帽開放創新實驗室來帶領他們完成敏捷轉型過程,并幫助他們在F-22上實施開源架構,同時解開其嵌入式系統網絡,從而創造出更敏捷、更适應美國空軍需求的産品。紅帽開放創新實驗室通過指導方式幫助洛克希德·馬丁公司的團隊采用了敏捷開發方法和DevSecOps實踐。

在一次探讨會議和架構審查之後,紅帽為洛克希德·馬丁公司建立了一個基于紅帽OpenShift容器平台的環境,該平台是值得信賴的企業Kubernetes平台。OpenShift針對開發人員的創新模式進行了優化,同時幫助客戶應對安全、運營管理以及應用程序和容器管理集成方面的IT挑戰。

OpenShift由Red Hat Enterprise Linux的可信賴基礎提供支持,Red Hat Enterprise Linux是業界最受認可的操作系統之一,也是第一個支持Linux容器技術并獲得Common Criteria認證支持的操作系統,從而使該平台非常适合滿足由洛克希德·馬丁公司及其客戶制定的高安全标準。

在紅帽開放創新實驗室與洛克希德·馬丁公司合作期間,一個由五個開發人員、兩個運維人員和一個産品負責人組成的跨職能團隊共同合作,為OpenShift上的F-22開發新的應用程序,取得了良好的效果。随後,洛克希德·馬丁公司用6個月時間,将OpenShift、敏捷方法和DevSecOps的成功經驗擴展到了100人的F-22開發團隊。

洛克希德·馬丁公司的敏捷轉型已獲得回報。在最近的一次啟動會議上,F-22猛禽戰鬥機Scrum團隊将其對未來沖刺的預測能力提高了40%。項目啟動僅一年之後,洛克希德·馬丁公司就計劃在飛機上提前三年交付新的通信功能。洛克希德·馬丁公司正在繼續将此方法擴展到整個F-22開發組織。

紅帽開放創新實驗室與洛克希德·馬丁公司合作,不僅改變了其文化、流程和技術,而且還促使其重新考慮了團隊的實際工作方式。洛克希德·馬丁公司的F-22猛禽戰鬥機開發團隊通過拆除壁壘創造了一個開放的工作環境,從而推動DevSecOps文化的進一步推廣。

關于作者:魏新宇,紅帽副首席解決方案架構師。在IaaS、PaaS方面有豐富的經驗,緻力于開源解決方案在企業中的推廣和應用。從售前角度主導了紅帽在金融、汽車行業的多個PaaS項目。曾就職于華為、IBM、VMware。

郭躍軍,目前就職于VMware,擔任Solutions Engineer。曾于紅帽擔任PaaS咨詢顧問、AWS顧問服務團隊擔任雲架構咨詢顧問,熟悉私有雲和公有雲生态。從2015年接觸容器技術開始,一直奮戰在PaaS建設一線,參與了很多OpenShift項目的競标、PoC、咨詢和落地實施,幫助很多企業實現了數字化轉型。

本文摘編自《OpenShift在企業中的實踐:PaaS DevOps 微服務》(第2版),經出版方授權發布。

devops需要什麼技術(終于有人把DevOps講明白了)3

延伸閱讀《OpenShift在企業中的實踐》

推薦語:本書以紅帽OpenShift v4為核心編寫,從客戶的數字化轉型入手,介紹如何通過OpenShift構建PaaS平台、實現DevOps、雲原生、微服務。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved