1. 程式人生 > >使用雲效在阿裏雲上進行一站式開發運維

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

理念 體驗 端到端 end 動態 路徑 雲監控 思路 https

導讀

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

技術分享圖片

為什麽需要雲效來集成各個雲產品?

重復的概念

目前阿裏雲提供了大量的優秀的雲產品,比如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等基礎設施的基礎上編排場景。幫助您屏蔽這些細節。

閱讀原文

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