譯者 | 仇凱
審校 | 梁策 孫淑娟
隨著軟件開發(fā)對(duì)各種技術(shù)日益依賴,無論是軟件還是硬件都需要跟上技術(shù)發(fā)展,以實(shí)現(xiàn)相互配合,并提供可靠和安全的服務(wù)。然而,這種需求也會(huì)導(dǎo)致解決方案變得越來越復(fù)雜。因此,放眼全球,保障基礎(chǔ)設(shè)施可靠性已成為交付解決方案的首要任務(wù)。
基于這些現(xiàn)狀,平臺(tái)維護(hù)團(tuán)隊(duì)需要直面不同的挑戰(zhàn),在不影響軟件開發(fā)生命周期(Software Development Lifecycle,SDLC)或最終用戶的情況下對(duì)基礎(chǔ)架構(gòu)提供支持和維護(hù)保障。
平臺(tái)維護(hù)團(tuán)隊(duì)是什么?
正如Dev團(tuán)隊(duì)負(fù)責(zé)開發(fā),質(zhì)量保證團(tuán)隊(duì)負(fù)責(zé)測(cè)試,平臺(tái)維護(hù)團(tuán)隊(duì)也負(fù)責(zé)對(duì)公司的基礎(chǔ)設(shè)施進(jìn)行管理。這些基礎(chǔ)設(shè)施包含內(nèi)部SDLC資源,例如CI/CD管道、模擬/測(cè)試環(huán)境、生產(chǎn)資源,大多數(shù)情況下還包含軟件部署資源。平臺(tái)維護(hù)團(tuán)隊(duì)負(fù)責(zé)與SDLC有關(guān)的絕大部分操作并管理大多數(shù)DevOps工具和平臺(tái)的關(guān)鍵組件,從而突顯DevOps的全部?jī)?yōu)勢(shì)。
平臺(tái)維護(hù)團(tuán)隊(duì)的主要職責(zé)是什么?
平臺(tái)維護(hù)團(tuán)隊(duì)要熟悉SDLC的方方面面,因此,團(tuán)隊(duì)通常包含具備不同專業(yè)技能的成員,比如基礎(chǔ)架構(gòu)工程師、網(wǎng)絡(luò)工程師、安全專家以及像Kubernetes管理員這樣更細(xì)分的人士。
平臺(tái)維護(hù)團(tuán)隊(duì)的職責(zé)會(huì)因具體要求和企業(yè)特定需求而有所不同。但是,通常來說他們都負(fù)責(zé)以下任務(wù):
- 提供、管理、優(yōu)化和保障部署在本地?cái)?shù)據(jù)中心或云服務(wù)環(huán)境中的服務(wù)器、網(wǎng)絡(luò)和數(shù)據(jù)庫等基礎(chǔ)設(shè)施。
- 執(zhí)行軟件部署并持續(xù)監(jiān)控服務(wù)可用性。
- 管理CI/CD管道,確保交付團(tuán)隊(duì)可以使用平臺(tái)及其附屬的所有工具。
- 訪問控制。由于平臺(tái)維護(hù)團(tuán)隊(duì)幾乎可以訪問所有資源,因此他們也負(fù)責(zé)對(duì)特定資源或范圍的權(quán)限進(jìn)行分配和管理。
- 對(duì)工作流程和任務(wù)進(jìn)行自動(dòng)化。
- 管理資源利用率并優(yōu)化成本。
平臺(tái)維護(hù)團(tuán)隊(duì)面對(duì)的挑戰(zhàn)
那么平臺(tái)維護(hù)團(tuán)隊(duì)要面臨哪些挑戰(zhàn)呢?通常,基礎(chǔ)架構(gòu)環(huán)境越大、越復(fù)雜,平臺(tái)維護(hù)團(tuán)隊(duì)面臨的挑戰(zhàn)就越嚴(yán)峻。
- 首要的挑戰(zhàn)就是對(duì)所有基礎(chǔ)架構(gòu)的配置、策略和變量進(jìn)行安全且一致的管理。這個(gè)挑戰(zhàn)在面對(duì)多平臺(tái)時(shí)會(huì)變的更加復(fù)雜,而當(dāng)處理的環(huán)境涉及多云架構(gòu)時(shí),那就是噩夢(mèng)。即使是JSON和YAML這些簡(jiǎn)單的文件類配置,它們之間的差異也會(huì)導(dǎo)致額外的管理成本。
- 變更管理。此任務(wù)涉及跟蹤和記錄用戶的實(shí)際變更以及變更原因、變更時(shí)間和受影響的資源。
- 平臺(tái)維護(hù)團(tuán)隊(duì)不僅僅是簡(jiǎn)單的執(zhí)行變更,而是需要在每次變更前對(duì)變更操作進(jìn)行有效性驗(yàn)證。理想情況下,此驗(yàn)證應(yīng)通過適當(dāng)?shù)墓ぷ髁鞒踢M(jìn)行變更申請(qǐng),以獲得變更發(fā)起者及相關(guān)領(lǐng)導(dǎo)的授權(quán)或批準(zhǔn)。
- 對(duì)環(huán)境進(jìn)行配置一致性管理。
- 管理不同的工具棧。由于不同的部門使用不同的工具和平臺(tái),因此平臺(tái)維護(hù)團(tuán)隊(duì)需要在不破壞SDLC的情況下對(duì)它們進(jìn)行管理。
- 處理復(fù)雜的自動(dòng)化流程。一個(gè)團(tuán)隊(duì)可能會(huì)需要一個(gè)新的自動(dòng)化流程,但是需要對(duì)此仔細(xì)評(píng)估,因?yàn)榧词故且粋€(gè)簡(jiǎn)單的請(qǐng)求也可能在復(fù)雜的環(huán)境中引發(fā)連鎖反應(yīng)。
- 管理跨平臺(tái)的授權(quán)和認(rèn)證。需要為每個(gè)用戶和組配置正確的權(quán)限,只允許用戶對(duì)已授權(quán)的資源進(jìn)行操作。
- 在不影響用戶的情況下優(yōu)化基礎(chǔ)設(shè)施,以實(shí)現(xiàn)降本增效。
DevOps和基礎(chǔ)設(shè)施挑戰(zhàn)
軟件開發(fā)涉及不同團(tuán)隊(duì)的協(xié)作,而DevOps有助于在軟件開發(fā)生命周期中為各個(gè)團(tuán)隊(duì)創(chuàng)建一個(gè)敏捷、高效的協(xié)作環(huán)境以推動(dòng)開發(fā)進(jìn)度。然而,這種敏捷的開發(fā)速度可能會(huì)導(dǎo)致平臺(tái)維護(hù)團(tuán)隊(duì)面臨快速執(zhí)行基礎(chǔ)架構(gòu)變更的壓力。
敏捷開發(fā)依賴基于DevOps的自動(dòng)化交付。平臺(tái)維護(hù)團(tuán)隊(duì)的職責(zé)是維護(hù)從代碼構(gòu)建、測(cè)試、自動(dòng)化部署到監(jiān)控的配置,以保證整個(gè)自動(dòng)化流程的有效性。隨著發(fā)布周期越來越短,平臺(tái)維護(hù)團(tuán)隊(duì)不僅需要對(duì)生產(chǎn)環(huán)境和模擬環(huán)境進(jìn)行快速調(diào)整、優(yōu)化和變更,也需要對(duì)整個(gè)基礎(chǔ)設(shè)施進(jìn)行全面檢修,甚至需要對(duì)內(nèi)部團(tuán)隊(duì)用于開發(fā)軟件的所有工具和平臺(tái)執(zhí)行相同的維護(hù)任務(wù)。所有的配置和維護(hù)都是平臺(tái)維護(hù)團(tuán)隊(duì)的職責(zé)。
總之,現(xiàn)代DevOps實(shí)踐的持續(xù)變更和交付可能會(huì)為平臺(tái)維護(hù)團(tuán)隊(duì)帶來壓力。
使用不同的工具和工具集如何影響這些挑戰(zhàn)?
不同的工具和工具集是支撐現(xiàn)代自動(dòng)化軟件開發(fā)生命周期的基石。平臺(tái)維護(hù)團(tuán)隊(duì)需要不斷維護(hù)和優(yōu)化交付管道的各個(gè)方面,以確保在不影響產(chǎn)品研發(fā)和交付的情況下管理基礎(chǔ)架構(gòu)。
大多數(shù)時(shí)候,平臺(tái)維護(hù)團(tuán)隊(duì)依靠多種工具來為單個(gè)交付管道提供支持。這些工具可以涵蓋版本控制、代碼構(gòu)建、自動(dòng)化測(cè)試框架、基礎(chǔ)設(shè)施即代碼等,都是用來完善CI/CD平臺(tái)的。配置和管理這些不同的工具和工具集給平臺(tái)維護(hù)團(tuán)隊(duì)增加了一定復(fù)雜性。當(dāng)涉及到故障排查時(shí),過程將異常艱難,因?yàn)閱蝹€(gè)工具中配置錯(cuò)誤的可能性很高,這會(huì)影響整個(gè)交付管道的不同工具。
在DevOps領(lǐng)域,如果想要獲得DevOps實(shí)踐的收益,就幾乎不可能分離不同的工具和工具集來支持CI/CD管道。不同的工具使平臺(tái)維護(hù)團(tuán)隊(duì)能夠正確應(yīng)對(duì)并管理交付管道和基礎(chǔ)設(shè)施所帶來的挑戰(zhàn)。同時(shí),為了簡(jiǎn)化對(duì)多個(gè)工具的管理,集中式管理工具正在迅速普及。這些工具提供了一個(gè)單一界面來管理交付管道的所有組件,同時(shí)可與其他工具和服務(wù)交互,以幫助基礎(chǔ)架構(gòu)團(tuán)隊(duì)有效執(zhí)行任務(wù)。
總結(jié)
在現(xiàn)代軟件開發(fā)環(huán)境中,平臺(tái)維護(hù)團(tuán)隊(duì)面臨著復(fù)雜程度不一的多種挑戰(zhàn),而消費(fèi)者日益增長(zhǎng)的需求和敏捷開發(fā)更加劇了這當(dāng)中的復(fù)雜性。因此,平臺(tái)維護(hù)團(tuán)隊(duì)越來越依賴不同的工具和工具集,同時(shí)對(duì)這些工具的管理也同樣是平臺(tái)維護(hù)團(tuán)隊(duì)要應(yīng)對(duì)的挑戰(zhàn)。集中管理工具通過使用統(tǒng)一的平臺(tái)來管理整個(gè)軟件開發(fā)生命周期,或?qū)⒊蔀橹ζ脚_(tái)工具的好幫手。
譯者介紹
仇凱,51CTO社區(qū)編輯,目前就職于北京宅急送快運(yùn)股份有限公司,職位為信息安全工程師。主要負(fù)責(zé)公司信息安全規(guī)劃和建設(shè)(等保,ISO27001),日常主要工作內(nèi)容為安全方案制定和落地、內(nèi)部安全審計(jì)和風(fēng)險(xiǎn)評(píng)估以及管理。
原文標(biāo)題:??What Are The Key Challenges a Platform Team Experiences???,作者:Marija Naumovska