使用雲效在阿里雲上進行一站式開發運維

weixin_33830216發表於2018-04-12
摘要: 雲效,一站式企業協同研發雲,提供從“需求->開發->測試->釋出->運維->運營”端到端的協同服務和研發工具支撐。雲效將計劃與其他雲產品合作,進一步優化一站式體驗。

導讀

作為一站式企業協同研發雲,雲效提供從“需求->開發->測試->釋出->運維->運營”端到端的協同服務和研發工具支撐。同時雲效與其它常用的雲產品緊密整合,提供以應用為核心的一站式研發體驗。先上一張大圖:

為什麼需要雲效來整合各個雲產品?

重複的概念

目前阿里雲提供了大量的優秀的雲產品,比如ECS,SLB,雲監控,日誌服務,幫助使用者進行線上服務的部署,運維,監控,告警。

但實際用起來之後,你會發現一個很明顯的問題。那就是有些概念,比如機器分組,會在多個產品中重複實現。假設我現在有一個線上的Web應用,包含了5臺機器。那麼我需要在日誌服務中將這5臺機器配置到一個分組,然後再在雲監控中把同樣的5臺機器分到雲監控的分組,再把這5臺機器掛在某個SLB下。不過這個事情其實也容易理解,因為缺乏了一個基礎的公共概念,那就是應用。

而云效作為一個研發協同平臺,天生就是以應用為核心的。應用下面有不同的環境,每個環境對應一個機器組,使用這個機器組的概念,就可以將各個雲產品的機器組的概念統一起來。通過Open API的方式,雲效可以在建立應用的同時,就把上述的這些相關服務配置好。同時應用也會成為一個訪問其他各個雲產品的快捷入口。

不一致的配置

讓我們再進入到單獨的一個雲產品來看看。比如日誌服務。日誌服務需要配置日誌收集的路徑。一般來講使用者會對每個應用單獨的、重複的進行配置。有些應用的配置可能是相同的,有些可能是不同的。設想一下,如果所有應用的日誌路徑配置都是相同的,或者說起碼是有規律的(比如阿里巴巴內部的大多數應用的日誌都會放在/home/admin/<應用名>/logs這個目錄下),那麼雲效就可以在您建立應用時候,就自動將收集路徑配置好。那麼如何才能做到應用的日誌路徑是一致的呢,雲效的方案很簡單,那就是使用程式碼模板。通過雲效的一站式解決方案嚮導建立的出來的程式碼庫中就包含了標準的日誌配置(比如logback.xml)。

機器上除了應用的日誌之外,您可能還需要關心Web Server(Nginx/Apache)及應用容器(Tomcat)的日誌。這些日誌的位置就不是程式碼模板可以解決的了。雲效提供的解決方案是ECS模板。您可以自定義ECS模板,也可以使用雲效預設提供的模板。有了模板,那麼Web Server和應用容器的日誌的位置也就確定下來了,雲效也可以自動的幫您建立出來。

來源於阿里內部的解決方案

上面提到的這些問題,僅僅是一部分。而上面提到的解決方案也恰恰是阿里內部的思路。雲效的阿里內部版本服務了整個集團幾萬人的的研發人員。把應用的整個生命週期與各個相關的服務(日誌,監控,VIP等)有機的串接起來,最大限度的減少重複性的工作。一個阿里的同學建立一個新的應用,基本上都感覺不到這些服務的存在,只有當機器真的出現問題時候,你才會收到告警。這種體驗,說真的,真是棒極了。

我們也非常期待使用這套理念來服務更多的雲上使用者。

基於雲產品進行更多的場景化

上面主要是講解如何以應用為核心來串接各個雲產品。在此基礎上我們就能做更多的場景化的事情,比如藍綠髮布和動態伸縮。下面用藍綠髮布這個場景舉個例子。

藍綠髮布

藍綠髮布是業界常用的實踐。基於阿里雲的SLB我們也可以手動的實現藍綠髮布,無非也就是:
  1. 建立並部署新的機器
  2. 將SLB的流量手動切換到新部署的機器
  3. 如果出現問題,則手動再切換回到舊的那一批機器
  4. 如果沒問題,則銷燬舊的那一批機器

當然每次手動做這件事情,也是非常痛苦的。所以雲效能做的事情,就是在SLB等基礎設施的基礎上編排場景。幫助您遮蔽這些細節。

閱讀更多幹貨好文,請關注掃描以下二維碼:

相關文章