天天看點

阿裡雲重磅釋出雲上自動化利器——運維編排OOS常見的運維問題運維演進的三個方向阿裡雲運維編排服務運維編排(OOS)和資源編排(ROS)歡迎使用OOS系列文章

阿裡雲重磅釋出雲上自動化利器——運維編排OOS常見的運維問題運維演進的三個方向阿裡雲運維編排服務運維編排(OOS)和資源編排(ROS)歡迎使用OOS系列文章

常見的運維問題

  1. 人工運維 —— 機械性重複運維,效率地下,錯誤頻發
  2. 工具輔助 —— 無法批量操作,批量運作狀态缺乏管理,難以定位錯誤
  3. 業務發展過快,缺少運維積累,缺乏運維規範
  4. 多人運維缺少權限控制,中心化日志,無法審計
  5. 運維權限過大,增加失誤風險,運維變成“背鍋俠”

運維演進的三個方向

阿裡雲重磅釋出雲上自動化利器——運維編排OOS常見的運維問題運維演進的三個方向阿裡雲運維編排服務運維編排(OOS)和資源編排(ROS)歡迎使用OOS系列文章
  • 第一階段:純手工運維。完全依賴手工的方式運維,有時在指令行裡面的敲幾行指令,有時用滑鼠在幾個不同的網頁上操作,基本上都是靠“前輩”手把手指導,然後就自己上路了,剛開始操作時心中忐忑,生怕“碰壞了”系統。等到操作熟練以後,又容易掉以輕心,最好操作失誤,觸發故障。
  • 第二階段:逐漸累積了一些運維腳本和一些小工具,幫助完成單一的運維任務。比起第一階段,完成單一運維任務的效率提高了很多。但是在處理批量任務時,依然力不從心,無法很好地協同狀态,協調各個任務之間的狀态。腳本的編寫往往不夠嚴格,時常遇到錯誤,導緻無法繼續使用腳本和工具,需要退回到手工運維。
  • 第三階段:完整的自動化系統。比起第二階段,工具和腳本被系統級的自動化軟體所取代,自動化的系統提供完備的批量運作,狀态監控,日志和身份認證等功能。此類系統可以完成預先設計的自動化功能,随着任務的需求越來越多,系統需要不斷更新和維護。 —— 為了友善阿裡雲的使用者,阿裡特意打造了雲上的自動化運維平台 —— 運維編排服務OOS。

阿裡雲運維編排服務

阿裡雲運維編排服務(Operation Orchestration Service,簡稱OOS)是一個全面的,免費的雲上自動化運維平台,提供了運維任務的管理和執行。典型的使用場景包括:事件驅動運維,批量操作運維,定時運維任務,跨地域運維等,OOS特别為一些重要的運維場景提供了審批,通知等功能。通過使用OOS還可以達到标準化運維任務的目的,進而實踐運維即代碼(Operations as Code)的先進理念。OOS支援跨産品使用,您可以使用OOS管理ECS、RDS、SLB、VPC等雲産品。

産品優勢

可視化的執行過程和執行結果

通過提供可視化的執行過程,您可以看到完整的執行過程和執行結果,具體包括:

  • 直覺地看到各個任務的執行詳情、參數和輸出。
  • 清晰地看到執行的流程、順序和錯誤跳轉。
  • 透明地看到從開始到結束的完整執行過程。
    阿裡雲重磅釋出雲上自動化利器——運維編排OOS常見的運維問題運維演進的三個方向阿裡雲運維編排服務運維編排(OOS)和資源編排(ROS)歡迎使用OOS系列文章

免費的全托管自動化

提供全托管的自動化執行,即無伺服器(Serverless)的自動化執行。執行過程無須消耗和使用您的計算資源(如ECS執行個體),即可滿足創業型公司、中小型企業以及大型企業客戶的自動化運維需求。完全的自動化模式下無需人工守護,讓您更加專注于業務的高速增長。

高效的批量管理

傳統場景下,執行批量任務相比執行單一任務的管理複雜度大幅增加,OOS可以幫助您提供實時的進度管理、運作狀況統計和快速的錯誤定位,進而提高整體的運維效率。

完備的鑒權和審計

您可以繼續使用熟悉的資源通路管理和使用者權限管理系統(RAM)來管理OOS,無論是運維編排自身的操作,還是通過運維編排執行的對其他雲産品的操作,均支援鑒權和審計。您無需擔心操作的安全。

快速模闆建構能力

