天天看點

破解雲上管理六大痛點,從安全感走向幸福感

摘要:2019阿裡雲峰會上海專場,阿裡雲進階技術專家張鵬程帶來題為“雲上新時代,IaaS新姿勢”的演講。本文關于如何提升雲上使用者的安全感和幸福感,以及從架構設計到資源編排的規劃部署進行了詳細地分享,最後通過資源編排實際應用場景,講述了如何将效率使用提升起來。 直播視訊回放 IT基礎設施雲化專場PPT下載下傳 以下是精彩視訊内容整理:

雲上管理基礎架構的常見痛點

在實際運維過程中會有很多的痛點和經曆,不管是線上下的IT基礎設施管理,或者使用雲上的服務,大家仍都會遇到各種問題。這源于許多日常習慣的管理方式或者受限的限制條件導緻的。阿裡雲列舉了以下六個常見痛點:

第一,通常在建構基礎架構之初時,缺少最佳實踐的指導,很多時候會為了滿足某些緊急的需求,未做充分設計就把整個架構搭建起來。在此之後,通常需求變化會很快,這個過程容易埋下很多“坑”,後期随着基礎架構的不斷改造,很容易重複踩“坑”,這是最典型的痛點。

第二,在搭建基礎架構過程中,在雲上跨雲産品使用會遇到第二個痛點。舉例來說,經典的三層架構是靠哪些雲服務支撐起來的呢?前端有SLB的負載均衡,中間有ECS執行個體做Web服務、應用服務,後端有基于ECS自建的資料庫,或使用RDS雲資料庫。最基礎的三層架構,需要跨越雲上多個控制台去做很多操作,頻繁跳轉和配置的過程都比較繁瑣,這對于運維工程師來說體驗也是較差的。

第三,網際網路公司人員更替比較快,在人員更替情況下,許多經驗在當時操作同學的記憶中,而沒有落在文檔或者流程裡,這個過程往往很難追溯,甚至會出現系統運作一年半載後信任不敢動的情況,因為完全不知道系統設定和內建接口,系統黑盒化運作,這時面對新的需求往往隻能選擇“重構系統”了。

第四,當IT系統規模越來越大,運維人員的人數是不可能與被管理伺服器規模線性增長的,是以挑戰都會落在運維或SRE工程師的肩上,比如從最初每個人管理二三十台,慢慢增長到管理五十台甚至上百台的執行個體節點,如何高效的進行批量巡檢和運維操作,也是很常見的痛點。

第五,在運維團隊内部,當日常運維和異常處理的過程沒有流程、方法以及标準化的沉澱時,整個過程就很難複制和傳承下去,在整個團隊裡也缺少積累和演進的過程,這對于團隊和個人發展都是非常不利的。

第六,在雲上更為明顯的是,從線下IDC到雲上之後,沒有利用雲上的通路控制能力,對雲上基礎設施的管理沒有跟雲上的帳号對接起來,大家習慣于使用主帳号做各類操作,而這個過程會存在很多無法規避的風險,一旦發生安全問題後果不堪設想。

面對這麼多的常見痛點,如何提高在雲上管理基礎架構的安全感和幸福感呢?

從安全感到幸福感

破解雲上管理六大痛點,從安全感走向幸福感

上圖做了一個類比,圖左是選購一台自己的愛車,在用車過程中車的安全系數對生命的保障是相當關鍵的,每天用車的過程可以提升生活的安全感和幸福感;圖右是選擇适合的雲服務,業務系統運作在雲上對很多的公司而言,也是身家性命的保障。那麼在上雲到用雲這個過程中,需求層次從基礎的穩定可靠的安全保障,逐漸到自動化智能化管理運維,整個過程都得到了幸福感的提升。

這個過程很好了解,比如在買車的時候,大家會選擇一款各方面名額過硬、可靠性和穩定性出衆的品牌和車型,上雲的過程亦如此,客戶根據業務負載類型、對穩定性、性能的預期選擇好對應的規格,滿足自己的需求。

一旦車輛和雲服務運作起來,最基本的都是要確定每時每刻服務狀态是否在可接受的正常範圍之内。在雲上有全面可靠的監控保障和事件通知,類似車上的儀表盤,可以發覺任何異常,無論是執行個體内部的異常,還是阿裡雲底層的異常,一旦發現都會進行回報,提醒使用者及時對系統和雲服務進行檢查并采取應對措施。

