1. 程式人生 > >巧用雲原生能力和工具,提升雲上運維效率

巧用雲原生能力和工具,提升雲上運維效率

雖然各大行業和企業都在暢談擁抱雲端計算,或正在踐行通過雲端計算完成業務的數字化轉型,但在真正落地過程中,擺在開發者或運維人員面前的問題顯得更直接和殘酷。從上雲 POC 測試、業務遷移、應用部署、日常運維、到後續的持續性優化,每個階段都面臨著不同的挑戰。

與傳統運維不同,雲上運維人員完全接觸不到物理裝置,感知不到底層基礎設施的細節,取而代之的是雲伺服器、雲盤、VPC 網路等已經封裝好的產品形態。上雲已是趨勢,但如何基於雲上的產品形態和雲原生的能力做好自動化運維卻變得更具有挑戰。

舉個例子 …

雲伺服器的選型標準化了卻也複雜了,雲伺服器相關問題排查因底層資源的不透明導致難度變大了,按需使用的付費模式也推動資源是否合理使用的訴求變得更強烈…..雲上如何更高效地運維也就成為了運維人員共同面臨的難題。

雲上運維如何做到效率至上?

《Google SRE 運維解密》一書中提到,SRE 人員需要把更多時間花費在專案研發上,而不是日常運維中,而做到這一點的關鍵就是減少瑣事。瑣事即運維服務中手動性的、重複性的、可以被自動化的、戰術性、沒有持久價值的工作。而他們提倡的解決瑣事的方式就是自動化。

《一文讀懂雲上 DevOps 能力體系》中提到了雲上運維的演進路徑,其背後的主要推動力就是效率。從純手工的運維模式到半自動半手工,其實就是把重複的人工操作變成自動化,再進一步就是智慧化。不過,效率的提升一方面是自動化能力的提升,另一方面也要依賴於雲服務平臺服務模式的改變。

舉個例子 …

最早我們去銀行辦業務,無論是最簡單的查詢餘額或取錢存錢,還是複雜的辦卡、理財業務等,都需要到櫃檯排隊辦理,而銀行的營業時間與我們的工作時間一致,體驗非常的不好。

後來,ATM 機出現了,我們找到  ATM 就可以辦理最常見的查詢、小額取錢存錢/轉賬業務,不用在上班期間跑銀行櫃檯排隊辦理了;現在,隨著銀行自助服務機升級和手機 App 的普及,我們更願意選擇通過手機銀行來自助辦理業務,而銀行的人工櫃檯服務逐漸變成了一個解決複雜業務的邊緣路徑。

當然,這些體驗提升的背後,一方面是技術的更新迭代,另一方面也是服務提供商服務模式的改變,銀行把常見的業務通過提供工具交給我們自助辦理業務,提升使用體驗的同時、還能釋放了人工服務資源。

雲上的服務也是類似的場景。雲服務商基本都通過工單系統來解決運維人員的問題。運維人員提交工單就和去銀行櫃檯辦理業務是一樣的,工單也是要在後臺等待排隊處理的,但如果一些常見問題能通過某種手段或工具來解決,工具解決不了再找人工服務,體驗就會好很多。

所以,效率至上不僅意味著自動化的能力,也意味著雲服務商的服務模式轉變——為以使用者為中心的自助服務為主,提供工具幫助使用者自助解決問題。當前,AWS、阿里雲等服務商在使用者自助服務工具方面都有投入,提供了一系列的自助服務工具,使得運維人員在一定程度上提升雲上運維的效率。

巧用自助服務工具,實現雲上高效運維

當前,運維人員在雲上運維常見問題主要有云伺服器選型、雲伺服器排障和雲伺服器的持續優化三個方面,筆者就這三個方面介紹幾個雲上自助服務工具,希望對運維人員快速解決常見的高頻問題有所參考和幫助,縮短問題時間、提升雲上運維效率。

場景化選型工具,解決例項選型難題

