2020年值得關注的DevOps趨勢!
- 2019 年 12 月 17 日
- 筆記
以下是2020年在DevOps中您可以期待的內容。Netscape的創始人馬克•安德森(Marc Andreessen)很久以前就說過,軟體正在吞噬整個世界。他還表示,如今每家公司都是軟體公司,軟體公司已經準備好佔領經濟的大部分領域。
到2020年,您將清楚地看到DevOps中持續的更新將改變軟體交付到幾乎無限市場的方式。DevOps已經成為在這個競爭激烈的技術世界中繁榮發展的必需品。
DevOps簡介
雖然企業對DevOps有不同的理解,但我們可以將DevOps定義為團隊採用的一種思維方式,以使其工程勢頭調整到新的高度。DevOps主要的目的是關於消除工程上的障礙,比如思想和執行之間的文化障礙,從而使軟體的發布過程更好、更快、更便宜、更安全。
無論您怎麼稱呼它,它都應該歸結為自動化,這反過來應該有助於公司快速發展、快速上市、快速失敗、快速恢復和快速學習。
從SDLC模型到今天,情況已經發生了巨大的變化。在2009年,DevOps被創造出來,它提倡文化轉型和一些將所有內容都視為程式碼的技術原則。之後出現了像CI/CD這樣的原則,但是,該軟體曾經是作為一個大的整體來編寫的,這帶來了許多挑戰。
因此,在2011年,引入了微服務體系結構,這種微服務體系結構提倡細粒度和鬆散耦合的組件,並承擔特定的任務。
按照這種鬆散耦合的基於微服務的體系結構編寫的應用程式被稱為「雲原生」。這些公司正在根據他們的業務需求和目標,從vm過渡到Kubernetes,再過渡到無伺服器。
根據Kelly Shortridge和Nicole Forsgren博士在《2019年美國黑帽》雜誌上發表的一張幻燈片,當你與DevOps行業的精英進行基準測試時,四個因素是很重要的。
- 變更準備時間
- 發布頻率
- 恢復時間
- 變更失敗率
DevOps性能指標
在本文中,我們將了解DevOps的未來。
1.雲原生將成為必要
迪亞曼蒂對500多名IT領導者的調查表明,無論以何種標準衡量,容器技術都已經發展得遠遠超出了這一範疇,並在一年之內顯著成熟,從開發人員試驗轉向生產。雲原生技術將上升到新的高度,尤其是Kubernetes的採用。雲原生技術為企業提供了更高的優勢,可以更快地推向市場
為什麼選擇雲原生?
採用雲原生實踐意味著更好的創新、更先進的轉換和更豐富的客戶體驗。正如我在另一篇文章「cloud-native DevOps」中所描述的,cloud-native從根本上促進了雲自動化,即自動管理雲計算服務的安裝、配置和監督。它是在正確的時間使用技術為雲計算資源做出更可靠的業務決策。
根據甲骨文公司對雲計算未來的預測,預計到2025年,80%的it企業將轉向雲計算。CNCF的調查結果顯示,在生產中使用雲本地技術的增長超過200%。
去年,服務提供商雲計算基金會的開源平台執行董事Abby Kearns在2018年的LinuxCon + ContainerCon + CloudOpen China(簡稱LC3)大會上發表了一篇主旨演講,對雲原生平台進行了更深入的闡述。
「雲原生技術和雲原生應用正在增長,」卡恩斯說。在未來18個月里,組織編寫和使用雲原生應用程式的組織數量將會增加100%,」她補充道。這意味著您不能再僅僅投資於IT,還需要投資雲技術。(引用Abby Kearns的主題演講「塑造雲原生的未來」)
美國空軍是她在她的演講中提到的最好的例子之一,她在演講中談到了美國空軍已經變得多麼敏捷,並使用了前沿技術和雲計算的固有原則。美國空軍已經實施了敏捷實踐,現在正在利用雲技術開發應用程式,以在多個雲上運行。
2.容器註冊服務呈現上升趨勢
這一點本來可以包含在雲原生部分本身中。儘管如此,我認為這仍然需要特別注意,因為現在大多數軟體公司都沉迷於容器註冊表,它幫助開發人員存儲和管理工件和所有依賴項,以實現軟體開發生命周期平穩進行。
就像在版本控制的存儲庫(如Git)中管理應用程式源程式碼一樣,管理Docker映像也是非常重要的。Docker還提供了類似的管理Docker映像的功能,這些映像可以在您的開發機器上本地管理,甚至可以在遠程容器註冊表(也稱為Docker hub)上管理。
但是,有時這些映像容易出現許多與安全相關的問題,並且很容易被黑客訪問。因此,現代企業需要一種安全可靠的方法來通過註冊表、容器註冊表管理和維護它們的容器映像。
當涉及到處理容器化應用程式和微服務體系結構的DevOps團隊時,容器註冊表已經成為必備的條件。隨著Docker和雲原生應用的日益普及,容器映像管理成為現代軟體開發的重要組成部分。容器註冊表只是存儲庫的集合,這些存儲庫主要用於存儲容器映像。
在最近一次聖地亞哥的KubeCon會議上,JFrog宣布了它自己的容器註冊表。基於Artifactory的強大功能,JFrog容器註冊表是市場上最可靠的免費容器註冊表。它是可擴展的、混合的,帶有Artifactory的良好用戶介面,並由Artifactory提供支援。
當今市場上其他著名的容器註冊中心包括:
- Amazon Elastic Container Registry (ECR)
- Dockerhub
- JFrog Container Registry
- Azure Container Registry
- Google Container Registry
容器註冊表應該具有完全混合的特性,包括Docker註冊表、Helm註冊表、通用存儲庫、遠程存儲庫、虛擬存儲庫和豐富的元數據。
哪裡需要容器註冊表?
容器註冊表有幾個必要的原因。
1.隨著雲原生方法的增加,我們看到使用Kubernetes,Docker,Artifactory,Helm和Istio等工具在企業級進行了快速的數字化轉型。全世界都在快速地向容器註冊技術過渡,這就是容器應用程式快速、安全地交付的未來。
2.混合動力汽車的競爭正在升溫。大多數雲提供商都為他們的服務提供免費的註冊層,因為他們知道它的重要性。
3.Docker容器往往會佔用大量的存儲空間,並且經常被移動。這意味著存儲成本很高,有時,安全性可能會成為一個問題。因此,我們看到一些公司除了Docker之外,其他任何事情都使用Artifactory,並使用其他免費工具來管理它們的容器。很高興看到JFrog現在有了自己的容器註冊表:)
4.註冊中心可以充當遠程和虛擬容器存儲庫,其中具有豐富的元數據,這些元數據是DevOps中必須考慮的因素。
5.獲得關於工件的寶貴的見解。
3.Golang和DevOps將共同發展
Golang作為一種程式語言將對DevOps社區將產生更大的影響,當然它現在已經在產生影響了。大多數DevOps工具如Kubernetes、Helm、Docker、etcd、Istio等都是用Go編寫的。Kubernetes的創始人Joe Beda寫了為什麼Kubernetes是用Go寫的。
Golang非常適合在您不能或不想安裝依賴項的環境中工作,因為它會編譯成獨立的二進位文件。無需設置整個環境,您就可以比其他程式語言更快地完成工作。
在最近於倫敦和聖地亞哥舉行的GopherCon大會上,JFrog對一千多名開發者進行了調查,以更好地了解Go社區和對Go模組的總體看法。
他們發現了什麼?
- Go開發人員非常投入
- 超過82%的Go開發人員使用能夠使用Go模組的Go版本,而現在使用這些模組的人數與預計到2020年中期使用的人數幾乎相同。
- Go模組的使用率很高
- GoLang被廣泛應用於各個行業
- 選擇Go模組很難
4.安全將成為更重要的優先事項
在開發生命周期中,安全性比以往任何時候都更加重要。安全成為每個人的責任,而不僅僅是安全專家的責任。
全球DevSecOps市場
DevSecOps這個詞看起來只是另一個流行詞,但其實它需要給予安全性更多的重視。DevSecOps在組織內創建安全意識和共享知識庫,以加強軟體開發過程中的安全性。今年早些時候,Capital One的數據泄露使雲安全成為一個令人擔憂的因素,因此,人們關注的焦點是保護公共雲中的數據。
三星Note 7的災難在很大程度上解釋了為什麼安全在開發過程的開始和開發生命周期的每個階段都如此重要。專家推測,Note 7手機的一個問題涉及電池管理系統。該系統監控電流並在電池充滿時停止充電過程。該系統的一個故障導致電池過度充電變得不穩定,並最終爆炸。
這一漏洞修復花費了三星近170億美元。如果公司能早點發現這個問題,他們就能省下一大筆錢,還能挽回品牌聲譽。
要發展策略方法,使安全性成為組織內的一項必須,以下是一些需要考慮的要點:
- 從小處著手,在開發生命周期的每個階段都有安全檢查點。
- 對於開發人員,將安全性作為其工作的一部分,並將其作為性能評估的一部分。
- 開發和運營團隊需要將安全性視為品質。
- 不要將DevOps和安全性分開;徹底地將它們聯合起來,使之成為您的工程團隊的座右銘。
許多公司將採用混沌工程原理來檢查系統的穩定性和可靠性,並了解安全問題的嚴重程度。故意破壞系統可以幫助你找到更大的漏洞&將確保黑客不會發現任何漏洞。這也將幫助組織在客戶發現bug之前找到它們。目標是讓您的系統比以往任何時候都更強大。
5.開源將超越邊界
開源給開發人員帶來的好處和靈活性使它越來越受到重視。開放源碼正在發展中,Synopsys最近的一項調查發現,幾乎70%的企業組織正在為開放源程式碼項目做出貢獻或擁有開源項目。
為什麼開源?
開源軟體對開發人員個人來說是提高技能的好方法。開放源碼為開發人員提供了一個途徑:
- 學習解決問題的新技術和有效方法。
- 協作並獲得在項目中一起工作的經驗。
- 對開源軟體做出貢獻會產生一種歸屬感;它會讓你成為某個大項目的一部分,成為一個有著相同目標和心態的社區的一部分。
在最近的開放源程式碼印度2019年會議上,我們調查了近300名開放源程式碼專業人士,當我們問他們喜歡開放源程式碼軟體的原因時,他們的回答如下,訂製是大多數人喜歡開源軟體的一個事實。
CB Insights最近的一項研究顯示,預計開源服務行業在2019年將超過170億美元,到2022年有望達到近330億美元。
像微軟、Google、英特爾和Facebook這樣的大公司都不是開源公司,他們都在積極地為GitHub上的各種項目做貢獻。2018年,Google員工集體貢獻5500筆,其中的許多這樣的貢獻都幫助了小型的、獨立的項目。
許多人支援Google的開源軟體項目,如Kubernetes、Istio和Knative,這些項目需求量很大。隨著企業資助的項目變得越來越受歡迎,獨立開發人員將繼續做出貢獻。這表明這些巨頭應該站出來幫助開源社區成長。
例如,微軟的Visual Studio Code項目總共有19,000多個貢獻者。有了成千上萬的開發者的貢獻,這些科技巨頭受益於免費的開發者輸入和直接的用戶回饋。這使得組織可以更快地構建更好的軟體,開源技術無疑已經成為主流並擁有光明的未來。
Cloud Native Foundation的生態系統主管Cheryl Hung最近在歐洲Linux基金會開源峰會上的演講中明確表示,大公司現在正在開發開源項目。尤其是Kubernetes,它創造了一個龐大的社區。
6.無伺服器仍然是一種趨勢,但有一個光明的未來
以毫秒為單位進行部署是未來的趨勢,許多公司已經充分利用了無伺服器架構。無伺服器市場預計到2021年將達到77億美元。根據RightScale的2018年雲狀態報告,serverless是目前增長最快的雲服務模式,年增長率為75%,預計到2020年將超過預期。
當前的無伺服器計算選項包括:
- AWSλ
- 微軟Azure
- Google雲平台
- IBM Bluemix / OpenWhisk
為什麼開發人員更喜歡無伺服器:
- 開發人員的生產力
- 更快的部署
- 增強可擴展性
- 良好的用戶體驗
- 更低的成本和基礎設施
2017年5月,微軟首席執行官薩蒂亞·納德拉(Satya Nadella)承認了無伺服器的潛力及其改變雲電腦制的能力。
他表示,「但是我認為將徹底改變我們的邏輯的看法的一件事是無伺服器。因此,serverless計算將不僅從根本上改變了後端計算的經濟性,而且將成為未來分散式計算的核心。」
Lego的無伺服器之旅
將向你展示,你的旅程可以從一小步開始,最終取得巨大的成功。黑色星期五/網路星期一的災難使他們轉向無伺服器。Lego有一個包括Oracle ATG的舊系統,其中8台伺服器與同一個資料庫進行通訊,而SAP則在後端支援TAX系統。
有了以上的舊系統,他們為一年一度的黑色星期五/網路星期一活動進行了現場直播,而系統無法控制夜間垂直峰值,這變成了一場災難,。結果,發生了一系列事件,首先是稅收系統崩潰,導致SAP系統崩潰,結果整個Lego電子商務平台宕機2個小時,這使他們蒙受了相當大的損失。
這個事件讓他們想到了無伺服器。為什麼?
災難過後,Lego團隊決定遷移到雲上,有一個簡單的API,把Lambda放在後面,然後直接使用它。這是Lego轉向無伺服器的第一步。這使得他們也轉向了微服務架構,甚至DevOps和自動化。
Lego團隊從單個Lambda開始計算營業稅,現在它使用Lambda。
7.數字轉型將為他人樹立榜樣
我們將看到許多組織走出他們的舒適區並嘗試新技術,甚至像醫療保健、金融機構、政府部門等傳統部門也將看到通過擁抱雲原生和DevOps實踐的數字轉型帶來的全面大幅改善。讓我們看看最近一些有趣的案例研究。
看看快遞服務公司聯邦快遞(FedEx)是如何實現數字化轉型的吧。聯邦快遞沒有足夠的IT專業人員來使用現代雲計算和DevOps流程,但它並沒有就此止步。聯邦快遞深知其工程師人才庫中技能不足的問題,因此CIO Rob Carte找到了一個解決方案。聯邦快遞成為了一所大學,開始教授自己的工程師先進的計算技能和現代的軟體開發方式。
為此,創建了團隊,並將其命名為「The Cloud Dojo」。Dojo包含一個跨職能的團隊,由雲開發專家、安全專家和操作專家組成,並位於一個位置。目標是培訓團隊將傳統的工程與現代的雲實踐相結合——DevOps、雲原生、重寫舊應用程式以在雲中運行,以及自動化相結合。這個稱為Cloud Dojo的本土團隊已經重新培訓了2,500多名軟體程式設計師。
迄今為止,聯邦快遞已經為雲計算重寫了200多個生產應用程式,其中有300多個應用程式可供使用。聯邦快遞的雲Dojo團隊獲得了2019年CIO 100 IT卓越獎。
Box的數字轉型之旅
幾年前,Box花了六個月的時間建立了一個新的微服務。到了今天,只需要幾天時間。他們是怎樣設法加快速度的?兩個關鍵因素使之成為可能:
Kubernetes技術
DevOps實踐
Box成立於2005年,是一個獨立的PHP應用程式,隨著時間的推移,它已經增長到數百萬行程式碼。他們應用程式的整體特性導致他們基本上構建了非常緊密耦合的設計,而這種緊密耦合正朝著他們的方向發展。這導致他們無法像自己想要的那樣快速創新。他們的應用程式的一部分的錯誤將要求他們回滾整個應用程式。
如此多的工程師使用數百萬行程式碼在相同的程式碼基礎上工作,bug並不少見。要按時發布特性甚至修復bug變得越來越困難。因此,他們尋找解決方案,並決定採用微服務方法。但之後他們開始面臨另一組問題,那就是Kubernetes出現的地方。
8.多雲將蓬勃發展到新的高度
多雲技術將蓬勃發展。大多數企業都有混合雲戰略。許多應用程式被編寫為在prem和off-prem上運行,並且可能在多個公共雲環境上運行。Google的雲服務平台Anthos是一個不錯的驗證,它證明了對於軟體公司來說,多雲將變得過於靈活和划算。
Azure和AWS是這個領域的領導者,它們將主宰多雲的未來。
根據最近的RightScale 2019年國家雲報告,可以看到84%的企業有一個多雲戰略。
多雲與當今日益增長的市場趨勢高度相關。根據國際數據公司(IDC)最近一項名為「雲匯在多雲世界中加速發展」(Cloud in a Multicloud World)的調查,多雲最好地描述了當今的雲現實。
多重雲部署
多重雲部署雖然有很多關於雲成本優化和廠商鎖定的討論,但多雲解決了一些關鍵問題,這是公司用來避免廠商鎖定、成本優化、安全性、數據主權、最小化停機時間等的模型。
擁抱DevOps只是一個開始,還有很長的路要走。公司的數量與日俱增,對雲的依賴使得DevOps市場成為一個大市場。聯合市場研究公司(Allied Market Research)估計,到2023年,DevOps全球市場的年複合增長率將達到18.7%,達到94億美元。DevOps將開發和操作結合在一起,並給予團隊更高的信心和自由度來以更高的速度和品質交付產品。
DevOps尚未完成增長;它的發展日新月異,前景廣闊。我們都知道,根據Forrester的數據,2018年是企業DevOps年。實施DevOps實踐的企業從失敗中恢復的速度快了24倍,並且花在安全問題上的時間少了50%,DevOps被證明可以產生更快樂、更投入的團隊。
我希望這些DevOps趨勢能讓您了解市場的發展方向,以及您如何為更加敏捷和快速發布做好準備。