在運作過程中,駕駛員和運維SRE人員都希望整個過程是可控的。很多使用者的回報也證明了這一點,他們希望在雲上的每一步操作,每一個對資源屬性的改動都是有一個原子操作,滿足控制要求還可以自動拼裝組合,達到可控的狀态。

滿足這些基礎需求之後,會出現常見需求的疊加場景,在用車過程中就出現了自動駕駛、車道保持、乃至智能駕駛的情況;而在雲上,面對上面提到的那些痛點就可以将批量的或重複的運維操作變成自動化操作,當我們把一些場景、屬性以及事件的應對方式沉澱下來,還可以靠編排的方式把它們串聯起來,那麼面對可預見的各類問題,就可以更主動的應對,不再需要面對臨危授命的挑戰,而是平滑地處理,更從容地保障業務連續性。

規劃部署

安全感基石——設計高可用系統架構

破解雲上管理六大痛點,從安全感走向幸福感

安全感的基石,首先需要有一個高可用、穩定的系統架構。以經典的三層架構為例,從前端的入口到應用伺服器,一直到後端的資料庫或者其他的通路,盡可能避免單點的存在,并利用多可用區的機制。單可用區的高可用,可以規避由節點異常導緻整個服務不可用的問題,多可用區的高可用可以規避當某個可用區出現機率極低的可用區級别的故障時,仍然可以保證業務應用穩定運作。當然,無論是在單可用區做成高可用,還是跨可用區或者跨地域的高可用設計,每一個可用性級别的提升,都需要更多的投資支撐,而對于具體需要什麼級别的高可用設計,可以通過業務的連續性和可用性需求進行判斷,選擇最适合自己、成本效益最高的架構設計。

對ECS服務來說,在單可用區的可使用級别中,每個月的SLA都是不低于99.95%,換算到一個月的使用時長,不可用時間是少于22分鐘。如果執行個體在一個月内超過22分鐘,阿裡雲有對應的賠付級别提供補償。對于單地域多可用區而言,服務可以做到99.99%,單月不可用時長低于4.4分鐘。

面臨挑戰

破解雲上管理六大痛點,從安全感走向幸福感

但僅僅靠高可用架構還支撐不了整個基礎設施部署過程。APP使用壽命越來越短,尤其是在很多網際網路上使用的會更加明顯,資訊系統的生命周期相對長一些,但仍然需要持續的架構演進,面對靈活多變的需求保持架構連續性,是巨大挑戰。在雲上基礎設施涉及到衆多資源類型,跨雲服務的操作和配置也是一個嚴重影響效率的問題。越來越多的運維開發人員、SRE工程師都會有這樣的疑問:是否可以像管理代碼一樣管理雲上基礎設施,随需而變的同時還能高效管理?

破解雲上管理六大痛點,從安全感走向幸福感

針對這樣的需求場景,阿裡雲提供了資源編排(ROS)服務, ROS實作基礎設施代碼化(Infrastructure as Code),首先是用模闆的方式把基礎設施管理起來,基礎架構在資源編排服務中是一段json/yaml檔案,後續有架構上的任何更新,都可以在維護模闆過程中保持更新。其次要素是編排引擎,這是服務後端的引擎,職責是根據定義的模闆通過編排引擎發起對雲服務的操作,建立資源棧,這樣每個模闆就可以通過編排引擎建立出一個對應的資源棧。最後是對資源棧的管理,對于架構地演進、節點地增加、新的VPC子網劃分、或者環境的複制,這些都可以通過模闆和資源棧來控制,進而實作對基礎設施部署過程進行全生命周期的管理。

資源編排的優勢

破解雲上管理六大痛點,從安全感走向幸福感

通過資源編排可以做到三個典型的優勢:

 所有資源的管理部署都可以通過一鍵管理模闆來實作。有一個經典的例子,就是SAP上雲,線上下部署SAP是非常耗時耗力的,從伺服器、資料庫到應用軟體的安裝配置,整個過程往往需要幾天的時間才能把系統配置起來。而在雲上,通過SAP一鍵部署模闆,在完成簡單的參數配置後,一鍵執行就可以将SAP部署過程從幾天的時間壓縮成不到一個小時。

 自動化編排資源,通過模闆編排的方式,整個傳遞部署過程都可以自動化實作。通常在集團化公司内部會有一個Central IT團隊負責響應各BU提出的IT需求,例如申請資源部署一個PoC環境,或者申請複制生産環境做開發測試等,如果使用資源編排,就可以預制一些模闆,模闆對應的就是不同系統架構,BU使用者可以在IT門戶申請模闆調用,實作自動化傳遞的效果。

 靈活組合多種雲産品及服務。常用的雲資源都在資源編排覆寫範圍之内。如果在阿裡雲上跨雲服務部署資源,可以通過資源編排快速靈活地管理起來。

