系統(tǒng)管理員與網(wǎng)站可靠性工程師(SRE)對比:區(qū)別在那兒?
系統(tǒng)管理員和網(wǎng)站可靠性工程師(SRE,下同)對于任何組織來講都很重要。本篇將介紹下兩者的不同之處。
在 IT 行業(yè),成為多面手或是專家的爭議一直存在。99% 的傳統(tǒng)系統(tǒng)管理員都被歸到了多面手這類。網(wǎng)站可靠性工程師(SRE)的角色則更加專精,并且在如 Google 般有著一定規(guī)模的頭部公司中對其的需求不斷增加。但總的來說這兩者對于跑著應(yīng)用的基礎(chǔ)設(shè)施有著同樣的目標:為應(yīng)用的消費者提供良好的體驗。然而兩者的出發(fā)點卻截然不同。
系統(tǒng)管理員:中立善良的化身
系統(tǒng)管理員一般都是從基礎(chǔ)的桌面或網(wǎng)絡(luò)支持成長過來的,并一路習得大多數(shù)系統(tǒng)管理員都會掌握的廣泛的技能。此時這些系統(tǒng)管理員會對他們所負責的系統(tǒng)和應(yīng)用了如指掌。他們會知道一號服務(wù)器上的應(yīng)用每隔一個星期二就需要重啟一次,或是九號服務(wù)器周三會靜默的崩潰。他們會對服務(wù)器的監(jiān)視作出微調(diào)以忽略無關(guān)緊要的信息,盡管那個被標記為致命的錯誤信息每個月第三個周日都會顯示。
總的來講,系統(tǒng)管理員了解如何照料那些跑著你核心業(yè)務(wù)的服務(wù)器。這些系統(tǒng)管理員已經(jīng)成長到開始使用自動化工具去處理所有歸他們管的服務(wù)器上的例行任務(wù)。他們雖然喜歡使用模板、黃金鏡像、以及標準,但同時也有著足夠的靈活度去修改一個服務(wù)器上的參數(shù)以解決錯誤,并注釋為什么那個服務(wù)器的配置與眾不同。
盡管系統(tǒng)管理員很偉大,但他們也有著一些怪癖。其中一項就是沒有他們神圣的授權(quán)你永遠也獲取不了系統(tǒng)的 root 訪問權(quán)限,另一項則是任何不是出于他們的主意的變更都要在文檔中被記錄為應(yīng)用提供方的要求,并仍然需要再次核對。
他們所管理的服務(wù)器是他們的地盤,沒有人可以隨意干涉。
SRE:滅霸將為之自豪
與成為系統(tǒng)管理員的道路相反,從開發(fā)背景和從系統(tǒng)管理員背景成長為 SRE 的可能性相近。SRE 的職位出現(xiàn)的時長與應(yīng)用開發(fā)環(huán)境的生命周期相近。
隨著一個組織的發(fā)展而引入的類似于持續(xù)集成和持續(xù)發(fā)布 (CI/CD) 的 DevOps 概念,通常會出現(xiàn)技能空缺,以讓這些不可變的應(yīng)用部署到多個環(huán)境并隨著業(yè)務(wù)需求進行擴展。這將是 SRE 的舞臺。的確,一個系統(tǒng)管理員可以學習額外的工具,但大體上成為一個全職的職位更容易跟的上發(fā)展。一個專精的專家更有意義。
SRE 使用如代碼即基礎(chǔ)設(shè)施的概念去制作模板,然后調(diào)用它們來部署用以運行應(yīng)用的環(huán)境,并以使用一鍵完整重現(xiàn)每個應(yīng)用和它們的環(huán)境作為目標。因此會出現(xiàn)這樣的情況:測試環(huán)境中一號服務(wù)器里的一號應(yīng)用的二進制文件與生產(chǎn)環(huán)境中十五號服務(wù)器的完全一致,僅環(huán)境相關(guān)的變量如密碼和數(shù)據(jù)庫鏈接字串有所不同。
SRE 也會在配置發(fā)生改變時完全銷毀一個環(huán)境并重新構(gòu)建它。對于任何系統(tǒng)他們都不帶一點感情。每個系統(tǒng)只是個被打了標記和安排了生命周期的數(shù)字而已,甚至連例行的對服務(wù)器打補丁也要重新部署整個應(yīng)用棧
總結(jié)
對于一些情況,尤其是運維一些大型的基于 DevOps 的環(huán)境時,一個 SRE 所能提供的用于處理各種規(guī)模的業(yè)務(wù)的專業(yè)技能當然更具優(yōu)勢。但每次他們在運氣不好走入死胡同時都會去尋求他的系統(tǒng)管理員友人或是 來自地獄的混蛋運維(BOFH) ,得到他那身經(jīng)百戰(zhàn)的故障排除技能,和那些用于給組織提供價值的豐富經(jīng)驗的幫助。