SRE解決的核心問題是什么_第1頁
SRE解決的核心問題是什么_第2頁
SRE解決的核心問題是什么_第3頁
SRE解決的核心問題是什么_第4頁
SRE解決的核心問題是什么_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

SRE既做研發(fā)也做運(yùn)維,并且要求研發(fā)的時間不低于50%,但SRE是偏運(yùn)維的,包括SRE研發(fā)的大部分工作也是和運(yùn)維相關(guān)的。這也讓我有了個疑問,

SRE解決的核心問題是什么?直觀地來看,SRE要解決的是系統(tǒng)運(yùn)行的可靠性問題,特別提倡使用軟件工程的方式來消除手工運(yùn)維的問題,但似乎又不僅僅是這樣。軟件系統(tǒng)可靠性跟眾多的因素相關(guān),比如說軟件架構(gòu)、代碼質(zhì)量、邏輯處理、部署架構(gòu)、部署位置、使用組件、調(diào)用鏈路、網(wǎng)絡(luò)、數(shù)據(jù)量、配置參數(shù)、安全機(jī)制、基礎(chǔ)軟硬件等,任何一個點(diǎn)的異常都可能會導(dǎo)致軟件系統(tǒng)異常。因此SRE不但要懂軟件研發(fā),還要從事軟件研發(fā),消除軟件運(yùn)行過程中存在的不穩(wěn)定因素。通過持續(xù)完善運(yùn)維工具、可靠性組件等提升運(yùn)行系統(tǒng)的可靠性。另外,從SRE職責(zé)來看,通常包含可用性改進(jìn)、延遲優(yōu)化、性能優(yōu)化、效率優(yōu)化、變更管理、監(jiān)控、緊急事務(wù)處理、容量規(guī)劃與管理等。很多看似運(yùn)維的工作都跟研發(fā)密切相關(guān),所以,SRE工程師要做一部分研發(fā)工作,甚至一部分產(chǎn)品的研發(fā)工作。SRE是偏運(yùn)維的,那么除了研發(fā),SRE和傳統(tǒng)運(yùn)維有什么本質(zhì)的區(qū)別?我曾經(jīng)從分層角度討論過,運(yùn)維的工作從層次上可以劃分為業(yè)務(wù)應(yīng)用系統(tǒng)運(yùn)維、基礎(chǔ)平臺運(yùn)維和基礎(chǔ)設(shè)施資源運(yùn)維(圖1)。圖1運(yùn)維層次業(yè)務(wù)應(yīng)用系統(tǒng)包含交易、CRM、財務(wù)、人力等業(yè)務(wù)系統(tǒng)及業(yè)務(wù)相關(guān)的管理系統(tǒng)等;基礎(chǔ)平臺包含如數(shù)據(jù)庫、中間件、云平臺、數(shù)據(jù)和大數(shù)據(jù)平臺、AI平臺等在內(nèi)的工具平臺,用于支撐賦能業(yè)務(wù);基礎(chǔ)設(shè)施資源則包含數(shù)據(jù)中心機(jī)房的存儲、服務(wù)器、網(wǎng)絡(luò)設(shè)備、安全設(shè)備、機(jī)房設(shè)備等。傳統(tǒng)運(yùn)維人員基本上承擔(dān)了所有這些運(yùn)維工作,分組分團(tuán)隊或分部門維護(hù)著不同的內(nèi)容。隨著系統(tǒng)和設(shè)備的增多,運(yùn)維人員數(shù)量也持續(xù)膨脹。SRE需要解決的一個很重要問題是:不隨著系統(tǒng)和設(shè)備的線性增長而線性增加運(yùn)維人員。比如說,10個系統(tǒng)最初可能10個人來運(yùn)維,用SRE方法論,當(dāng)系統(tǒng)增加到100個時,可能還是10個人來運(yùn)維,這才是SRE的價值。這么多的工作內(nèi)容如何處理?當(dāng)然是用自動化的工具和手段,甚至需要完全消除人工的操作,這樣才能在系統(tǒng)線性增加時,不會導(dǎo)致運(yùn)維人力的線性增加。運(yùn)維的分層使運(yùn)維的內(nèi)容和職責(zé)更明確,也使層次之間的支持和賦能銜接更容易通過標(biāo)準(zhǔn)化接口來實(shí)現(xiàn)。這可能也是企業(yè)在引進(jìn)SRE方法論的時候需要進(jìn)一步優(yōu)化SRE的地方。SRE方法論確保長期關(guān)注研發(fā)工作,在保障服務(wù)SLO的前提下最大化迭代速度,做好變更管理,通過監(jiān)控系統(tǒng)實(shí)現(xiàn)可見性和可觀測性,支持應(yīng)急事件的處理;根據(jù)系統(tǒng)對基礎(chǔ)設(shè)施資源的需求做好需求預(yù)測和容量規(guī)劃,及時部署資源以支持彈性擴(kuò)展;同時持續(xù)優(yōu)化業(yè)務(wù)流程中的堵點(diǎn),持續(xù)提升性能,減少延遲,持續(xù)優(yōu)化運(yùn)維流程,提高復(fù)用,減少重復(fù)造輪子,提升效率。這和我提出的“運(yùn)維的敏捷才能支撐研發(fā)的敏捷”思想相一致?!禨REGoogle運(yùn)維解密》一書中提到SRE的日常工作包括幾個方面:一是SRE使用計算機(jī)科學(xué)和軟件工程手段設(shè)計和研發(fā)大型分布式計算機(jī)軟件系統(tǒng)?;蚺c產(chǎn)品團(tuán)隊合作,或研發(fā)產(chǎn)品系統(tǒng)的備份、負(fù)載均衡等組件;理想情況下,推進(jìn)公用組件在多個項(xiàng)目中的復(fù)用,以及用現(xiàn)有的組件解決遇到的新的問題。這是SRE50%的研發(fā)工作時間要做的事情。研發(fā)的時候就關(guān)注可用性、可擴(kuò)展性、安全性、復(fù)用性等可靠性和效率等問題。組件的復(fù)用其實(shí)和我們所提倡的中臺架構(gòu)思想是相通的,企業(yè)級的復(fù)用就是中臺架構(gòu)所追求的。二是SRE關(guān)注可靠性。SRE專注于軟件系統(tǒng)架構(gòu)設(shè)計、運(yùn)維流程的持續(xù)優(yōu)化,讓這些大型分布式軟件系統(tǒng)更可靠的運(yùn)行,擴(kuò)展性更好,更有效的利用資源等。軟件系統(tǒng)架構(gòu)設(shè)計是研發(fā)關(guān)注的,運(yùn)維流程是運(yùn)維關(guān)注的,很多時候運(yùn)維人員是難以參與到系統(tǒng)架構(gòu)設(shè)計的,雖然說運(yùn)維的參與對于系統(tǒng)部署架構(gòu)、網(wǎng)絡(luò)架構(gòu)、可擴(kuò)展性等的設(shè)計會有幫助,但普通的SRE工程師是很難有機(jī)會參與的。人都不喜歡別人對自己指手畫腳。一個好的方式可能是由全局架構(gòu)師團(tuán)隊參與系統(tǒng)架構(gòu)設(shè)計以及系統(tǒng)運(yùn)維流程的優(yōu)化設(shè)計,從頂層設(shè)計上能有個全局視角。這是軟件系統(tǒng)全局可靠性的保證。第三,SRE主要工作是運(yùn)維在分布式集群管理系統(tǒng)上運(yùn)行的具體業(yè)務(wù)服務(wù),比如說云平臺、存儲系統(tǒng)、虛擬化系統(tǒng)、客戶管理系統(tǒng)、人力系統(tǒng)、OA、郵件系統(tǒng)等等。SRE中的S最初指的是網(wǎng)站的運(yùn)維服務(wù),SRE最初的工作就是維持網(wǎng)站的正常運(yùn)轉(zhuǎn)。隨著時間的推移,其管理運(yùn)維的內(nèi)容越來越多。不過這其實(shí)還是按照傳統(tǒng)單體系統(tǒng)運(yùn)維的方式,從上到下,從應(yīng)用到資源層,沒有形成整體分層向上賦能的方式。這種方式已經(jīng)不適合數(shù)字化系統(tǒng)融合的要求。這也是SRE方法論在數(shù)字化時代可以借鑒改進(jìn)的地方。SRE的工作偏運(yùn)維卻又長期關(guān)注研發(fā),看起來是矛盾的,不過卻也是必須的。研發(fā)懂運(yùn)維才能在軟件研發(fā)的時候就關(guān)注部署運(yùn)行可靠性、伸縮性、性能、可觀測性等問題;運(yùn)維懂研發(fā)才能運(yùn)用軟件工程的思想和方法解決運(yùn)維過程遇到的自動化、體系化工具匹配,快速找到異常根因,面對應(yīng)急事件時能快速定位處理等。所以SRE解決的核心問題是研發(fā)不懂運(yùn)維、運(yùn)維不懂研發(fā)的割裂問題。SRE的方法論為DevOps的提出提供了實(shí)踐和方法論基礎(chǔ),提出了開發(fā)運(yùn)維一體化,所以也說SRE是DevOps的一種實(shí)踐。SRE和傳統(tǒng)運(yùn)維的本質(zhì)區(qū)別在于認(rèn)知和思維,表現(xiàn)在工具和方法上。不同認(rèn)知和思維層次的人在面對同一個問題時所采取的方法和采用的工具是不一樣。傳統(tǒng)運(yùn)維關(guān)注的是自己的一畝三分地,對別的部分不了解,額外的內(nèi)容超出了自己的控制,所以害怕變更和變化。SRE通過全局的參與對整個軟件產(chǎn)品的生命周期過程都是了解的,再輔以工具化的支持,在面對意外情況時,做到心中有數(shù),從容應(yīng)對。當(dāng)前很多公司在推混沌工程,其實(shí)就是一種增強(qiáng)系統(tǒng)運(yùn)行可靠性的方式。但是如果把混沌工程單獨(dú)拿出來,可能會使問題復(fù)雜化,混沌工程的思想和方法應(yīng)該融入到日常的研發(fā)和運(yùn)維工作中,持續(xù)積累完善系統(tǒng)運(yùn)行的知識庫。將知識庫也作為研發(fā)和運(yùn)維的支撐工具。使其成為SRE或者DevOps的一部分。SRE運(yùn)維的內(nèi)容不斷地擴(kuò)展,其方法也在不斷地完善和進(jìn)步。我們在學(xué)習(xí)SRE的時候,要盡可能去學(xué)習(xí)和思考其內(nèi)在的思想,得其形更要有其實(shí)。從信息化到數(shù)字化,系統(tǒng)的復(fù)雜度成級數(shù)增長,特別采用微

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論