雖然頭部雲廠商支援的例項規格族命名方式各異,但基本還是跟隨 AWS 命名的模式,即根據 CPU 是否獨佔、CPU 記憶體的配比、是否包含本地磁碟、本地磁碟型別及效能以及其他額外能力等對例項規格族進行命名分類。然而,即使是面對主要引數相同的例項規格族,由於不同雲服務商底層所使用的物理機型號、技術架構和技術能力的不同,生產出來的例項效能指標也不盡相同。

筆者所在的阿里雲,目前推出的例項規格數量已多達幾百種,並隨著物理硬體和系統架構的不斷升級,每年還會推出十幾款、甚至幾十款新的例項規格。新湧現的例項規格會不斷縮小之前例項規格族的差異。所以,在不同雲平臺購買雲伺服器例項時,如何從上百種例項規格中選擇與業務匹配度最高,且價效比最高的例項規格,對大多數運維人員而言都是一個難題。

實際上,雖然企業的業務形態千差萬別,但業務底層的架構不外乎以下幾大類,包括前端 Web 應用、快取、資料庫應用、大資料叢集,有些可能還會涉及到 AI 機器學習或者超算叢集等。所以,從開發運維人們面臨的是場景化的選擇—“我要為 XX 業務或應用購買計算資源”,通用機型已不能夠滿足他們的需求了。在這個大前提下,場景化選型工具無疑能大大提升研發運維人員的選項效率。

以阿里云為例,阿里云云伺服器 ECS 基於十多年平臺使用者的運營經驗將平臺上幾十、上百種例項規格的選擇按照業務場景簡化為 2-3 種例項規格,覆蓋了十多種主流業務場景,包括前端服務、中介軟體、分散式快取、過載資料庫、ElasticSearch、人工智慧訓練、計算節點、圖片轉碼和高效能運算等場景,並給出了各業務場景下例項推薦的理由,運維人員可以根據自己的業務場景來進行選擇,再也不用迷失在例項海洋裡苦苦比較。

 

從阿里雲給出的推薦理由可以看出,每個業務場景主要遵從兩個策略:

1. 總是推薦最高性價比的例項規格; 

2. 預設搭配與業務更匹配的塊儲存,即針對不同的例項規格和業務場景,推薦的塊儲存型別也不盡相同。

從這兩個策略看,總體來說運維人員可以從中獲得整體最高性價比的推薦。

排障助手,快速診斷和修復

大多數情況下,當一個運維人員遇到雲伺服器使用問題時,通常是通過工單系統提交工單、等待人工客服來解決問題。但使用過工單系統的運維人員應該都深有體會,一般性問題的響應週期一般為 1~24 小時,而解決週期則有很大概率取決於客服人員的能力,如果問題稍微複雜,該工單會被上升至研發側進行分析,這樣問題的解決週期至少為 2 個小時。下圖列舉了雲伺服器使用過程中遇到 80% 的常見問題。

實際上,雲伺服器是 CPU 記憶體、雲盤、網絡卡、VPC 等元件構成的,所以開發運維人員遇的問題歸根結底可以拆解為以下 5 個方面:

- 最底層的雲伺服器服務狀態:包括底層物理硬體裝置、虛擬化服務是否存在異常。

- 網路服務狀態:包括底層網路裝置、網絡卡驅動載入、網路連通性等是否存在異常。

- 磁碟服務狀態:即例項的雲盤和本地磁碟,包括磁碟是否存在損壞、IO 讀寫是否異常或受限等。

- 其他配套資源的服務狀態:包括關聯的安全組埠設定、例項所有元件的費用情況等。

- 雲伺服器內部作業系統的狀態:包括類似 ssh 程序所需檔案、/etc/fstab 配置、管理員賬號和密碼是否缺少,防火牆狀態、關鍵系統檔案許可權設定等。

目前,部分頭部的雲服務商已經就這些問題封裝了自助診斷和修復工具,所以建議運維人員可以先使用雲平臺的自助診斷和修復工具來解決問題,因為常見的問題基本都可以自助解決。

