雲集技術學社|帶你瞭解DevOps技術原理

雲集技術學社發表於2021-12-21

12月9日,業內資深容器雲研發專家Jacky在信服雲《雲集技術學社》系列直播課上進行了《DevOps技術原理與實踐》的分享,詳細介紹了DevOps技術的發展、開發中的關鍵技術、相關問題和注意點。以下是他的分享內容摘要,想要了解更多可以持續關注。

看點一:DevOps全景

在軟體工程的發展中, 開發模式從最開始瀑布模式、敏捷模式到現在把敏捷中的運維和開發串起來形成的DevOps模式。軟體技術架構從最開始的單體架構、到分層架構再到現在的微服務架構。 交付方式也從原來上線一個業務部署在物理機上,到部署在虛擬機器上,然後到當前可能更多的部署在容器裡面。 基礎設施也從原來建立機房的資料中心,到只關注一個雲主機,到現在使用者更關注的是東西怎麼釋出到雲上。

開發模式、軟體架構、交付方式和基礎設施的發展雖然是獨立的,但是在特定時期又相互交織。例如,在DevOps環境下,常用的部署方式是容器的方式,應用架構是微服務的架構,基礎設施是雲。

不同企業的DevOps模式是不同的。DevOps一般是從組織、技術、流程三個方面發揮作用,大致上都會有開發人員、版本控制系統、構建伺服器、工件庫、程式碼倉庫、包管理器、自動化案例庫、測試環境、預釋出環境、生產環境、監控系統、流水線等部分。組織是保證,技術是推動DevOps前進的核心生產力,流程是準則。最終實現文化升級,實現學習型和使命型的文化。

看點二:Devops時代軟體開發關鍵技術

DevOps時代下,有著6項軟體開發的關鍵技術。

流水線:流水線將各個分散的人物流串起來,形成一個自動化的工作流。流水線是DevOps的核心。常用的流水線實現有:Jenkins、Travis CI、CruiseControl、Buildbot、Apache Gump、Cabie、gitlab。目前業界比較常用的流水線是Jenkins。深信服雲原生流水線的實現則主要是基於k8s架構在雲原生平臺上去構建流水線的管理工具。

雲原生平臺:作為DevOps的載體,雲

原生平臺是DevOps的必要條件,它管理著多雲環境下的K8s叢集和雲平臺。以容器技術為核心的雲原生平臺為DevOps插上了翅膀,透過構建完善的PaaS能力或中臺,能大大提升DevOps的效率。

微服務:當應用系統龐大到需要十幾個獨立業務才能完成,在這種情況下必須把業務拆成足夠小的細顆粒才行,微服務透過自動化的方式讓每一個模組都可以獨立執行、獨立維護、獨立治理。管理、度量、管控三位一體的微服務治理,讓DevOps在業務側流轉起來。

監控:它是DevOps的晴雨表。沒有監控,使用者就無法瞭解系統線上上的執行情況。監控和告警是DevOps真正自動起來的保障。

測試和自動化:測試和自動化是從程式碼分支管理時就已經執行。在構建環境時會進行靜態程式碼掃描、編譯告警分析等操作。而到了測試環境,則針對功能、迴歸、API、UI等多方面進行測試保證整合功能可以釋出。預釋出時,還要進行極個別的動工測試、持續壓力測試、迴歸測試、灰度/金絲雀和演練。最終釋出到生產環境時會進行流量治理和運用混沌工程注入故障檢測系統穩定性。測試和自動化是DevOps成功與否的指標。

開源社群:DevOps之所以屬於敏捷的一個延伸,是因為它小步快跑的思路跟敏捷其實是一致的,只是DevOps把線上和線下這塊拉通了。DevOps目的是形成一個很小的作戰單元,更快地去反映和解決問題。實現這個目的的唯一路徑是使用更加先進的工具,開源社群正好就給它提供了這些工具。

看點三:DevOps的問題和注意點

關於DevOps,Jacky在直播課上介紹了三點注意事項:

安全問題:近幾年,安全左移成為了業界共識,即從開發階段就要開發安全系統。DevSecOps要求從一開始就要考慮應用和基礎架構的安全性。

混沌工程:透過在生產分散式系統上進行實驗,主動找出脆弱環節,從而使得系統真正可靠起來。混沌工程與常用的微服務治理結束相結合,實現執行狀態的真正高度可用。

團隊建設DevOps轉型到最後是文化的轉型。康威理論表明軟體設計的架構反應了團隊的組織和溝通架構。DevOps實際上是一場自上而下的組織變革,必須有組織保障,因此團隊建設至關重要。

還想學習雲端計算的更多幹貨嗎?敬請鎖定12月28日下午直播,雲集技術學社還將邀請更多的專家,分享他們對雲端計算技術的理解和實踐經驗。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009737/viewspace-2848634/,如需轉載,請註明出處,否則將追究法律責任。

相關文章