
常見的部署問題
- 多環境部署。根據實際開發的需要,一般至少需要準備3個環境:日常測試環境,部署預發環境,部署生産環境。
- 多地域部署。對于雲産品還需要支援多地域部署,部署北京地域,部署上海地域,部署杭州地域,……,部署美國,部署歐洲。截止到今天(2019-06-17),阿裡公共雲一共有19個地域,如果您的雲産品需要AZ粒度的,那将是56個AZ。而這些數字還在快速增長。
- 不同環境之前經常出現偏差。某個環境的http端口是80,另一個環境卻變成了8080。因為環境偏差出現的問題最難排查,因為你日常的開發測試環境和出現問題的環境不同,甚至你都無法在日常環境重制問題,最後不得不冒着巨大的風險直接在生産環境裡面排查。
- 想用藍綠部署(Blue/Green Deployment)卻無從下手。藍綠部署是業界一個常見的部署方式,有諸多優點。然而想使用藍綠部署卻缺乏有效的部署手段。
或者您還有更多的部署問題,這些問題的存在嚴重地影響了業務的開發和演進,提高了運維成本,打擊了開發人員的積極性。阿裡雲的資源編排服務(ROS)就是為了解決這些問題而推出的。
什麼是資源編排服務?
阿裡雲資源編排服務(Resource Orchestration Service,簡稱 ROS)是一款幫助阿裡雲使用者簡化雲資源建立,更新和删除的自動化服務。您隻需要建立一個描述阿裡雲資源(如 ECS 執行個體、 RDS 資料庫執行個體等)的模闆,然後ROS将自動地為您建立并配置這些資源。實作基礎設施即代碼(Infrastructure as Code)的理念。資源編排模闆也是一種标準化的資源和環境傳遞方式。
資源編排服務是通過資源棧 (Stack) 這種邏輯集合來統一管理一組雲資源(一個資源棧即為一組阿裡雲資源),是以,對于雲資源的建立、删除、克隆等操作,都可以以資源棧為機關來完成。在 DevOps 實踐中,可以輕松地克隆開發、測試、線上環境。同時,也可以更容易實作應用的整體遷移和擴容。
産品優勢
基礎設施即代碼(Infrastructure as Code)
ROS是阿裡雲官方提供的基礎設施即代碼(Infrastructure as Code,簡稱IaC)的雲産品,使用ROS可以幫助您最快速地實踐DevOps中關于IaC的理念。
全自動托管服務
ROS産品為全托管服務,您無需購買維護IaC模闆本身執行所使用的資源,您隻需要關注您的業務所需要使用的資源,即模闆中定義的資源。尤其您需要建立多個項目(對應多個堆棧)時,全托管的自動化可以幫助您更快地完成任務。建議您使用Git或SVN等源代碼版本管理軟體同步管理模闆,再通過ROS OpenAPI進行堆棧的維護。
可重複部署
無論您是需要部署的環境是開發,測試和生産環境,您都可以使用同一套模闆進行建立。指定不同的參數可以滿足環境的差異化,如測試環境的ECS執行個體數是2台,而生産環境的ECS執行個體數是20台。亦或是您需要進行多地域的部署,使用同一套模闆可以進行重複的部署,進而提高部署多地域的效率。
标準化部署
在實踐中,不同環境的細微差異往往帶來非常複雜的管理成本,延長了問題診斷的時間,進而影響了業務的正常運轉。通過使用ROS重複部署,可以将部署環境标準化,減少不同環境的差異,将環境的配置沉澱到模闆中。再通過類似代碼的嚴格管理流程,進而保證部署的标準性。
統一的身份認證、安全和審計
和其他的同類産品對比,阿裡雲官方出品的ROS和其他阿裡雲産品有着最好的內建。內建資源通路管理(RAM)提供了統一的身份認證,而無需為單獨建立使用者認證體系。所有的雲産品操作都通過OpenAPI調用,意味着您可以使用操作審計服務(ActionTrail)來審查所有的運維操作,包括ROS本身。
産品FAQ
1,ROS是什麼?
阿裡雲資源編排服務(Resource Orchestration Service,簡稱 ROS)是一款幫助阿裡雲使用者簡化雲計算資源管理和自動化更新的服務。您隻需要建立一個描述阿裡雲資源(如 ECS 執行個體、 RDS 資料庫執行個體等)的模闆,然後ROS将根據模闆,自動建立和配置這些資源。實作基礎設施即代碼(Infrastructure as Code)的理念。資源編排模闆也是一種标準化的資源和應用傳遞方式。
2,如何編寫ROS的模闆?
整個模闆都是JSON/YAML格式,描述各類資源及它們之間的依賴關系。
模闆主要分成Parameters、Resources、Outputs這三個部分。
Parameters增強了模闆的靈活性,讓您根據需要不同的需要傳入不同的參數,實作了可複用的模闆
Outputs定義了執行模闆後需要傳回的值,例如建立了ECS執行個體,則可以輸出ECS執行個體ID,或ECS執行個體的公網IP。
3,ROS提供控制台了嗎?
阿裡雲提供了ROS控制台。
ROS控制台提供了一種易用、直覺的方式執行ROS模闆。您隻需要加載模闆,再輸入參數,即可按需建立相應資源。
執行過程中您可以看到各個資源的建立過程。
執行過程中如果出錯,ROS控制台能夠直覺地展示錯誤事件,友善定位。
4,ROS有OpenAPI和SDK嗎?
當然有,ROS的API請參考:
https://help.aliyun.com/document_detail/131032.htmlROS的SDK資訊請參考:
https://help.aliyun.com/document_detail/28928.html5,ALIYUN CLI支援ROS嗎?
當然支援,請先安裝ALIYUN CLI
https://help.aliyun.com/product/29991.html,然後運作aliyun ros help指令獲得使用幫助。
6,ROS是否提供了示例模闆?
ROS提供了場景示例模闆,參見控制台
https://rosnext.console.aliyun.com/左側菜單“模闆”>“我的模闆”。
7,使用ROS過程中有問題如何獲得幫助?
推薦您首先閱讀文檔,或在阿裡雲開發者社群,雲栖搜尋“資源編排”或“ROS”。
或加釘釘群聯系我們:11783495
8,我需要某個雲産品下的某個資源,但是ROS還不支援怎麼辦?
請第一時間聯系我們,釘釘群聯系我們:11783495,我們将盡快滿足您的要求。
9,ROS都支援哪些雲産品?
常見的雲産品如ECS,RDS,OSS,SLB,FC等都支援,請參考
https://help.aliyun.com/document_detail/61459.html,左側“資源類型”下面。如果您需要某雲産品的某資源不在其中,請第一時間聯系我們,釘釘群聯系我們:11783495,我們将盡快滿足您的要求。