OOS提供高易用性的模闆建構能力,您無需從零開始建構。OOS提供了熱門雲産品的快速內建能力雲産品動作,幫助您快速地構模組化闆,降低模闆編寫的難度,提高整體運維的效率。同時,OOS為常見的運維場景提供了公共模闆,您可以選擇一個類似的模闆快速地複制和修改,以便滿足您獨特的運維需求。

跨地域、多地域的運維能力

因為業務的需要您可能使用了多個地域的資源,普通的運維操作隻能在一個地域内單獨操作,而OOS同時提供了跨地域和多地域的運維能力。多地域運維時,可以利用OOS的任務循環,能夠快速地覆寫多地域。跨地域運維時,隻需要指定對應Action的RegionId即可。

标準化運維任務(Operations as Code)

将日常所需要的運維任務以模闆的方式提供,并遵循代碼(Code)的管理方式來管理模闆。從建立到稽核,再同步到生産賬号中,後續的運維任務隻從标準模闆中選擇運作,確定運維動作的安全,像源代碼一樣的規範,并以此完成運維即代碼(Operations as Code)的最佳實踐。

運維權限收斂(委托授權)

運維人員的權限管理非常地複雜,太大的權限意味着太高的風險,太小的權限又無法完成運維操作,如何可以讓運維人員完成運維任務,同時又避免他進行非預期的操作。OOS提供了委托授權模式,具有高權限的管理人員編寫OOS模闆,并配置固定的role,此時即完成了委托授權。然後将執行此模闆的權限開放給其他低權限的運維人員,即可完成運維任務,又避免了高權限的風險。

應用場景

OOS的常見應用場景有:事件驅動、批量操作、更新鏡像、需要審批的運維場景、定時任務、跨地域、多地域的運維等應用場景,且您也可根據自身實際場景自定義諸多靈活多樣的模版。

事件驅動

當一個事件發生時,觸發一個運維動作。例如,當某ECS執行個體的CPU使用量達到了85%時,為了防止業務中斷,自動重新開機。事件驅動場景可以提供主動運維支援,免去中間的人為因素,提高運維效率。

批量操作

批量地執行運維指令,即需要針對多個目标(如ECS執行個體)進行正常操作,以確定業務的正常和平滑運作,并保持業務的健康狀态。

例如,批量檢查ECS執行個體中的硬碟剩餘空間。首先選擇需要檢查的執行個體清單。(多種選擇方式,如名字比對、标簽分組、資源組分組等),然後通過雲助手指令執行硬碟檢查,最終統一檢視結果。

公共模闆

名稱 用途
ACS-ECS-StartInstancesByInstanceIds 根據執行個體ID清單開機
ACS-ECS-StartInstancesByTag 根據執行個體Tag開機
ACS-ECS-StopInstancesByInstanceIds 根據執行個體ID清單停機
ACS-ECS-StopInstancesByTag 根據執行個體Tag停機
ACS-ECS-RebootInstancesByInstanceIds 根據執行個體ID清單重新開機
ACS-ECS-RebootInstancesByTag 根據執行個體Tag重新開機

更新鏡像

為了保證ECS執行個體的運作環境始終是安全的,包括安裝最新更新檔,或者更新所依賴的元件等,您可以使用OOS更新鏡像,從一個源鏡像開始逐漸更新,最終生成一個新鏡像,然後用于測試和生産。

需要審批的運維場景

在很多場景下都需要使用審批來確定操作是安全并符合預期的。通過在模闆中增加審批動作(ACS::Approve)可以在運維動作實際執行前進行人工審批,以確定運維動作執行的必要性,避免浪費和誤操作。

ACS-ECS-BuyCostlyInstancesWithApproval 購買執行個體時需要先審批
ACS-ECS-DeleteInstancesWithApprovalByInstanceIds 删除執行個體時需要先審批

定時任務

定時執行所定義的運維動作。例如,在某測試場景中,需要清除某賬号下因為測試所産生的對象存儲OSS檔案,則可以建立一個模闆,每天淩晨運作,以確定測試環境是一個全新的環境,避免幹擾下一次的測試結果。

ACS-ECS-ScheduleToStartInstancesByTag 根據執行個體ID清單定時開機
ACS-ECS-ScheduleToStopInstancesByTag 根據執行個體ID清單定時停機

跨地域的運維場景

多地域部署已經成為了高可用(HA)架構的通用架構。随之而來的跨地域運維卻變得越來越複雜,使用OOS可以幫助您解決跨地域的運維難題。您可以将不同地域的運維操作定義在一個模闆内,即可實作跨地域的運維場景。

