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