以阿里雲提供的自助診斷和修復工具來看,因為是基於平臺百萬 ECS 相關問題的工單進行分析、歸納並總結的,覆蓋了運維人員使用雲伺服器過程中 80% 的問題了,包括無法遠端連線、無法啟動或無法停止、服務/網路不通、CPU/頻寬跑滿貨跑高和效能不符合預期等問題。

 

所以,通過診斷工具進行診斷,如果發現問題,運維人員可以根據診斷工具提供的修復方案進行操作、一般幾分鐘就能解決問題,大大提升問題解決效率,縮短業務影響時間。

ECS 優化助手:資源報表與優化

上雲初期階段,企業需要對雲的能力和穩定性做一些前期測試和驗證,一般較少會把全部業務流量切至雲上,這是非常合理的風險規避措施。隨著雲上業務逐漸穩定,企業會逐步將業務全部切換至雲上,並隨著業務的發展,雲上業務量的佔比會越來越重,直到 100% 全面上雲。但完全上雲後就意味著結束麼?當然不是。如何持續做好雲上的運維和治理,才是重中之重。

雲上持續運維和管理的核心在於:業務架構和資源配置必須跟上業務發展的節奏,不能讓底層資源成為業務發展的瓶頸。業務架構層面的事情,涉及到業務改造成本和週期,筆者暫不展開闡述,不過評估資源是否成為業務風險點或瓶頸,則是業務和運維層面能快速識別並解決的問題。

對於資源層面的風險,可以對資源的歷史資料和報表進行分析來識別,但這些資源報表資料也要依賴雲平臺來提供。筆者知道的,阿里雲提供了 ECS 資源報表與優化服務,可以對雲伺服器 ECS、雲盤 EBS、網路頻寬等在內的 IaaS 層資源資料進行實時或 T+1 歷史資料的分析,從資源使用率、安全性和資源容量變化三個維度幫助運維人員識別資源的潛在風險。

 

資源使用率:從六個維度對 ECS 過去 14 天的歷史使用資料進行分析,包括 CPU 使用率、CPU 增長率、記憶體使用率、記憶體增長率、磁碟 IOPS 增長率、網路頻寬吞吐增長率,從而區分出高中低三種不同的資源使用率。

安全性:對例項和安全組進行安全掃描,快速識別存在高危安全漏洞的例項,或綁定了過多資源的高危安全組,提醒運維人員及時進行修復,避免業務受到潛在風險影響;

資源容量變化:對例項的新建、釋放和保有量進行跟蹤記錄,不僅能方便對賬和審計,還能洞察異常的資源變動,比如因賬號的 AK/SK 洩露導致資損。

利用資源報表與優化服務,運維人員可以獲得 IaaS 層資源不同維度的資料,以及雲平臺提供的專業和及時的修復建議,以此作為優化參考,可以更好地保障業務平穩地執行。

總結與展望

為了實現雲上高效運維,筆者看到運維人員和雲服務平臺都在不斷演化,雲平臺在不斷改變服務模式,從工單系統到自服務模式;運維人員也開始藉助雲平臺提供的一系列工具來高效運維,本文提到的自助服務只是其中一環,還有更多的自動化工具,比如資源編排、運維編排等門檻較高的工具,這些都是效率驅動下出現的。人類與動物的區別在於會製作和使用工具,建議運維人員合理利用雲上雲原生能力和工具,雲上運維工作就可以做到事半功倍。

 

作者介紹

馬小婷,阿里雲智慧產品專家,專注於打造 ECS 為中心的服務管理能力產品規劃與設計工作,包括彈性伸縮、運維編排,ECS 生命週期管理套件等,致力於完善 ECS 全生命週期的場景支撐,為使用者提供完整高效的服務能力與自助智慧的服務體驗。曾先後服務於滴滴雲、VMware,擁有 8 年以上雲行業相關經