于超Linux云計(jì)算sre工程師
對(duì) DevOps 和 SRE 的大致定義如下:
DevOps,Development 和 Operations 的組合詞,是一種重視“軟件開發(fā)人員(Dev)”和“IT 運(yùn)維技術(shù)人員(Ops)”之間溝通合作的文化、活動(dòng)或慣例。 通過(guò)自動(dòng)化“軟件交付”和“架構(gòu)變更”的流程,使得軟件的構(gòu)建、測(cè)試、發(fā)布更加快捷、頻繁和可靠。
SRE,全稱是 Site Reliability Engineer ,網(wǎng)站可靠性工程師,是一個(gè)職位,是軟件工程師和系統(tǒng)管理員的結(jié)合,主要目標(biāo)是創(chuàng)建可擴(kuò)展且高度可靠的軟件系統(tǒng)。
為達(dá)到這個(gè)目標(biāo),SRE 需要掌握如下相關(guān)知識(shí):算法、數(shù)據(jù)結(jié)構(gòu)、編程、網(wǎng)絡(luò)編程、分布式系統(tǒng)、可擴(kuò)展架構(gòu)、故障排除等。SRE 使用工具和系統(tǒng)支撐其完成工作,比如自動(dòng)化發(fā)布系統(tǒng)、監(jiān)控系統(tǒng)、日志系統(tǒng)、服務(wù)器資源分配和編排工具等,而這些工具往往需要他們自己開發(fā)和維護(hù)。
所以總結(jié)來(lái)說(shuō),DevOps 是打通開發(fā)和運(yùn)維的文化和慣例,而 SRE 是 DevOps 的具體實(shí)踐之一。說(shuō)到相同點(diǎn),它們都是為了打通 Dev 和 Ops,提高研發(fā)效能;說(shuō)到區(qū)別,DevOps 是文化,而 SRE 是職位。如果要類比的話,DevOps 與 SRE 的關(guān)系,就像敏捷跟 Scrum 的關(guān)系。
理解了 DevOps 和 SRE 的定義和異同后,我們?cè)賮?lái)看看它們的目標(biāo)、原則和具體實(shí)踐吧。