資源編排典型應用場景

破解雲上管理六大痛點,從安全感走向幸福感

列舉幾個常見資源編排的應用場景:

第一個是組網和劃分VPC網絡,可以通過資源編排模闆完成VPC網絡劃分、網段設計、虛拟交換機設定、自定義路由等操作。

第二個是ECS、SLB、RDS三層架構的經典組合,在前面已經接受就不再贅述。

第三個是ECS克隆,例如某執行個體是作為生産環境在運作的,我們需要一個跟生産環境類似的環境做測試,可以通過資源編排将正在運作的環境快速形成一個對應的模闆将其描述出來,在雲上把對等環境建構起來,就可以在裡面快速的進行開發測試的項目。

第四個是對雲上帳号的管理,通過資源編排快速的建構子帳号,實作子帳号的授權、登入,幫助我們在雲上做更好的分權,滿足企業SOD分權的權限管理要求。

豐富的模闆,最佳實踐的沉澱

破解雲上管理六大痛點,從安全感走向幸福感

說到編輯模闆,可能覺得會有較大的使用門檻或者學習成本,阿裡雲盡可能降低大家使用的門檻,在資源編排上提供公共模闆,每個模闆都對應一類系統架構的最佳實踐,使用者使用模闆時,可以基于最佳實踐快速地将系統建構起來。

資源編排操作概覽

破解雲上管理六大痛點,從安全感走向幸福感

在使用資源編排時,有一些常見的操作方式。有開發能力或者有使用模闆習慣的使用者,可以使用圖中左邊的方式去維護基礎架構,上圖中的例子是要建立一組VPC環境和ECS執行個體,後續在這個基礎上的變更,同樣可以使用代碼疊代進行管理。另外一種可視化的操作,對于所有的資源棧,都可以在資源編排控制台上管理,頁面上完成建立、查詢、删除、更新等操作。上圖中右側的是比較易用的方式,如果感覺使用代碼的方式仍然有一定的門檻,那麼可以在資源編排提供的可視化編輯器中,通過簡單的拖拽建構系統架構圖,如上圖,通過模闆的編輯,也可以建立出來所需要的系統架構,所見即所得,非常的友善實用。

主動運維

在部署完成之後,一旦系統運作起來,就需要全生命周期的跟進管理。在日常運維中,提倡“上醫治未病”,要把運維的風險前置,主動地運維,才能把各類異常風險有效管理起來。要想讓運維具有安全感,基礎是及時的了解各種異常,在安全感基礎之上,像管理代碼一樣管理運維,把運維自動化編排起來,實作幸福感的體驗。

安全感基石

破解雲上管理六大痛點,從安全感走向幸福感

安全感的基石是了解雲上常見異常的故障和影響,雖然要做好保障措施,但各種各樣的異常還是會有一定的機率出現。例如在雲上使用ECS,有可能經曆上述這些異常情況,無論是性能的抖動,還是執行個體的夯機或非預期的當機,阿裡雲會根據智能診斷和監控結果向使用者發送對應的系統事件。這個系統事件不僅可以通過短信、電話的方式及時通知運維人員了解發生了何種問題,還可以通過API輪詢或雲監控訂閱讓程式知道所運作的系統發生了何種問題。如今在阿裡雲上有越來越多的企業使用者開始通過程式接入系統事件,做自動化的故障診斷和自愈,比如某個節點出現不可用情況後,可以直接切換流量到備機實作故障轉移。

破解雲上管理六大痛點,從安全感走向幸福感

在這個安全感基礎之上,還是會遇到一些問題,比如如何批量的巡檢,做批量更新的操作,如何變成使用者可複制的标準化的流程,這是在很多實際的工作環境下所遇到的挑戰。與此前的思路相同,是否可以能像管理代碼一樣,把雲上基礎設施運維工作高效管理起來?

破解雲上管理六大痛點,從安全感走向幸福感

帶着這些問題,與大家分享一個阿裡雲剛剛釋出,在雲上提供公測的服務,稱為運維編排(OOS,Operation Orchestration Service)。它的概念與資源編排如出一轍,也是通過模闆方式管理,如果将所有運維的動作都通過模闆描述下來,這些模闆檔案就成為了标準化流程文檔,在通過編排引擎的控制,實作一系列批量、周期性的動作,大大減輕運維人員的負擔和手工操作帶來的各種風險。

破解雲上管理六大痛點,從安全感走向幸福感

使用編排引擎在使用過程中有幾個顯著優勢:

一是可視化的執行過程,所有的腳本,所有的模闆在運作過程中處在哪個節點,是不是得到預期的效果,或者出現異常,在可視化面闆上可以看到即時的狀态。

二是免費全托管自動化,即無伺服器(Serverless)的自動化執行過程。當使用者線上下環境使用一些運維工具時,這些工具通常是用戶端服務端的系統架構。使用者需要自己維護運維自動化工具的服務端,但是在雲上可以變成無服務化的模式,隻需要管理自己運維的場景即可,執行過程無需消耗自己的計算資源。

三是高效的批量管理,在傳統場景下,執行批量任務相比單一任務的管理複雜度大幅增加,通過運維編排可以進行實時的進度管理、運作狀态統計和快速的錯誤定位,實作高效的管理效果。

四是完備的健全和審計,運維編排雲雲上通路控制和權限管理原生內建,無論是運維編排自身的操作,還是通過運維編排執行的對雲産品的操作,都支援鑒權和審計,保障客戶安全。

五是快速模闆建構能力,通過豐富的公共模闆庫,您無需從零開始編寫模闆,在公共模闆中找到場景的運維場景,可以快速地複制和修改,進而滿足個性化運維需求。

六是跨地域運維能力,普通的運維操作隻能在一個地域内完成,如果您使用了多個地域的資源,可以利用運維編排的任務循環,快速地覆寫多個地域。

典型應用場景

破解雲上管理六大痛點,從安全感走向幸福感

簡單介紹四個常用場景:

第一個是批量的巡檢,對于成百上千的執行個體檢查它的資源使用率,以及做一些擴容的操作,可以通過簡單的編排來實作。

二是更新鏡像,這對于很多運維人員都是常用的操作,不論是安裝最新的更新檔,還是更新元件和服務,通常都需要進行一系列重複性操作,而使用運維編排的更新鏡像模闆,可以在模闆中定義需要更新的配置内容,然後一鍵執行完成鏡像的更新。

三是需要審批或事件驅動的複雜運維場景,如果運維過程中需要二次确認,比如有時一個人操作生産環境風險很大,這時可以通過運維模闆的二次确認的機制保障生産安全;或者面對基于某種條件觸發才會執行的場景,利用運維編排的事件觸發器,更好實作事件驅動的自動化運維。

四是定時任務,比如需要每天零點做一些清理的操作,也可以設定定時周期性的任務去執行。

破解雲上管理六大痛點,從安全感走向幸福感

最後,上圖中的操作概覽與資源編排相類似,所有的運維轉化為代碼腳本的方式,把運維的标準化操作沉澱下來,更新可以在模闆的版本管理中完成。在控制台頁面上可以定義不同的模闆,有公共模闆,自定義模闆,在執行過程中可以看到執行過程是不是符合預期,或者針對執行錯誤進行必要的操作。

編排服務助力雲上DevOps閉環管理

破解雲上管理六大痛點,從安全感走向幸福感

綜上所述,資源編排和運維編排幫助我們更輕松、更高效地管理雲上基礎設施,也幫助我們在雲上更順暢地運作DevOps體系。在DevOps體系中,包括從計劃、編碼、建構、持續測試、釋出、部署、運維、監控的全過程,在基礎設施部署和運維階段,資源編排和運維編排可以很好的組合起來支撐DevOps體系,在此基礎上,通過與雲上其他開發運維服務的有機結合,幫助使用者最終達到完全自動化閉環的效果。

上雲實作了IT基礎設施雲化,在雲化的環境中标準化、自動化、智能化是必然的趨勢,希望資源編排和運維編排能夠成為大家管理雲上基礎設施的利器,提升整體的部署運維效率,讓更多的使用者在雲上獲得安全幸福的體驗。