云原生日漸成為主流的技術(shù)棧,傳統(tǒng)運維和開發(fā)團(tuán)隊都面臨巨大的挑戰(zhàn)。建設(shè)平臺運維或者平臺研發(fā)團(tuán)隊,實現(xiàn)對云原生組件的服務(wù)治理和平臺化、自服務(wù)供應(yīng)也許是一種可行的解決方案。
平臺運維:云原生背景下的運維進(jìn)階
01 云原生技術(shù)棧漸成主流
當(dāng)前云原生社區(qū)持續(xù)火熱,云原生計算基金會(CNCF)在2018年為云原生進(jìn)行了重新定位:云原生技術(shù)有利于各組織在公有云、私有云和混合云等新型動態(tài)環(huán)境中,構(gòu)建和運行可彈性擴(kuò)展的應(yīng)用。云原生的代表技術(shù)包括容器、服務(wù)網(wǎng)格、微服務(wù)、不可變基礎(chǔ)設(shè)施和聲明式API,這些技術(shù)能夠構(gòu)建容錯性好、易于管理和便于觀察的松耦合系統(tǒng)。結(jié)合可靠的自動化手段,云原生技術(shù)使工程師能夠輕松地對系統(tǒng)作出頻繁和可預(yù)測的重大變更。
自2018年以來,云原生技術(shù)應(yīng)用快速發(fā)展,CNCF最新的調(diào)研報告顯示:生產(chǎn)中容器的使用量從去年的84%增加到92%,從2016年的第一次調(diào)查增加到300%(見圖1);Kubernetes在生產(chǎn)中的使用從去年的78%增加到83%;自上一期的調(diào)查以來,所有CNCF項目的使用量增加了50%。
圖1 容器使用率逐年上升
此外,云原生技術(shù)棧已經(jīng)覆蓋企業(yè)絕大部分的IT架構(gòu),對于企業(yè)基礎(chǔ)設(shè)施和運維模式的可以預(yù)見的改變見表1。
表1 云原生技術(shù)棧對基礎(chǔ)設(shè)施和運維模式的改變
綜上,云原生日漸成為主流的技術(shù)棧,傳統(tǒng)運維和開發(fā)團(tuán)隊都面臨巨大的挑戰(zhàn)。
對傳統(tǒng)的系統(tǒng)團(tuán)隊而言,在商用技術(shù)棧日漸退出的背景下,需要思考:如何轉(zhuǎn)型云原生技術(shù)棧?如何管理云原生組件?如何供給云原生服務(wù)?
對開發(fā)團(tuán)隊而言,以往各自為政、重復(fù)造輪子的模式下,需要思考:如何實現(xiàn)組件的標(biāo)準(zhǔn)化?如何實現(xiàn)配置的規(guī)范化?如何實現(xiàn)資源的服務(wù)化供應(yīng)?
建設(shè)平臺運維或者平臺研發(fā)團(tuán)隊,實現(xiàn)對云原生組件的服務(wù)治理和平臺化、自服務(wù)供應(yīng)也許是一種可行的解決方案。
02 平臺運維Platform Ops
平臺運維(PlatformOps)描述了構(gòu)建、管理和優(yōu)化應(yīng)用程序基礎(chǔ)架構(gòu)的團(tuán)隊。平臺運維與DevOps、站點可靠性工程(SRE)、安全運維(SecOps)以及網(wǎng)絡(luò)運維(NetOps)有何不同?如圖2所示,平臺運維是新的運維模式,它吸收了其他Ops角色的一些功能,同時也構(gòu)建在其上起到引導(dǎo)作用。
圖2 Platform Ops
具體而言,平臺運維團(tuán)隊建立并運維一個標(biāo)準(zhǔn)化、規(guī)范化的云原生組件(例如中間件、數(shù)據(jù)庫和K8S)自服務(wù)平臺。
開發(fā)團(tuán)隊自助申請所需要的資源,平臺自動化部署相應(yīng)資源,并提供標(biāo)準(zhǔn)化、模板化的配置指引。開發(fā)人員可以專注于業(yè)務(wù)的實現(xiàn),無需成為特定云原生組件的技術(shù)專家,仍可像專業(yè)人士一樣成功部署和運用相應(yīng)組件。
相比與傳統(tǒng)運維模式,平臺運維的價值主要體現(xiàn)在以下幾方面:
01 一是實現(xiàn)專業(yè)化治理。與各開發(fā)團(tuán)隊各自為政,獨立部署和使用云原生組件相比,平臺運維可以提供更為專業(yè)的治理水平,降低安全風(fēng)險,提升系統(tǒng)效率。
02 二是提升運維效能。平臺化部署和運維可以為企業(yè)培養(yǎng)專業(yè)的云原生技術(shù)隊伍,為企業(yè)制定技術(shù)規(guī)范、完善管理流程,提升運維效能。
03 三是提升開發(fā)效能。開發(fā)人員可以專注于業(yè)務(wù)的實現(xiàn),實現(xiàn)更高的效能。
03 NGINX賦能平臺運維
作為部署量最大的云原生組件,NGINX自然是平臺運維最先關(guān)注的服務(wù),可以通過平臺運維提供圖3所示的典型的NGINX部署場景。
圖3 NGINX作為中間件
·webserver
·反向代理
·IngressController
·API網(wǎng)關(guān)
·TLS
此外,平臺運維還需要為開發(fā)提供各種其他云原生組件,NGINX可以為其他組件提供高可用保障(如圖4所示)。用戶申請其他組件時,平臺同時提供高可用的部署,通過NGINX實現(xiàn)多實例間的負(fù)載均衡,保障服務(wù)的高可用以及性能的擴(kuò)展。
圖4 NGINX提供高可用保障
04 平臺運維即將到來
在云原生技術(shù)成為主流之前,DevOps是一個碎片化的領(lǐng)域,眾多開源的單點DevOps軟件工具,阻礙了DevOps的進(jìn)一步發(fā)展,企業(yè)迫切需要DevOps一體化平臺。如果企業(yè)擁有多個DevOps團(tuán)隊,每個團(tuán)隊都指導(dǎo)自己的應(yīng)用程序并選擇自己的工具來實現(xiàn)流量管理、可視化、遙測、安全性和彈性,那么平臺運維就變得必要了??梢哉f,平臺運維是DevOps的必要擴(kuò)展功能。隨著DevOps的能力和職責(zé)轉(zhuǎn)移給開發(fā)人員和服務(wù)所有者,平臺運維將變得更加重要。
當(dāng)前,部分最具前瞻性的企業(yè)已經(jīng)進(jìn)入了構(gòu)建平臺運維團(tuán)隊的探索階段。我們預(yù)計這將成為2021年下半年的熱門話題,因為為“左移”現(xiàn)實建立護(hù)欄和指導(dǎo)方針的需求變得更加緊迫。即使企業(yè)不打算建立平臺運維團(tuán)隊,只要擁有三個以上的開發(fā)團(tuán)隊,就會從采用平臺運維思維方式和最佳實踐中受益。