救火運(yùn)維逆襲攻略:云原生+ DevOps+ SRE+ ITIL
前言
本次分享將從以下幾個(gè)關(guān)鍵點(diǎn)展開(kāi)論述:
時(shí)代:了解時(shí)代的趨勢(shì)和大方向,才能事半功倍。雷軍有個(gè)著名的理論——“飛豬理論”,即站在風(fēng)口上,豬都能飛起來(lái),這也表達(dá)了把握時(shí)代趨勢(shì)的重要性。
加速:在把握時(shí)代趨勢(shì)的基礎(chǔ)上,選擇關(guān)鍵技術(shù)要素,加速運(yùn)維技術(shù)保障體系的建設(shè)。同時(shí),需要考慮公司的現(xiàn)狀特點(diǎn),避免脫離現(xiàn)狀構(gòu)建“空中樓閣”。
技術(shù):云原生時(shí)代的關(guān)鍵技術(shù)是我們深入探討的重點(diǎn)。然而,技術(shù)不是我們的目標(biāo),解決業(yè)務(wù)問(wèn)題、業(yè)務(wù)痛點(diǎn)并帶來(lái)業(yè)務(wù)價(jià)值才是我們的目標(biāo)。因此,我們應(yīng)該開(kāi)放連接,避免重復(fù)造輪子,借助云原生時(shí)代的IaaS、PaaS和SaaS能力,加速我們的能力成長(zhǎng)。
趣丸科技成立于2014年,是一家集興趣社交及電子競(jìng)技等業(yè)務(wù)于一體的創(chuàng)新型科技企業(yè)。公司積極布局多元化賽道,緊跟Z世代心智發(fā)展,最大化創(chuàng)造用戶價(jià)值。作為國(guó)內(nèi)領(lǐng)先的興趣社交平臺(tái),TT語(yǔ)音是我們的拳頭產(chǎn)品,累計(jì)注冊(cè)用戶已超1億,并成為L(zhǎng)PL、KPL、PEL等六大頭部電競(jìng)職業(yè)賽事官方合作伙伴。
以下內(nèi)容是基于我們公司的現(xiàn)狀經(jīng)驗(yàn),不一定全部適用于其他公司和場(chǎng)景,如果有其他問(wèn)題,歡迎大家一起交流。
一、運(yùn)維趨勢(shì)和挑戰(zhàn)
提到趨勢(shì),有一個(gè)詞讓我印象深刻:VUCA。
VUCA這個(gè)詞最早是在90年代冷戰(zhàn)時(shí)期提出的,當(dāng)時(shí)世界變得不確定和復(fù)雜。回顧我們過(guò)去三年的變化,我們也能深刻感受到VUCA的意義。
面對(duì)VUCA時(shí)代,需要找到應(yīng)對(duì)措施。我們可以從兩個(gè)角度來(lái)看待這個(gè)問(wèn)題:一是“黑天鵝”,指的是發(fā)生概率較小的事件;二是“灰犀?!?,指的是發(fā)生概率較大的事件。
針對(duì)黑天鵝(小概率事件),我們總結(jié)出一個(gè)詞:適應(yīng)性。這個(gè)詞源于達(dá)爾文在《物種起源》中的觀點(diǎn):能夠生存下來(lái)的物種并非最強(qiáng)大的,而是最能適應(yīng)環(huán)境的。面對(duì)不確定性和小概率事件,我們需要建立適應(yīng)能力。適應(yīng)能力的本質(zhì)是快速迭代和自我改變。盡管改變是帶有風(fēng)險(xiǎn)的,但我們需要基于對(duì)未來(lái)的最有可能假設(shè),通過(guò)最小化版本進(jìn)行驗(yàn)證,不斷提升組織的適應(yīng)性。
另外一個(gè)維度,灰犀牛(大概率事件),我們可以做一些長(zhǎng)期的規(guī)劃,主要關(guān)注三件事情:全球化、多云化、降本。
- 全球化:國(guó)內(nèi)存量競(jìng)爭(zhēng)激烈,海外市場(chǎng)不管是基礎(chǔ)設(shè)施、用戶數(shù)量、增長(zhǎng)空間,相對(duì)來(lái)說(shuō)是藍(lán)海,此外出海業(yè)務(wù)在監(jiān)管上,也相對(duì)比較寬松;
- 多云化:應(yīng)對(duì)穩(wěn)定性、業(yè)務(wù)特性,賦能商務(wù)議價(jià)的需要;
- 降本:增長(zhǎng)乏力,難做到開(kāi)源,可以更多地做好節(jié)流。
二、技術(shù)戰(zhàn)略選型
在技術(shù)戰(zhàn)略選型方面,我想簡(jiǎn)單分享一下過(guò)去10年在運(yùn)維領(lǐng)域中最重要的幾個(gè)技術(shù)理念之間的關(guān)系和意義。
1、技術(shù)理念
首先是ITIL(IT Infrastructure Library),它是過(guò)去IT服務(wù)管理(ITSM)的一種實(shí)踐方法,其目的是通過(guò)流程來(lái)管理和控制IT服務(wù)的質(zhì)量,關(guān)鍵在于設(shè)計(jì)適當(dāng)?shù)牧鞒桃约懊鞔_定義參與人員的角色。然而,ITIL 在實(shí)施過(guò)程中也存在一些問(wèn)題,比如流程繁瑣效率低,質(zhì)量不一定能得到顯著提升,出了質(zhì)量故障往往只是讓某些人背鍋。
接下來(lái)是云原生(Cloud-Native),它的目標(biāo)是構(gòu)建和運(yùn)行可彈性擴(kuò)展的應(yīng)用服務(wù),關(guān)鍵要素包括彈性、可擴(kuò)展性和高可用性。在技術(shù)方面,容器化、微服務(wù)化、服務(wù)網(wǎng)格、不可變基礎(chǔ)設(shè)施和聲明式API是云原生的關(guān)鍵技術(shù)要素。再深入一層,有云原生十二要素(https://12factor.net/zh_cn/)。
然后是DevOps,其目標(biāo)是實(shí)現(xiàn)頻繁且快速地交付軟件。它強(qiáng)調(diào)多個(gè)團(tuán)隊(duì)共同合作,面向最終用戶交付價(jià)值,關(guān)鍵技術(shù)要素是工具化和自動(dòng)化。
最后是SRE(Site Reliability Engineering),其中以Google的SRE為代表。SRE是一種運(yùn)用軟件工程方法解決問(wèn)題的方法,關(guān)注可用性、延遲、性能和容量等方面。對(duì)于SRE的軟件工程能力,維基百科上有詳細(xì)的解釋?zhuān)?jiǎn)單來(lái)說(shuō),就是要掌握編寫(xiě)代碼來(lái)解決問(wèn)題的能力。綜上所述,我認(rèn)為作為一個(gè)SRE,需要圍繞著目標(biāo)和手段,來(lái)理解和掌握這些技術(shù)理念,這樣才能成為一個(gè)合格的SRE。
2、技術(shù)架構(gòu)
在技術(shù)架構(gòu)方面,我從兩個(gè)視角來(lái)看:
首先是應(yīng)用的視角。應(yīng)用的架構(gòu)核心是實(shí)現(xiàn)應(yīng)用的彈性伸縮,這可以通過(guò)以下三個(gè)方面來(lái)實(shí)現(xiàn):無(wú)狀態(tài)化、BaaS化(Backend as a Service)、強(qiáng)大的應(yīng)用流量治理能力;
其次是基礎(chǔ)設(shè)施的視角?;A(chǔ)架構(gòu)的核心是實(shí)現(xiàn)資源的彈性,這可以通過(guò)以下兩個(gè)方面來(lái)實(shí)現(xiàn):資源的統(tǒng)一交付和調(diào)度、多云互聯(lián)互通。
在構(gòu)建技術(shù)架構(gòu)時(shí),有幾個(gè)必須具備的技術(shù)能力:
- DCI 網(wǎng)絡(luò)(Data Center Interconnect):實(shí)現(xiàn)多云環(huán)境下的互聯(lián)互通和高可用性;
- K8S(Kubernetes):實(shí)現(xiàn)應(yīng)用交付和資源調(diào)度的標(biāo)準(zhǔn)化。Kubernetes是一種容器編排平臺(tái),可幫助管理和部署容器化應(yīng)用程序。
- Istiod:一種與編程語(yǔ)言無(wú)關(guān)的服務(wù)治理框架。它提供了服務(wù)發(fā)現(xiàn)、流量管理和負(fù)載均衡等功能,使得應(yīng)用的服務(wù)治理更加便捷和靈活。
- 應(yīng)用可觀測(cè)性:提升故障感知、定位和恢復(fù)能力。通過(guò)監(jiān)控應(yīng)用的關(guān)鍵指標(biāo)和日志信息,可以及時(shí)發(fā)現(xiàn)故障并進(jìn)行處理。
- 用戶體驗(yàn)監(jiān)控:改善用戶體驗(yàn)。通過(guò)監(jiān)控用戶的行為和反饋,可以了解用戶的需求和痛點(diǎn),并及時(shí)做出相應(yīng)的改進(jìn)。
通過(guò)以上的技術(shù)能力構(gòu)建,可以實(shí)現(xiàn)一個(gè)具備彈性、可擴(kuò)展性和高可用性的技術(shù)架構(gòu),從而提升系統(tǒng)的性能和用戶體驗(yàn)。
三、組織架構(gòu)設(shè)計(jì)
在技術(shù)戰(zhàn)略的實(shí)施中,組織架構(gòu)和行為是必不可少的保障措施。下圖是來(lái)自《高效能團(tuán)隊(duì)模式》一書(shū)的組織架構(gòu)設(shè)計(jì)圖,這張圖在過(guò)去的兩年里非常熱門(mén)。圖中的設(shè)計(jì)基于康威定律,進(jìn)一步引申出認(rèn)知負(fù)載理論,并推導(dǎo)出四種團(tuán)隊(duì)和三種交互模式。
對(duì)于從事軟件工程的人來(lái)說(shuō),康威定律應(yīng)該是一個(gè)熟悉的概念。它的核心觀點(diǎn)是組織架構(gòu)決定系統(tǒng)的架構(gòu),反過(guò)來(lái)說(shuō),如果想要擁有特定的系統(tǒng)架構(gòu),就需要設(shè)計(jì)相應(yīng)的組織架構(gòu)。組織架構(gòu)決定了團(tuán)隊(duì)之間的交互模式,而跨團(tuán)隊(duì)的溝通本身是有成本的,這個(gè)成本可以稱(chēng)為認(rèn)知負(fù)載。因此,在組織設(shè)計(jì)上,我們應(yīng)該盡量降低溝通成本,減少團(tuán)隊(duì)之間的認(rèn)知負(fù)載。
舉個(gè)例子,在云原生時(shí)代,涉及到操作系統(tǒng)、虛擬化和容器化等技術(shù)的復(fù)雜性非常高。如果一個(gè)應(yīng)用開(kāi)發(fā)人員需要對(duì)每一層的技術(shù)細(xì)節(jié)都了如指掌,才能完成業(yè)務(wù)開(kāi)發(fā)和軟件交付,那么他的認(rèn)知負(fù)載將會(huì)非常大。為此,我們?cè)趯?shí)際中看到,在組織上進(jìn)行了分層,例如操作系統(tǒng)層、虛擬化層和容器層(如Kubernetes),以屏蔽底層復(fù)雜概念,極大地降低了認(rèn)知負(fù)載。
基于這個(gè)底層邏輯,這本書(shū)提出了四種團(tuán)隊(duì)類(lèi)型:業(yè)務(wù)流團(tuán)隊(duì)、平臺(tái)型團(tuán)隊(duì)、復(fù)雜子系統(tǒng)團(tuán)隊(duì)和賦能型團(tuán)隊(duì)。同時(shí),還提出了三種交互模式:協(xié)作(一起做)、服務(wù)(黑盒模式)和促進(jìn)(教練賦能)。
通過(guò)理解和掌握這些組織架構(gòu)設(shè)計(jì)的原則和模式,我們可以成為一個(gè)更合格的團(tuán)隊(duì)成員,并在實(shí)際工作中降低溝通成本,減少團(tuán)隊(duì)間的認(rèn)知負(fù)載,從而提高工作效率和團(tuán)隊(duì)的協(xié)作能力。
四、行為價(jià)值觀引導(dǎo)
- SRE崗位職責(zé):我們強(qiáng)調(diào)SRE的核心職責(zé)是穩(wěn)定性保障,他們是穩(wěn)定性的首席責(zé)任人。此外,我們也要求SRE在能力上包括平臺(tái)產(chǎn)品的建設(shè);
- 團(tuán)隊(duì)協(xié)作:實(shí)現(xiàn)目標(biāo)需要多個(gè)團(tuán)隊(duì)的協(xié)作。團(tuán)隊(duì)協(xié)作的首要任務(wù)是建立信任關(guān)系,并在建立了信任的基礎(chǔ)上進(jìn)行充分的溝通,以達(dá)成共同目標(biāo);
- 復(fù)盤(pán)文化:復(fù)盤(pán)的目的是為了更好地成長(zhǎng),而不是用于追責(zé)。我們要總結(jié)好的經(jīng)驗(yàn),并將其應(yīng)用到其他場(chǎng)景中。同時(shí),我們也要總結(jié)教訓(xùn),以避免在其他項(xiàng)目中重復(fù)犯錯(cuò);
- 技術(shù)卓越:我們要?jiǎng)?chuàng)造條件,使團(tuán)隊(duì)成員有機(jī)會(huì)追求技術(shù)卓越,并不斷提升個(gè)人能力;
- 開(kāi)放連接:我們要站在巨人的肩膀上,與云廠商建立合作共贏的伙伴關(guān)系。通過(guò)這樣的合作,我們可以在多個(gè)方面為團(tuán)隊(duì)提供支持和賦能。我們可以基于對(duì)未來(lái)的設(shè)計(jì),共同打造一些產(chǎn)品能力。
最后,我想強(qiáng)調(diào)的是,文化不僅僅是掛在墻上的宣傳語(yǔ),它通過(guò)對(duì)哪些人進(jìn)行獎(jiǎng)勵(lì)、提升和解雇來(lái)體現(xiàn),真正的文化是通過(guò)這些行為來(lái)體現(xiàn)出來(lái)的。
五、具體實(shí)踐路徑
1、全球一張網(wǎng):我們?cè)谶^(guò)去兩年的實(shí)踐中,面臨了多個(gè)VPC之間的連接問(wèn)題,配置靜態(tài)路由非常繁瑣且容易遺忘,導(dǎo)致部分網(wǎng)絡(luò)不通,引發(fā)故障。為了解決這個(gè)問(wèn)題,我們提出了"全球一張網(wǎng)"的概念,即任意節(jié)點(diǎn)間實(shí)現(xiàn)內(nèi)網(wǎng)互聯(lián)互通,并通過(guò)簡(jiǎn)便的配置方式實(shí)現(xiàn)高可用的互聯(lián)網(wǎng)絡(luò)。
2、統(tǒng)一資源交付、統(tǒng)一資源調(diào)度和應(yīng)用交付能力:這三個(gè)能力從效能的角度來(lái)看,包括質(zhì)量、效率和成本。我們通過(guò)標(biāo)準(zhǔn)化、系統(tǒng)化、自動(dòng)化和智能化的手段實(shí)現(xiàn)了這些能力。
- 統(tǒng)一資源交付:通過(guò)CMP系統(tǒng)統(tǒng)一用戶操作界面,避免交付動(dòng)作不準(zhǔn)確引起的問(wèn)題,如定義自己的機(jī)型標(biāo)準(zhǔn),用戶無(wú)需關(guān)心系統(tǒng)盤(pán)大小、操作系統(tǒng)內(nèi)核以及磁盤(pán)類(lèi)型和大??;
- 統(tǒng)一資源調(diào)度:將資源統(tǒng)一池化,以便實(shí)現(xiàn)標(biāo)準(zhǔn)化和簡(jiǎn)化管理。通過(guò)離線和在線業(yè)務(wù)的分時(shí)復(fù)用,最大限度提升資源利用率;
- 統(tǒng)一應(yīng)用交付:基于K8S的鏡像化交付成為云原生應(yīng)用交付的標(biāo)準(zhǔn),實(shí)現(xiàn)一次構(gòu)建,隨處運(yùn)行。結(jié)合應(yīng)用資源畫(huà)像,自動(dòng)設(shè)置資源配置(Limit和Request)、副本數(shù)和彈性伸縮策略。
3、可觀測(cè)能力:可觀測(cè)能力是當(dāng)前熱門(mén)的方向,包括指標(biāo)監(jiān)控、追蹤和日志記錄。我們可以從用戶視角出發(fā),關(guān)注穩(wěn)定性、性能和產(chǎn)品易用性。在市場(chǎng)上有很多成熟的產(chǎn)品可供選擇,通過(guò)外部合作(購(gòu)買(mǎi))的方式快速具備可觀測(cè)能力。
4、故障復(fù)盤(pán)能力:復(fù)盤(pán)能力是組織成長(zhǎng)的關(guān)鍵。對(duì)技術(shù)團(tuán)隊(duì)而言,建立良性的復(fù)盤(pán)文化并非易事。以下是我們的兩個(gè)經(jīng)驗(yàn),供參考:
- 對(duì)于違規(guī)操作導(dǎo)致的故障,要進(jìn)行一定的懲罰;
- 不定義故障責(zé)任團(tuán)隊(duì)或者人,但必須明確故障整改措施的團(tuán)隊(duì)和人。很多時(shí)候我們?cè)诙x誰(shuí)是故障責(zé)任人,扯皮的時(shí)間會(huì)多于真正干活解決問(wèn)題的時(shí)間。
通過(guò)團(tuán)隊(duì)的努力,我們期望成功時(shí)的樣子是:
- 隨時(shí)隨地?fù)碛袩o(wú)限算力:能夠快速交付充足的計(jì)算資源,不受地域限制;
- 一次構(gòu)建隨處運(yùn)行:通過(guò)制品晉級(jí),在不同環(huán)境和地區(qū)部署同一構(gòu)建物;
- 持續(xù)改善用戶體驗(yàn):通過(guò)客戶端監(jiān)控和數(shù)據(jù)分析,不斷優(yōu)化用戶體驗(yàn);
- 面向未來(lái)持續(xù)成長(zhǎng):將故障問(wèn)題當(dāng)成改進(jìn)機(jī)會(huì),不斷提升團(tuán)隊(duì)能力。
六、結(jié)語(yǔ)
基于具體的業(yè)務(wù)實(shí)踐場(chǎng)景,并結(jié)合VUCA時(shí)代的挑戰(zhàn)和機(jī)遇,趣丸科技形成了"云原生+DevOps+SRE+ITIL"技術(shù)理念,明確了全球一張網(wǎng)、統(tǒng)一資源交付/統(tǒng)一資源調(diào)度/應(yīng)用交付能力、可觀測(cè)能力、故障復(fù)盤(pán)能力的具體實(shí)踐路徑,并結(jié)合OKR進(jìn)行落地,構(gòu)建出了一套云原生時(shí)代下的運(yùn)維技術(shù)保障體系。
劉亞丹
趣丸科技 技術(shù)保障部負(fù)責(zé)人
- 負(fù)責(zé)公司基礎(chǔ)架構(gòu)、SRE保障、FinOps財(cái)務(wù)管理及運(yùn)維產(chǎn)品體系,深耕互聯(lián)?運(yùn)維技術(shù)領(lǐng)域超15年,熟悉游戲、視頻和語(yǔ)音直播行業(yè)運(yùn)維場(chǎng)景。對(duì)IDC、云計(jì)算、基礎(chǔ)架構(gòu)、云原生應(yīng)用架構(gòu)、SRE運(yùn)維保障、數(shù)據(jù)庫(kù)多活和容災(zāi)、資源成本優(yōu)化、運(yùn)維產(chǎn)品規(guī)劃和落地,有深入理解和大量實(shí)踐,具有較為豐富的運(yùn)維團(tuán)隊(duì)管理經(jīng)驗(yàn)。