天天看點

雲上部署環境(基礎設施)的正确姿勢——使用資源編排ROS進行基礎設施的部署常見的部署問題什麼是資源編排服務?産品優勢産品FAQ

雲上部署環境(基礎設施)的正确姿勢——使用資源編排ROS進行基礎設施的部署常見的部署問題什麼是資源編排服務?産品優勢産品FAQ

常見的部署問題

  1. 多環境部署。根據實際開發的需要,一般至少需要準備3個環境:日常測試環境,部署預發環境,部署生産環境。
  2. 多地域部署。對于雲産品還需要支援多地域部署,部署北京地域,部署上海地域,部署杭州地域,……,部署美國,部署歐洲。截止到今天(2019-06-17),阿裡公共雲一共有19個地域,如果您的雲産品需要AZ粒度的,那将是56個AZ。而這些數字還在快速增長。
  3. 不同環境之前經常出現偏差。某個環境的http端口是80,另一個環境卻變成了8080。因為環境偏差出現的問題最難排查,因為你日常的開發測試環境和出現問題的環境不同,甚至你都無法在日常環境重制問題,最後不得不冒着巨大的風險直接在生産環境裡面排查。
  4. 想用藍綠部署(Blue/Green Deployment)卻無從下手。藍綠部署是業界一個常見的部署方式,有諸多優點。然而想使用藍綠部署卻缺乏有效的部署手段。

或者您還有更多的部署問題,這些問題的存在嚴重地影響了業務的開發和演進,提高了運維成本,打擊了開發人員的積極性。阿裡雲的資源編排服務(ROS)就是為了解決這些問題而推出的。

什麼是資源編排服務?

阿裡雲資源編排服務(Resource Orchestration Service,簡稱 ROS)是一款幫助阿裡雲使用者簡化雲資源建立,更新和删除的自動化服務。您隻需要建立一個描述阿裡雲資源(如 ECS 執行個體、 RDS 資料庫執行個體等)的模闆,然後ROS将自動地為您建立并配置這些資源。實作基礎設施即代碼(Infrastructure as Code)的理念。資源編排模闆也是一種标準化的資源和環境傳遞方式。

資源編排服務是通過資源棧 (Stack) 這種邏輯集合來統一管理一組雲資源(一個資源棧即為一組阿裡雲資源),是以,對于雲資源的建立、删除、克隆等操作,都可以以資源棧為機關來完成。在 DevOps 實踐中,可以輕松地克隆開發、測試、線上環境。同時,也可以更容易實作應用的整體遷移和擴容。

雲上部署環境(基礎設施)的正确姿勢——使用資源編排ROS進行基礎設施的部署常見的部署問題什麼是資源編排服務?産品優勢産品FAQ

産品優勢

基礎設施即代碼(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.html

ROS的SDK資訊請參考:

https://help.aliyun.com/document_detail/28928.html

5,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,我們将盡快滿足您的要求。