多地域的運維場景

當您在使用多個地域資源時,經常需要對它們進行同步操作,以便保持它們的一緻性。例如,将對象存儲(OSS)的多個地域的存儲空間(Bucket)進行相同的操作——開啟日志功能。

運維編排(OOS)和資源編排(ROS)

相同之處

阿裡雲重磅釋出雲上自動化利器——運維編排OOS常見的運維問題運維演進的三個方向阿裡雲運維編排服務運維編排(OOS)和資源編排(ROS)歡迎使用OOS系列文章
  • OOS和ROS都是通過配置YAML或JSON檔案的方式來定義模闆的——即編排。編排的内容是資源,即ROS,編排的内容是運維動作,即OOS。
  • OOS和ROS的配置文法是相似的。
  • OOS和ROS都免費的,全托管的雲産品,即本身不花錢,但通過OOS和ROS建立的資源是會按照各自的要求收費的。
  • OOS和ROS都是阿裡雲官方的雲産品,提供了統一身份認證,安全審計等功能。對比第三方類似産品而言,阿裡雲提供的雲産品将給您提供更加內建,更加一緻的産品。

不同之處

ROS專注計劃&部署場景,面向雲資源的終态,在部署前需要定義好基礎設施的形态,然後通過ROS聲明出來,ROS負責幫你建立或更新基礎設施資源(即雲資源),并達到預期的終态。例如,部署一個網站通常需要部署10台ECS執行個體,1個SLB和1個RDS。那麼需要在ROS聲明,10台ECS執行個體,1個SLB和1個RDS。然後再通過建立ROS Stack的方式來實際建立這些資源,并最終建立完成,最終會有10台ECS執行個體,1個SLB和1個RDS。

OOS專注動作&運維場景,面向運維過程,完成一次任務,隻強調本次任務完成的結果。假設有這樣的運維場景,有一個已經運作的網站,因為流量增加而需要增加2台ECS執行個體,于是我們可以建立一個“新增執行個體的操作手冊”(OOS模闆的形态),這個操作手冊隻關注于此次任務,建立執行個體,并且挂在SLB下面。OOS不關心最終這個SLB下面有多少台ECS執行個體,隻關心此次增加2台執行個體的運維任務完成。

阿裡雲重磅釋出雲上自動化利器——運維編排OOS常見的運維問題運維演進的三個方向阿裡雲運維編排服務運維編排(OOS)和資源編排(ROS)歡迎使用OOS系列文章

OOS和ROS在DevOps中的位置

阿裡雲重磅釋出雲上自動化利器——運維編排OOS常見的運維問題運維演進的三個方向阿裡雲運維編排服務運維編排(OOS)和資源編排(ROS)歡迎使用OOS系列文章

到了該介紹文章開頭的圖檔了,在DevOps的體系中,包括從計劃,編碼,建構,持續測試,釋出,部署,運維和監控的全過程。其中的部署部分又可以分為:環境部署(即基礎設施)和應用部署兩部分。ROS專注其中的環境部署,常見的環境部署包括這些ECS,VPC,SLB,RDS等。而OOS專注其中的運維,運維不同于部署,部署有相對清晰的概念和範圍,而運維的概念相對模糊,範圍也更大。運維也包括了非DevOps中的運維,甚至包括了日常的IT運維。OOS支援的運維以雲上雲産品和其資源為主,同時包括了ECS執行個體及其内部GuestOS。通過雲助手的OpenAPI進行GuestOS的内部運維,如檢視磁盤,安裝解除安裝agent,修改配置檔案等。

歡迎使用OOS

OOS管理控制台的連結

如果您遇到連結打不開的問題,請複制此連結到您的浏覽器導航欄然後打開:

https://home.console.aliyun.com/redirect.htm?productId=ecs&path=automation/region/ OOS幫助文檔的連結

OOS客戶支援釘釘群:23330931

系列文章

最佳實踐

玩轉運維編排服務的權限:Assume Role+Pass Role

場景系列

運維編排場景系列----更新ECS鏡像 運維編排場景系列-----給ECS執行個體自動打TAG 運維編排場景系列----從執行個體中拷貝檔案到OSS 運維編排場景系列----給執行個體加到SLS機器組 運維編排場景系列----檢測MFA功能狀态 阿裡雲運維編排新功能:一鍵批量克隆ECS

繼續閱讀