天天看點

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

雲上運維如何做到效率至上?本文告訴你答案!

雖然各大行業和企業都在暢談擁抱雲計算,或正在踐行通過雲計算完成業務的數字化轉型,但在真正落地過程中,擺在開發者或運維人員面前的問題顯得更直接和殘酷。從上雲 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 年以上雲行業相關經驗。

繼續閱讀