阿銘基于云原生的一體化監(jiān)控系統(tǒng)
DevOps開發(fā)流程
1.開發(fā)人員
開發(fā)人員是代碼編寫的核心人員,他們在自己的工作站上使用專業(yè)集成開發(fā)環(huán)境(IDE)進(jìn)行開發(fā),然后提交代碼。
2.版本控制系統(tǒng)
版本控制系統(tǒng)是開發(fā)環(huán)境的中心,它承載了代碼管理、問題管理功能,甚至承載了自動集成、自動發(fā)布等功能。
3.構(gòu)建服務(wù)器
構(gòu)建服務(wù)器的功能很簡單,主要是構(gòu)建源代碼。常用模式是當(dāng)版本控制系統(tǒng)中有代碼提交時,就觸發(fā)構(gòu)建服務(wù)器進(jìn)行源代碼構(gòu)建。
4.工件庫
當(dāng)構(gòu)建服務(wù)器確認(rèn)了代碼質(zhì)量并進(jìn)行構(gòu)建后,構(gòu)建結(jié)果應(yīng)當(dāng)存放在一個工件庫中。
5.測試環(huán)境
當(dāng)源代碼構(gòu)建成系統(tǒng)存放于工件庫后,開發(fā)人員或者運維人員就可以在測試環(huán)境中對新系統(tǒng)進(jìn)行測試。一般說來,測試環(huán)境也應(yīng)當(dāng)與正式運行環(huán)境相同。
6.預(yù)發(fā)布環(huán)境
預(yù)發(fā)布環(huán)境是和正式生產(chǎn)環(huán)境一致的環(huán)境,該環(huán)境中運行的新構(gòu)建的系統(tǒng),與正式生產(chǎn)環(huán)境中的系統(tǒng)可以并行存在,并可以通過負(fù)載均衡設(shè)備按規(guī)則分發(fā)給預(yù)發(fā)布環(huán)境。待監(jiān)測沒有問題或符合預(yù)期目標(biāo)后,可以直接取代正式生產(chǎn)環(huán)境。
7.發(fā)布管理
待所有前述流程都進(jìn)行完畢,便可以進(jìn)行發(fā)布。發(fā)布過程亦應(yīng)自動化進(jìn)行。
三、云原生下的Dev0ps
云原生架構(gòu)主要包含兩部分∶云原生基礎(chǔ)架構(gòu)和云原生應(yīng)用。這看上去類似于Ops和Dev兩部分。在云原生架構(gòu)下,由于Dev和Ops的工作職責(zé)非常清晰,所以兩個團隊變得相互獨立又相互配合。應(yīng)用開發(fā)團隊完全負(fù)責(zé)產(chǎn)品的開發(fā),而運維團隊服務(wù)云原生基礎(chǔ)架構(gòu)的敏捷性,兩者因為基礎(chǔ)架構(gòu)的標(biāo)準(zhǔn)化更加容易實現(xiàn)多種環(huán)境下的統(tǒng)一。
云原生架構(gòu)的DevOps變成了應(yīng)用開發(fā)者和基礎(chǔ)架構(gòu)運維者之間的溝通,他們各自維護自己服務(wù)的生命周期,通過專業(yè)性提高效率,并且通過統(tǒng)一技術(shù)語言來進(jìn)行溝通。