云集技術(shù)學社|帶你了解DevOps技術(shù)原理

12月9日,深信服容器云產(chǎn)品研發(fā)部研發(fā)負責人Jacky在信服云《云集技術(shù)學社》系列直播課上進行了《DevOps技術(shù)原理與實踐》的分享,詳細介紹了DevOps技術(shù)的發(fā)展、開發(fā)中的關(guān)鍵技術(shù)、相關(guān)問題和注意點。以下是他的分享內(nèi)容摘要,想要了解更多可以關(guān)注“深信服科技”公眾號觀看直播回放。

看點一:DevOps全景

在軟件工程的發(fā)展中,開發(fā)模式從最開始瀑布模式、敏捷模式到現(xiàn)在把敏捷中的運維和開發(fā)串起來形成的DevOps模式。軟件技術(shù)架構(gòu)從最開始的單體架構(gòu)、到分層架構(gòu)再到現(xiàn)在的微服務(wù)架構(gòu)。交付方式也從原來上線一個業(yè)務(wù)部署在物理機上,到部署在虛擬機上,然后到當前可能更多的部署在容器里面?;A(chǔ)設(shè)施也從原來建立機房的數(shù)據(jù)中心,到只關(guān)注一個云主機,到現(xiàn)在用戶更關(guān)注的是東西怎么發(fā)布到云上。

開發(fā)模式、軟件架構(gòu)、交付方式和基礎(chǔ)設(shè)施的發(fā)展雖然是獨立的,但是在特定時期又相互交織。例如,在DevOps環(huán)境下,常用的部署方式是容器的方式,應(yīng)用架構(gòu)是微服務(wù)的架構(gòu),基礎(chǔ)設(shè)施是云。

不同企業(yè)的DevOps模式是不同的。DevOps一般是從組織、技術(shù)、流程三個方面發(fā)揮作用,大致上都會有開發(fā)人員、版本控制系統(tǒng)、構(gòu)建服務(wù)器、工件庫、代碼倉庫、包管理器、自動化案例庫、測試環(huán)境、預(yù)發(fā)布環(huán)境、生產(chǎn)環(huán)境、監(jiān)控系統(tǒng)、流水線等部分。組織是保證,技術(shù)是推動DevOps前進的核心生產(chǎn)力,流程是準則。最終實現(xiàn)文化升級,實現(xiàn)學習型和使命型的文化。

看點二:Devops時代軟件開發(fā)關(guān)鍵技術(shù)

DevOps時代下,有著6項軟件開發(fā)的關(guān)鍵技術(shù)。

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

云原生平臺:作為DevOps的載體,云原生平臺是DevOps的必要條件,它管理著多云環(huán)境下的K8s集群和云平臺。以容器技術(shù)為核心的云原生平臺為DevOps插上了翅膀,通過構(gòu)建完善的PaaS能力或中臺,能大大提升DevOps的效率。

微服務(wù):當應(yīng)用系統(tǒng)龐大到需要十幾個獨立業(yè)務(wù)才能完成,在這種情況下必須把業(yè)務(wù)拆成足夠小的細顆粒才行,微服務(wù)通過自動化的方式讓每一個模塊都可以獨立運行、獨立維護、獨立治理。管理、度量、管控三位一體的微服務(wù)治理,讓DevOps在業(yè)務(wù)側(cè)流轉(zhuǎn)起來。

監(jiān)控:它是DevOps的晴雨表。沒有監(jiān)控,用戶就無法了解系統(tǒng)在線上的運行情況。監(jiān)控和告警是DevOps真正自動起來的保障。

測試和自動化:測試和自動化是從代碼分支管理時就已經(jīng)運行。在構(gòu)建環(huán)境時會進行靜態(tài)代碼掃描、編譯告警分析等操作。而到了測試環(huán)境,則針對功能、回歸、API、UI等多方面進行測試保證集成功能可以發(fā)布。預(yù)發(fā)布時,還要進行極個別的動工測試、持續(xù)壓力測試、回歸測試、灰度/金絲雀和演練。最終發(fā)布到生產(chǎn)環(huán)境時會進行流量治理和運用混沌工程注入故障檢測系統(tǒng)穩(wěn)定性。測試和自動化是DevOps成功與否的指標。

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

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

關(guān)于DevOps,Jacky在直播課上介紹了三點注意事項:

安全問題:近幾年,安全左移成為了業(yè)界共識,即從開發(fā)階段就要開發(fā)安全系統(tǒng)。DevSecOps要求從一開始就要考慮應(yīng)用和基礎(chǔ)架構(gòu)的安全性。

混沌工程:通過在生產(chǎn)分布式系統(tǒng)上進行實驗,主動找出脆弱環(huán)節(jié),從而使得系統(tǒng)真正可靠起來?;煦绻こ膛c常用的微服務(wù)治理結(jié)束相結(jié)合,實現(xiàn)運行狀態(tài)的真正高度可用。

團隊建設(shè):DevOps轉(zhuǎn)型到最后是文化的轉(zhuǎn)型??低碚摫砻鬈浖O(shè)計的架構(gòu)反應(yīng)了團隊的組織和溝通架構(gòu)。DevOps實際上是一場自上而下的組織變革,必須有組織保障,因此團隊建設(shè)至關(guān)重要。

還想學習云計算的更多干貨嗎?敬請鎖定下期直播,云集技術(shù)學社還將邀請更多的專家,分享他們對云計算技術(shù)的理解和實踐經(jīng)驗。

(免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關(guān)資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )