大數據

管理自動化-企業上雲必由之路

為何要自動化

         在服務阿里雲客戶的過程中,我們發現一個有趣的現象,歐美客戶相比於國內客戶,明顯對自動化工具的依賴度要更高。在使用阿里雲時,國內客戶希望我們更多地提供可操作的UI界面,而國外客戶則要求我們支持更多的管理工具以增強其自身體系與阿里雲集成的需求,這種需求的背後往往都是大規模自動化管理IT系統的需要。

         對於這種差異的原因,許多觀點認為是由於國外技術導向、人力成本高、管理上對合規要求高等特點導致對IT系統自動化國外公司的需求會更強烈。而國內公司由於發展階段不同,更加業務導向,人力資源也相對充足,往往會用人海戰術來解決IT基礎設施不夠發達的問題。

         然而,隨著雲計算的不斷成熟,上雲已是大勢所趨的情況下,再遵循舊的思路將會對企業經營產生重大影響。自動化管理雲上資源,不僅僅是降低財務成本,更重要的是能夠降低技術門檻,同時提高效率,節省時間,更符合數字化大生產的趨勢。全面實現IT管理自動化,將是企業的核心競爭力之一,幫助企業更加快速、穩妥地達成業務目標。

企業客戶的自動化需求

         讓我們從一個客戶案例來一窺企業在上雲時的需求:

         在上圖的情境中,客戶對於雲平臺的需求顯然並不僅僅是開發運維領域的編程自動化,實際上首先要考慮的反而是如何管理預算和人員。ToB業務與ToC業務的一個重要區別就是決策鏈不一樣,最終決定方案的人不一定是CTO,反而可能是CFO或CEO,畢竟對於企業來說要追求業務、組織、財務、法律、技術方面的平衡性、可持續性,能滿足業務需要的架構才是好架構。

         通過溝通分析,該客戶上雲主要的需求為:

  1. 組織管理功能:企業需要各種資源的協同一致,才能達成業務目標。具體到雲計算的使用,需要先明確“有哪些人、以什麼權限、在什麼條件下、可以使用哪些資源”,才能做好資源的規劃。許多企業都有自己的層級結構,有自己的賬號系統和權限系統,這些系統需要與雲上系統打通,確保角色和權限可以得到合理的分配。打通這些能力,需要通過OpenAPI的方式提供身份管理、SSO登錄、權限管理及相應的資源組織管理功能。這些功能在阿里雲上可以使用企業IT治理產品線下的訪問控制RAM(包含身份管理、權限管理等組件),資源管理(包含資源目錄、資源組、資源共享、Tag等組件)等產品實現。
  2. 基礎設施自動化編排:迄今為止,阿里雲已經提供了200多個雲服務,1萬多個OpenAPI,如此之多的功能已非僅靠手工編程逐個處理可以完成。2020年疫情影響下,許多企業都有快速擴容服務器的需求,類似Terraform/ROS這樣的資源編排工具大放異彩。雲廠商是否支持好這類編排工具,對於客戶上雲體驗會有很大影響。
  3. 應用程序自動化編排:企業如果要運行web服務,需要編排好的基礎資源上部署一個web應用並配置好端口、負載均衡等配置,這時候就是ansible、puppet、chef等開源運維工具的用武之地,阿里雲目前重點支持ansible,同時也提供OOS運維編排服務,前不久還推出了OAM規範,進一步簡化了應用部署的過程。
  4. 安全需求:安全性再怎麼強調都不為過,新聞中每隔一段時間都會爆出黑客新聞、數據洩露新聞。即使數據不洩露,各種層出不窮的安全漏洞也需要客戶的服務及時得到安全升級和防護,確保商業安全。如果沒有自動化手段,僅靠人工修復往往是來不及的。上圖中的客戶就需要能夠自動化地感知和修復漏洞,併為此做了與阿里雲安全中心的集成。阿里雲的OpenAPI體系在RAM及其他安全產品的加持下,具備高度的安全性,能夠防止各類安全問題。
  5. 合規需求:面對越來越複雜的商業形式,做好合規工作是大型企業的必備需求。合規一方面是對外合規,比如審計數據、財務數據合規,另一方面是內部數據的合規,例如對內部管理規範的約束。阿里雲提供操作審計(ActionTrial)和配置審計(Config)兩款產品給客戶,同時還提供針對行業雲的合規能力,後文會介紹。在自動化方面這些產品,都可以通過OpenAPI或OSS等通道來對接客戶系統。
  6. 監控需求:監控本身是技術層面必須關注的事情,不過在資源託管到雲上的情況下,需要將監控體系與企業本身的運作打通,這一方面是數據打通,數據可視化,另一方面是角色分工的問題。雲監控是阿里雲上實施自動化監控的利器,除了可視化的界面外,也可以通過OpenAPI對接客戶系統。
  7. 費用需求:除了前面說到的財務合規方面的問題(例如分賬),同時也涉及到成本優化,例如能否能夠與監控打通,看到資源利用率數據,進而自動化地產生資源分析報告,提升資源使用效率。這方面阿里雲提供了Tag/資源組等資源打標方式,通過這些標籤或分組可以給客戶提供細粒度的分賬方式。
  8. 態勢感知:在本客戶的需求,能否根據目前資源使用情況,及歷史記錄,或者根據事先規劃,提前做好資源儲備,在必要的時候快速提升或減少資源的使用量,合理調度資源。這一方面要求雲計算具備快速擴縮容的能力,另一方面也需要能夠具備資源用量、計劃的感知能力。這裡面涉及到的配額管理能力後文會有介紹。

除了上述基本需求,在上圖中客戶還自行研發了內部管理門戶,將這些能力集中管理起來,其實與市場上雲管廠商做的事情比較類似。

總結一下,企業上雲自動化能力應重點關注下圖所示相關能力:

         針對上述企業場景,阿里雲都提供了完備的解決方案,這裡限於篇幅原因不一一介紹。不過向大家隆重介紹一下阿里雲開放平臺團隊推出的集上述能力之大成的樣板間項目:https://open.aliyun.com/landing-zone。樣板間不僅僅從概念上定義了企業IT上雲的最佳實踐,同時還提供了自動化Terraform代碼實現,讀者可以自行去github上下載最新的代碼 https://github.com/aliyun/alibabacloud-landing-zone 學習交流。關於樣板間的詳細文章,請參考公眾號文章 xxxxxxxxxxx 。

OpenAPI自動化能力升級

除了上面已具備的基礎能力,今年阿里雲還做了哪些能力提升呢?先再次拿客戶案例來看一下:

         如上圖所示,過去阿里雲在自動化的基礎能力方面存在幾個長期存在的問題:

  • Terraform等編排產品覆蓋度不足,導致部分產品無法快速編排。
  • OpenAPI層面的許多調用策略不清晰,影響客戶端效率優化,例如超時時間不明確會導致客戶端設置的時間要麼過長要麼過短,影響業務流程;流控閾值不透明,調用方出現問題不知原因。
  • 對於重要的資源,客戶側比較難以獲知自身擁有的配額限制;對於暫時無法創建的資源,客戶只能通過工單來提需求,響應速度有限。
  • 由於歷史原因,許多阿里雲的產品需要手工開通,成了自動化路上的絆腳石。
  • 過去阿里雲產品之間互通訪問,需要客戶手工在控制檯上進行授權,直接阻礙了自動化的鏈路順暢性,增加了人工成本。

為了解決上述問題,過去一段時間,阿里雲在這些影響用戶體驗的卡點上都發力解決,取得了一些成果。

Terraform產品支持

隨著越來越多的客戶加入阿里雲,Terraform的需求越來越強烈。過去terraform和ros這類產品的覆蓋面不夠的情況下客戶不得不部分使用terraform部分使用其他產品或自建。terraform這類工具的優勢並不僅僅在於能夠用簡化的HCL語言調用OpenAPI來管理資源,它最強大的特性在於能夠將資源關係也作為對象管理起來,並通過內置的機制自動化地管理資源所造成的級聯影響。通過隨著版本的升級,terraform module也成為具備較高複用性的重要特性,方便客戶進行模塊化管理。

WeWork一家專注於聯合辦公社群的公司,2015 年,它被《Fast Company》評為 2015 年度最創新的公司之一。WeWork China選擇了阿里雲作為合作伙伴,在基礎資源、全球網絡、安全、IOT、大數據等方面都開展了深度合作。在今年的雲棲大會《構建高效、可控的企業IT治理》專場,wework的運維負責人餘亮也分享了terraform在該公司的應用情況。據介紹WeWork基礎架構團隊基於Terraform用不到2人在短短數月打造了一套可管控的自服務門戶。實現對基礎架構部署工作進行場景化封裝,實現秒級的全自動部署,以3人團隊支撐了40+業務系統的基礎架構運維工作,同時還了規範基礎架構部署的流程,避免人為誤操作,確保安全與合規。

如上圖所示,Wework 將所有的對基礎設施的定義以模板的方式都保存在Github上,當需要創建新的基礎設施或者對存量基礎設施進行變更時,只需要以Github原生的方式提交一個Pull Request,然後藉助自動化工具 atlantis 即可完成對所提交模板的Review、Merge和自動觸發Terraform的執行,並將執行後的結果狀態持久化在阿里雲 OSS 服務上,從而完成對基礎設施的持續管理。另外,wework還在嘗試將體系與Jenkins、工作流融合,打造自助式服務平臺。

目前阿里雲Terraform所支持的產品數從40款上升到53款,資源數增加到249種資源,已經能夠滿足絕大多數場景的需求。同時面對客戶體驗方面的需求,下半年阿里雲也將推出一些工具,如提供雲端Terraform的工作流,免去客戶自己搭建和管理Terraform工作流的額外負擔;提供可視化編寫Terraform模板的能力,降低客戶使用成本的同時提升使用體驗;提供模板的自動化校驗能力,將不規範的模板遏制在Plan階段,從而提升生產環境的穩定性和可用性。

配額管理

配額管理是自動化過程中的又一大問題,雲計算本質是資源共享複用,最大的特點是彈性,在大促等資源使用高峰期想彈資源卻彈不出來無疑會大大影響業務發展,這背後其實是整個雲上資源的供應鏈流程、庫存管理、配額分配、多租戶管理問題,難度很大。而用戶常見的訴求是想知道自己有多少配額,用了多少,如何提升配額,如何更細粒度地在組織中管理配額。

針對用戶無法快速獲取和調整配額問題,阿里雲推出了配額中心,訪問地址:https://quotas.console.aliyun.com。配額中心主要流程示意圖如下:

配額中心主要解決三方面問題:

  • 用戶查詢產品配額的需求:用戶登錄上述鏈接後,能夠快速查看多達15款雲產品的配額設置,當前配額使用量等信息。特別是ECS,還提供了非常細緻的按照規格類型維度設計的細粒度的配額數據。
  • 用戶自助申請調整配額需求:過去配額只能靜態展示,當配額不足的時候,客戶就只能提工單反饋,處理很慢。現在客戶可以直接在配額中心提交配額調整申請,相關申請會即刻通知相應雲產品的管理員,根據客戶的實際情況會快速決定是否審批通過,處理效率大大提高。
  • 提供獲取配額的OpenAPI和告警:客戶側的應用程序可能需要實時獲取配額信息,以決定下一步操作流程。同時在配額不足的時候,希望能夠收到相應的告警,以及時調整運行策略。

除了關於資源本身的配額信息,下半年我們還將針對流控閾值、OpenAPI超時時間等信息提供更加透明化的信息,也可以通過配額中心來查詢。配額中心上線以來,已經有數百位企業客戶成功通過配額平臺完成配額提升申請,今後會有更多的雲產品接入配額中心。未來,我們還將提供智能化服務,根據客戶的不同使用狀況進行智能化調整,不斷提升服務水平。

雲產品開通自動化

阿里雲存在許多需要手工控制檯開通的雲產品,原因則多種多樣,主要原因是不希望用

戶產生未知的費用開銷及消費協議,故需要用戶確認開通。但這種限制確實在某些情況下導致客戶的自動化路徑受阻。針對這個自動化路上的卡點,阿里雲專門推動相關產品做了升級改造,過去需要手工開通的產品中有13款產品已完全實現免開通,9款產品提供自動化開通OpenAPI,包括(批量計算、混合雲備份服務、日誌服務、表格存儲、自然語言處理、API網關、文件存儲、EMAS、對象存儲),另外還有若干需要手動開通的產品,我們將在下半年繼續推進,最終做到開通環節100%自動化。

對於已經實現了自動化開通的產品,阿里雲的Terraform Provider也會第一時間來支持,只需要在模板中增加一個對應雲產品開通的 DataSource,並設置開通的動作 enable = "On" ,然後執行簡單的 terraform plan 或者 terraform apply 命令即可完成自動化開通。

例如,日誌服務Terraform自動化開通代碼:

data "alicloud_log_service" "open" {    enable = "On"}

這樣就客戶再也不用手工點控制檯開通的問題了,類似的方法在ROS等產品中也將得到應用。

跨服務訪問SLR

         雲產品都是獨立存在的,實際業務中經常遇到雲服務A需要訪問另外雲服務B中資源的情況。例如ECS導出鏡像到OSS,需要從ECS後端直接調用客戶的OSS上傳文件接口,這些資源屬於客戶,但卻不是同一個雲服務管理的。這個過程本質上是要獲取用戶身份和權限,過去要想實現這種操作,需要創建服務角色,用戶需要在快捷授權頁(控制檯)上通過RAM授權完成。由於需要在控制檯手工操作,一方面無法通過自動化工具來編排,另一方面當用戶誤操作例如刪除了角色,會導致出現線上故障,非常不友好。

而SLR(Service Linked Role)與手工創建服務角色相比就先進多了,它幾乎不需要用戶干預,只要擁有某個產品管理權限的子用戶,可觸發相應產品的SLR創建,同時修改和刪除也都受到嚴格的控制,避免誤操作。

一個使用SLR機制的訪問流程如下:

         從上圖可以看到,SLR同樣使用了STS和RAM機制,核心的區別是用戶再也不需要到控制檯點擊了,如果沒有對應的角色系統會自動創建相應角色。客戶幾乎無感知,只需要規劃自己需要有什麼權限,需要授權雲產品訪問哪些資源即可。

         目前已經有多達36款產品支持SLR,下半年還會有更多產品支持,屆時跨服務自動化訪問在阿里雲上將不再是問題。

OpenAPI訪問合規

         針對合規領域,常見的場景一般是需要操作審計和資源審計,主要目的是為了確保所有操作變更都可以被記錄、被審計。不過審計並不是全部,行業監管規則也是一個重要的參考因素。例如在金融雲行業,跨網絡的調用必須在可控、安全的情況下才能發生,這就要求雲上網絡調用要符合監管要求。

         針對這樣的客戶需求,阿里雲升級了OpenAPI訪問合規能力,如下圖所示:

         過去客戶訪問OpenAPI無論如何都會按照圖中上面那條流向經過公網。而如果客戶需要在VPC網絡訪問阿里雲OpenAPI,現在可以當在公有云環境中調用OpenAPI的時候將目標endpoint改為xxx-vpc.[RegionId].aliyuncs.com的形式,則發往這個目標域名的所有流量都將在阿里雲內部通信,不再流向公網,大大增強了特定行業的安全性。

總結

         以上介紹了雲上企業自動化的重點因素及阿里雲自動化能力的提升點,希望能對您有所幫助。自動化能力是企業規模化上雲的重要課題,即使是中小公司也能夠從自動化中受益。一方面企業要根據自身情況選擇合適的集成工具,另一方面在上雲前好做好人財物權法相關的規劃設計,基於阿里雲開放的OpenAPI能力、相關產品和各種工具,參考樣板間的模板化實現,能夠使得雲上企業級IT治理更加便捷高效。阿里雲也將持續改進自身服務,切實幫助客戶提效降本。

Leave a Reply

Your email address will not be published. Required fields are marked *