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