平臺運維團隊面臨的主要挑戰是什么?
隨著軟件開發對各種技術日益依賴,無論是軟件還是硬件都需要跟上技術發展,以實現相互配合,并提供可靠和安全的服務。然而,這種需求也會導致解決方案變得越來越復雜。因此,放眼全球,保障基礎設施可靠性已成為交付解決方案的首要任務。
基于這些現狀,平臺運維團隊需要直面不同的挑戰,在不影響軟件開發生命周期或最終用戶的情況下對基礎架構提供支持和運維保障。
平臺運維團隊是什么?
正如Dev團隊負責開發,質量保證團隊負責測試,平臺運維團隊也負責對公司的基礎設施進行管理。這些基礎設施包含內部SDLC資源,例如CI/CD管道、模擬/測試環境、生產資源,大多數情況下還包含軟件部署資源。平臺運維團隊負責與SDLC有關的絕大部分操作并管理大多數DevOps工具和平臺的關鍵組件,從而突顯DevOps的全部優勢。
平臺運維團隊的主要職責是什么?
平臺運維團隊要熟悉SDLC的方方面面,因此,團隊通常包含具備不同專業技能的成員,比如基礎架構工程師、網絡工程師、安全專家以及像Kubernetes管理員這樣更細分的人士。
平臺運維團隊的職責會因具體要求和企業特定需求而有所不同。但是,通常來說他們都負責以下任務:
- 提供、管理、優化和保障部署在本地數據中心或云服務環境中的服務器、網絡和數據庫等基礎設施。
- 執行軟件部署并持續監控服務可用性。
- 管理CI/CD管道,確保交付團隊可以使用平臺及其附屬的所有工具。
- 訪問控制。由于平臺維護團隊幾乎可以訪問所有資源,因此他們也負責對特定資源或范圍的權限進行分配和管理。
- 對工作流程和任務進行自動化。
- 管理資源利用率并優化成本。
平臺運維團隊面對的挑戰
那么平臺運維團隊要面臨哪些挑戰呢?通常,基礎架構環境越大、越復雜,平臺運維團隊面臨的挑戰就越嚴峻:
(1) 首要的挑戰就是對所有基礎架構的配置、策略和變量進行安全且一致的管理。這個挑戰在面對多平臺時會變的更加復雜,而當處理的環境涉及多云架構時,那就是噩夢。即使是JSON和YAML這些簡單的文件類配置,它們之間的差異也會導致額外的管理成本。
(2) 變更管理。此任務涉及跟蹤和記錄用戶的實際變更以及變更原因、變更時間和受影響的資源。
(3) 平臺運維團隊不僅僅是簡單的執行變更,而是需要在每次變更前對變更操作進行有效性驗證。理想情況下,此驗證應通過適當的工作流程進行變更申請,以獲得變更發起者及相關領導的授權或批準。
(4)對環境進行配置一致性管理。
(5) 管理不同的工具棧。由于不同的部門使用不同的工具和平臺,因此平臺運維團隊需要在不破壞SDLC的情況下對它們進行管理。
(6) 處理復雜的自動化流程。一個團隊可能會需要一個新的自動化流程,但是需要對此仔細評估,因為即使是一個簡單的請求也可能在復雜的環境中引發連鎖反應。
(7) 管理跨平臺的授權和認證。需要為每個用戶和組配置正確的權限,只允許用戶對已授權的資源進行操作。
(8) 在不影響用戶的情況下優化基礎設施,以實現降本增效。
DevOps和基礎設施挑戰
軟件開發涉及不同團隊的協作,而DevOps有助于在軟件開發生命周期中為各個團隊創建一個敏捷、高效的協作環境以推動開發進度。然而,這種敏捷的開發速度可能會導致平臺維護團隊面臨快速執行基礎架構變更的壓力。
敏捷開發依賴基于DevOps的自動化交付。平臺運維團隊的職責是運維從代碼構建、測試、自動化部署到監控的配置,以保證整個自動化流程的有效性。隨著發布周期越來越短,平臺運維團隊不僅需要對生產環境和模擬環境進行快速調整、優化和變更,也需要對整個基礎設施進行全面檢修,甚至需要對內部團隊用于開發軟件的所有工具和平臺執行相同的維護任務。所有的配置和維護都是平臺維護團隊的職責。
總之,現代DevOps實踐的持續變更和交付可能會為平臺運維團隊帶來壓力。
使用不同的工具和工具集如何影響這些挑戰?
不同的工具和工具集是支撐現代自動化軟件開發生命周期的基石。平臺運維團隊需要不斷運維和優化交付管道的各個方面,以確保在不影響產品研發和交付的情況下管理基礎架構。
大多數時候,平臺運維團隊依靠多種工具來為單個交付管道提供支持。這些工具可以涵蓋版本控制、代碼構建、自動化測試框架、基礎設施即代碼等,都是用來完善CI/CD平臺的。配置和管理這些不同的工具和工具集給平臺運維團隊增加了一定復雜性。當涉及到故障排查時,過程將異常艱難,因為單個工具中配置錯誤的可能性很高,這會影響整個交付管道的不同工具。
在DevOps領域,如果想要獲得DevOps實踐的收益,就幾乎不可能分離不同的工具和工具集來支持CI/CD管道。不同的工具使平臺維護團隊能夠正確應對并管理交付管道和基礎設施所帶來的挑戰。同時,為了簡化對多個工具的管理,集中式管理工具正在迅速普及。這些工具提供了一個單一界面來管理交付管道的所有組件,同時可與其他工具和服務交互,以幫助基礎架構團隊有效執行任務。
總結
在現代軟件開發環境中,平臺運維團隊面臨著復雜程度不一的多種挑戰,而消費者日益增長的需求和敏捷開發更加劇了這當中的復雜性。因此,平臺運維團隊越來越依賴不同的工具和工具集,同時對這些工具的管理也同樣是平臺運維團隊要應對的挑戰。集中管理工具通過使用統一的平臺來管理整個軟件開發生命周期,或將成為助力平臺工具的好幫手。
原文鏈接:https://dzone.com/articles/key-challenges-platform-teams-experience