SRE vs. DevOps? 成功的平臺(tái)工程需要兩者兼?zhèn)?/h1>
對比它們的差異,各自的作用,它們?nèi)绾卧旄I(yè)務(wù),并解釋為什么組織需要同時(shí)擁有這兩者以取得成功。
翻譯自 SRE vs. DevOps? Successful Platform Engineering Needs Both 。

談及云原生計(jì)算和數(shù)字化轉(zhuǎn)型時(shí),經(jīng)常會(huì)涉及到兩個(gè)行業(yè)術(shù)語:Site Reliability Engineering (SRE) 和 DevOps 。它們通常被對立地提及:SRE vs. DevOps。但這種觀點(diǎn)是錯(cuò)誤的。
為了在云原生世界取得成功,組織需要同時(shí)擁有 DevOps 和 SRE 。此外,團(tuán)隊(duì)在進(jìn)入云原生領(lǐng)域時(shí)還需要第三個(gè)要素來確保轉(zhuǎn)型的成功:一個(gè)平臺(tái)工程團(tuán)隊(duì)。
因此,了解每個(gè)術(shù)語的定義,它們之間的區(qū)別,它們的作用和對業(yè)務(wù)的好處,以及為什么組織需要同時(shí)擁有這三個(gè)要素以取得成功非常重要。
什么是DevOps?
DevOps 是一種軟件方法論,也是一種 IT 文化。它將軟件開發(fā)和 IT 運(yùn)維相結(jié)合,通過優(yōu)化軟件和服務(wù)交付,旨在更高效地構(gòu)建軟件,并盡可能利用自動(dòng)化來推動(dòng)更快的高質(zhì)量軟件部署。其總體目標(biāo)是使系統(tǒng)變更變得更容易,并依賴持續(xù)改進(jìn)而不是大規(guī)模改進(jìn)計(jì)劃。
DevOps 的文化意義來自于它對不同團(tuán)隊(duì)之間增強(qiáng)合作和溝通的強(qiáng)調(diào)。開發(fā)人員、運(yùn)維人員、質(zhì)量保證(QA)專業(yè)人員和安全專家一起使用自動(dòng)化工具,加快和規(guī)范開發(fā)流程。這些團(tuán)隊(duì)還使用 CI/CD 技術(shù),盡可能快速可靠地測試、集成和部署軟件變更。
DevOps解決了哪些問題?
傳統(tǒng)的軟件開發(fā)實(shí)踐,如瀑布模型,通常非常緩慢,并可能導(dǎo)致開發(fā)人員和運(yùn)維團(tuán)隊(duì)之間的沖突。在引入 DevOps 之前,開發(fā)團(tuán)隊(duì)可能在運(yùn)維完成質(zhì)量保證和安全檢查之前就已經(jīng)開始新項(xiàng)目的開發(fā)。開發(fā)和運(yùn)維之間的組織壁壘阻礙了協(xié)作以解決問題,而更多地促使相互指責(zé)。這讓企業(yè)客戶和其他利益相關(guān)者對等待應(yīng)用程序投入生產(chǎn)的過程感到不滿。
DevOps 還解決了傳統(tǒng)開發(fā)環(huán)境中的測試問題。如果沒有嚴(yán)格的測試,軟件中的錯(cuò)誤可能會(huì)被忽略,導(dǎo)致關(guān)鍵生產(chǎn)系統(tǒng)的非計(jì)劃停機(jī)、用戶的沮喪,甚至收入損失。通過 CI/CD , DevOps 能夠較早地實(shí)施測試,避免在最后一刻匆忙測試和發(fā)布應(yīng)用程序。
安全是另一個(gè)重要問題。DevOps 將持續(xù)的安全審計(jì)作為開發(fā)過程的一部分,以在惡意行為者利用漏洞之前識(shí)別和解決安全漏洞。
DevOps的好處
DevOps 文化的一些優(yōu)點(diǎn)包括:
更快的上市時(shí)間:通過簡化開發(fā)流程并消除瓶頸,DevOps使組織能夠更快地將新產(chǎn)品和功能投入生產(chǎn)。
改進(jìn)協(xié)作:團(tuán)隊(duì)合作有助于減少隔閡,并改善組織內(nèi)的溝通。
更好的質(zhì)量:通過測試和部署自動(dòng)化,DevOps可以減少錯(cuò)誤數(shù)量,提高軟件的整體質(zhì)量。
提高效率:自動(dòng)化通過減少重復(fù)任務(wù)和手動(dòng)干預(yù)來加快速度。
更高的可擴(kuò)展性:DevOps提供了一個(gè)框架,用于構(gòu)建支持快速增長業(yè)務(wù)的可擴(kuò)展和彈性的軟件。
什么是SRE?
Site Reliability Engineering(SRE)是將軟件工程應(yīng)用于運(yùn)維的一種學(xué)科,用于構(gòu)建和維護(hù)高度可靠和可擴(kuò)展的應(yīng)用程序。SRE 起源于 Google ,但現(xiàn)在已在技術(shù)行業(yè)廣泛應(yīng)用。
SRE 的理念之一是“每次故障都是學(xué)習(xí)的機(jī)會(huì)”,因此工程師必須找到問題的各種因素,并在系統(tǒng)級別進(jìn)行調(diào)整,以確保該問題不會(huì)再次出現(xiàn)。
SRE解決了哪些問題?
首要任務(wù)是通過快速識(shí)別和解決問題來減少系統(tǒng)故障和停機(jī)。通過調(diào)查和事故分析,SRE 團(tuán)隊(duì)為 DevOps 團(tuán)隊(duì)構(gòu)建和修改高可用和彈性的系統(tǒng)做出貢獻(xiàn)。
SRE 幫助提高系統(tǒng)性能,以確保在生產(chǎn)環(huán)境中的軟件滿足所有內(nèi)部或外部用戶需求。SRE 團(tuán)隊(duì)還監(jiān)控使用模式和容量,以確保 IT 環(huán)境能夠處理預(yù)期的流量,避免過載和服務(wù)中斷。
SRE 團(tuán)隊(duì)與 DevOps 團(tuán)隊(duì)密切合作,以確保問題真正得到解決。SRE 與 DevOps 之間存在持續(xù)的反饋循環(huán),以確保問題從根本上得到解決,而不僅僅是暫時(shí)性的修補(bǔ)。
SRE的好處
除了提高系統(tǒng)可靠性-其主要目標(biāo)外,SRE 團(tuán)隊(duì)還有助于設(shè)計(jì)可操作的系統(tǒng),這些系統(tǒng)不太可能出現(xiàn)故障或遭遇非計(jì)劃停機(jī)。SRE 促進(jìn):
更快的故障處理:采用數(shù)據(jù)驅(qū)動(dòng)的方法來識(shí)別問題,SRE 團(tuán)隊(duì)可以快速解決問題,減少故障檢測和解決所需的時(shí)間。
高效的資源利用:SRE 團(tuán)隊(duì)優(yōu)化資源使用,確保系統(tǒng)能夠高效擴(kuò)展,無需大量額外資源。
改進(jìn)協(xié)作:與開發(fā)團(tuán)隊(duì)密切合作,確保軟件從一開始就考慮了可靠性。
更大的自動(dòng)化:SRE 團(tuán)隊(duì)利用自動(dòng)化來減少人為錯(cuò)誤的風(fēng)險(xiǎn),提高效率,從而為 DevOps 和 SRE 團(tuán)隊(duì)節(jié)省更多時(shí)間進(jìn)行更具戰(zhàn)略性的工作。
什么是平臺(tái)工程?
平臺(tái)工程是構(gòu)建和維護(hù)內(nèi)部軟件平臺(tái)的實(shí)踐,包括工具、服務(wù)和基礎(chǔ)設(shè)施,使開發(fā)人員能夠有效、高效地構(gòu)建、部署、運(yùn)行和監(jiān)控應(yīng)用程序。平臺(tái)工程師的目標(biāo)是使開發(fā)人員專注于編寫代碼,而不是處理基礎(chǔ)設(shè)施問題。
許多平臺(tái)工程團(tuán)隊(duì)為應(yīng)用程序開發(fā)指定“黃金路徑”,以追求最大的可靠性、質(zhì)量和開發(fā)人員生產(chǎn)力。黃金路徑是預(yù)先設(shè)計(jì)和支持的構(gòu)建和部署軟件的方法。如果開發(fā)團(tuán)隊(duì)使用黃金路徑,平臺(tái)工程團(tuán)隊(duì)會(huì)支持生產(chǎn)環(huán)境,開發(fā)人員無需了解所有底層技術(shù),從而大大加速應(yīng)用程序的上市時(shí)間。
平臺(tái)工程師監(jiān)控整個(gè)軟件開發(fā)生命周期的開發(fā)效率,從源代碼到生產(chǎn)環(huán)境,以確保開發(fā)人員擁有所需的工具和支持,以生產(chǎn)最高質(zhì)量的應(yīng)用程序。
平臺(tái)工程解決了哪些問題?
平臺(tái)工程直接解決了開發(fā)人員的整體體驗(yàn)問題。開發(fā)人員變得越來越沮喪。根據(jù)最近的一項(xiàng)調(diào)查,DevOps 團(tuán)隊(duì)平均每周花費(fèi)超過 15 小時(shí)在編碼以外的活動(dòng)上。
這包括內(nèi)部工具維護(hù)、開發(fā)環(huán)境設(shè)置和流水線調(diào)試。這樣的成本是巨大的。僅在美國,據(jù) Garden.io 的估計(jì),企業(yè)每年損失高達(dá) 610 億美元。
管理當(dāng)今云原生應(yīng)用程序的復(fù)雜性讓 DevOps 團(tuán)隊(duì)筋疲力盡。構(gòu)建和運(yùn)行現(xiàn)代應(yīng)用程序需要大量的基礎(chǔ)設(shè)施和多樣化的工具組合。當(dāng)個(gè)別開發(fā)人員或團(tuán)隊(duì)選擇使用不同的工具和流程來開發(fā)應(yīng)用程序時(shí),這些工具的不一致性和不兼容性會(huì)導(dǎo)致延遲和錯(cuò)誤。為了解決這個(gè)問題,平臺(tái)工程團(tuán)隊(duì)提供了一套標(biāo)準(zhǔn)化的工具和基礎(chǔ)設(shè)施,所有項(xiàng)目開發(fā)人員都可以使用這些工具來更輕松地構(gòu)建和部署應(yīng)用程序。
此外,應(yīng)用程序的擴(kuò)展是困難和耗時(shí)的,特別是在流量和使用模式隨時(shí)間變化的情況下。平臺(tái)工程團(tuán)隊(duì)通過黃金路徑(或旨在快速輕松擴(kuò)展的環(huán)境)和邏輯應(yīng)用程序配置來解決這個(gè)問題。
平臺(tái)工程還有助于可靠性。使用一組共享的、經(jīng)過測試的、具有互操作性和設(shè)計(jì)用于可靠性和可用性的基礎(chǔ)設(shè)施和工具的開發(fā)團(tuán)隊(duì)可以生產(chǎn)出更可靠的軟件。
它還使開發(fā)人員能夠自己訪問所需的工具。開發(fā)人員不需要使用 IT 工單系統(tǒng)或進(jìn)行有關(guān)創(chuàng)建新數(shù)據(jù)庫的對話,而可以直接在用戶界面中創(chuàng)建,并了解任何警報(bào)、復(fù)制和操作參數(shù)的配置。
最后,平臺(tái)工程解決了以傳統(tǒng)方式構(gòu)建應(yīng)用程序的高成本問題,其中開發(fā)團(tuán)隊(duì)購買各種廣泛的工具和環(huán)境,通常功能有所重疊。通過標(biāo)準(zhǔn)化和自動(dòng)化,平臺(tái)工程最小化了這些成本。
平臺(tái)工程的好處
一個(gè)設(shè)計(jì)良好的開發(fā)平臺(tái),配備經(jīng)過測試和優(yōu)化的黃金路徑,幫助開發(fā)人員通過預(yù)構(gòu)建的組件和基礎(chǔ)設(shè)施更快地構(gòu)建和部署應(yīng)用程序。這減少了從頭開始構(gòu)建和配置這些組件所需的時(shí)間和精力。其他好處包括:
標(biāo)準(zhǔn)化和一致性:平臺(tái)工程提供一套標(biāo)準(zhǔn)的工具和基礎(chǔ)設(shè)施,確保所有構(gòu)建在該平臺(tái)上的應(yīng)用程序都是一致的,并符合相同的質(zhì)量標(biāo)準(zhǔn)。
可擴(kuò)展性和靈活性:平臺(tái)工程團(tuán)隊(duì)提供的環(huán)境使開發(fā)人員能夠快速、輕松地部署和擴(kuò)展應(yīng)用程序。
降低運(yùn)營成本:通過部署、監(jiān)控和擴(kuò)展的任務(wù)自動(dòng)化,平臺(tái)工程釋放出 DevOps 團(tuán)隊(duì)的時(shí)間,讓他們專注于更具戰(zhàn)略意義的工作。
改進(jìn)應(yīng)用程序的可靠性和可用性:平臺(tái)工程團(tuán)隊(duì)提供一套共享的工具和基礎(chǔ)設(shè)施,專門設(shè)計(jì)用于高可用性和全天候訪問。
Puppet 2023年《DevOps 狀況報(bào)告》發(fā)現(xiàn),平臺(tái)工程增加了 DevOps 成功的可能性。
DevOps、SRE 和平臺(tái)工程之間有什么區(qū)別?
進(jìn)入云原生世界的組織必須采取不同的方法,以獲得轉(zhuǎn)型性的結(jié)果;云原生問題需要云原生解決方案。
通常,第一步是采用 DevOps 文化,如果他們尚未擁有。但是 DevOps 在轉(zhuǎn)型和在云原生環(huán)境中運(yùn)作時(shí)需要支持。SRE 和平臺(tái)工程團(tuán)隊(duì)提供了這樣的支持。
也許只有兩個(gè)團(tuán)隊(duì),甚至只有一個(gè)團(tuán)隊(duì),也許可以應(yīng)付,但是一個(gè)希望將一些或全部工作負(fù)載現(xiàn)代化到云原生的組織應(yīng)該考慮建立這三個(gè)團(tuán)隊(duì)。
DevOps:負(fù)責(zé)應(yīng)用程序的整個(gè)生命周期,從源代碼到生產(chǎn),以及在生產(chǎn)后修改和增強(qiáng)應(yīng)用程序。
SRE:主要關(guān)注應(yīng)用程序的可擴(kuò)展性、可靠性、可用性和可觀W測性。當(dāng)應(yīng)用程序的性能或可用性處于風(fēng)險(xiǎn)狀態(tài)時(shí),該團(tuán)隊(duì)通常處于危機(jī)管理模式。
平臺(tái)工程:定義仍在發(fā)展中,但是平臺(tái)工程的角色是設(shè)置標(biāo)準(zhǔn)化的工具和流程,以加速從單塊到基于微服務(wù)的云原生計(jì)算的轉(zhuǎn)型過程。
每個(gè)團(tuán)隊(duì)都有特定的角色和目標(biāo),但是這三個(gè)團(tuán)隊(duì)共同合作,以確保業(yè)務(wù)能夠根據(jù)行業(yè)最佳實(shí)踐提供云原生應(yīng)用程序和環(huán)境。
Chronosphere 如何支持這三個(gè)團(tuán)隊(duì)
引入 DevOps、SRE 和平臺(tái)工程團(tuán)隊(duì)可以促進(jìn)云原生的采用,并在這些團(tuán)隊(duì)對其云原生應(yīng)用程序和云環(huán)境擁有完整的可見性時(shí)取得成功。這是通過新一代的監(jiān)控和可觀測性解決方案實(shí)現(xiàn)的。
云托管的監(jiān)控和應(yīng)用程序性能監(jiān)控(APM)是誕生于云原生之前的,這是一個(gè)具有完全不同前提的世界。難怪它們在云原生架構(gòu)中面臨挑戰(zhàn)。像 Chronosphere 這樣的云原生可觀測性解決方案,為現(xiàn)代數(shù)字化業(yè)務(wù)和可觀測性而構(gòu)建,可以將這三個(gè)團(tuán)隊(duì)聯(lián)系在一起。
通過云原生監(jiān)控和可觀測性,Chronosphere 提供了對整體指標(biāo)使用情況的更多可見性,并具備設(shè)置快速增長服務(wù)的配額的能力,使組織能夠靈活控制整個(gè)應(yīng)用程序生命周期。
本文使用 文章同步助手 同步