歡迎光臨
每天分享高質量文章

從0到1構建支撐企業自動化運維體系

關註我們獲得更多內容

精彩預告:第八屆資料技術嘉年華大會將於2018年11月16日~17日北京市朝陽區東三環中路61號富力萬麗酒店盛大開啟。本次大會邀請互聯網領先企業的資料庫專家,國產資料庫的領軍人物,雲技術等領域的知名人士,圍繞資料、智慧、鏈接組織前沿議題,倡導以智慧智慧演算法應用,發掘資料價值,以技術將企業鏈接到未來的戰略制高點


社區專屬福利(99.9%的人不知道)一分錢全場通票等你搶


內容來源:2018 年 03 月 31 日,騰訊藍鯨運營負責人楊文兵在“騰訊藍鯨自動化運維沙龍(北京站)”行進行的《從0到1構建支撐企業自動化運維體系》演講分享。IT 大咖說(微信id:itdakashuo)作為獨家視頻合作方,經主辦方和講者審閱授權發佈。

閱讀字數:3434 | 9分鐘閱讀


摘要

身處雲計算時代的海量運維,傳統運維已經過時,企業需要有一套屬於自己的自動化運維解決方案,藍鯨在騰訊互娛內部沉澱了五年多的自動化運維體系建設經驗,將從傳統企業的運維痛點入手,結合 aPaaS 和 iPaaS 兩個維度以及藍鯨 PaaS 在騰訊運維中的最佳實踐,給大家分享企業構建屬於自己自動化運維體系的基本思路。


獲取嘉賓演講視頻及PPT,掃一掃下方二維碼即可。



  傳統運維之痛


企業運維物件改變



早期企業中的運維基本上由人工手動來維護,後來相繼出現了x86架構和虛擬機,虛擬化技術逐漸成熟後容器技術又開始興起。到了現在運維正慢慢向更上層挺近,運維人員不僅要有基礎的運維能力,還需要對應用邏輯本身有非常深入的學習和瞭解,比如程式架構、模塊功能、行程、端口這些都需要涉足,甚至資料庫和欄位含義也要知道。總的來看雲時代下對運維的要求會越來越高。


運維工具進階之路



騰訊最初的運維團隊誕生的時候,要管理的服務器並不多,大概僅有一二十臺,當時運維操作都是在Termainal上進行,因此自動化程度較低,容易出現人為失誤。後來隨著業務量和服務器的增長,我們開始應用批處理腳本,不過眾所周知腳本的管理難度很高,操作也較為複雜,最關鍵的是併發數低,因此後面又轉移到了開源工具上。


當規模達到20萬以上的時候,開源工具也很難滿足需求了,必須要去做一些工具方面的建設。


目前行業中的自動化運維方案有兩種,一種是直接購買,另一種是自建。購買方面Bmc、惠普、IBM、CA是主要的軟體提供商,這4家幾乎壟斷了中國自動化IT運維繫統90%的市場,他們的產品有兩個特點,第一是“貴”,動輒就需要上千萬;第二是基於此的流程自動化不方便,容易出現斷點。



上圖列出的就是傳統軟體交付後容易遇到的各種問題,簡單來說就是被綁架了。對此的解決方案同樣有2個,一是重新選擇開發商,二是自主研發設計。這兩種方案其實代價都非常高,比如造成原有IT資源的浪費、技術儲備不足、建設周期長等。


目前最優的方案是PaaS,它的優勢在於能做到免運維、全托管和服務集成。


上圖左邊是傳統的業務架構管控,下方的黃色區域主要提供一些IaaS,基於此之上有兩套管控體系,一套是常見的管控平臺,另一套為容器管控平臺,最上層就是一些業務在跑。不過這種架構的問題在於一旦管控體系掛了,下層的IaaS就會失控。


右邊是藍鯨的PaaS,它下方集成了眾多的原子平臺同時還能無縫銜接傳統架構中已經建設好的管控體系和平臺,往上層是iPaas和aPaas,這些能力被集成上去之後就能讓運維或開發得以快速構建面嚮應用場景的SaaS。


 如何構建PaaS


PaaS根據定義來看可以分為2部分,一部分是aPaaS,擁有部署和運行托管能力;另一部分是iPaaS,負責服務的集成。


構建流程



PaaS的構建流程總結起來有5個步驟,首先要部署支撐所有自動化系統的運行環境;第二步是集成原子平臺,實現企業內部不同平臺之間的集成和交互;第三步是構建企業服務總線,實現各個不同平臺團隊提供的系統或平臺的統一協議轉換。


所有能力集成起來之後,需要有一個調度引擎,將必要的原子能力連接起立,以服務的形式提供出來。


最後是將所有的工具或者說SaaS呈現出來,提供快速開發平臺,實現諸如快速構建自動化運維繫統的能力。


App Engine可以托管所有的SaaS工具,它對外發佈的社區版是基於虛擬機的,每部署完成一個工具就會生成一個虛擬機,不過這樣也導致資源無法隔離,從而引發一些不必要的問題,所以企業版中我們採用了容器的方案,以實現資源隔離。



運維經常使用的通用能力系統被稱為平臺,一般這些平臺在某個特定能力方面會更加深入,比如專門連接IaaS的管控平臺、用來執行腳本和分發檔案的通用作業平臺。


除開基礎通用平臺外,一些周邊團隊可能也建設了很多系統,對於這些我們可以將它對接起來,構建更強大的PaaS能力。



企業服務總線是為了對接下方各種原子平臺,比如服務註冊、權限控制異常處理、安全監控等。當然最重要的還是協議轉換,將下方不同語言不同協議的原子平臺的能力適配成統一協議。


集合起來的各原子平臺能力將通過調度引擎進行編排,比如發佈和擴容,除開會涉及到運維操作外,還有非常多的周邊系統需要去做。


有了調度引擎之後就能夠提供模板,讓運維在模板中通過引擎編排場景中的操作。


對於游戲開區相信大家都不陌生,這背後涉及到了非常多的系統,包括和公司的流程相關聯。在沒有調度編排的情況下,一般一次開區需要耗費4到5個小時。


有了編排後就能實現一鍵自動開區,同時還能在這之前添加資料決策,通過大資料平臺採集相關資料,當檢測到資料達到某一標準後進行無人自動開區。



最後就是構建快速開發平臺。有過開發經驗的朋友應該都瞭解,傳統的開發樣式流程相對繁瑣,在應用開發之外,還要做環境構建、日誌追溯、監控告警、代碼部署。


而在基於PaaS的開發樣式下開發者就只需要做開發之前的需求梳理和正式的核心代碼開發。


應用開發主要分為前端和後端,發佈工具的前端開發讓運維人員去做顯然不合適,因此我們提供了一個前端的樣例庫,能夠輕鬆的拖拽生成頁面。後端則是基於python的堅果框架,就語言來說對運維人員比較友好,並且還封裝了大量的公共組件。


上圖是前面提到的前端方面的工具,叫做前端魔盒,可以看到這裡提供了非常多的可視化佈局的組件。這樣就能讓運維專註於SaaS流程拼裝,大大降低了構建成本。



以上就是藍鯨自動化運維繫統的全貌,最下層是IaaS管控平臺;第二層集成了大量的原子平臺,包括自己構建的和對接第三方的;第三層為集成平臺,也就是前面提到的快速開發的部分;最上層是根據不同應用場景衍生的各種SaaS。


 藍鯨PaaS在騰訊運維中的實踐



圖中是騰訊內部通過藍鯨構建的一些平臺和實踐,涵蓋運維、開發、自助工具等多個部分。


我們內部還有一個專門的藍鯨桌面平臺,其內有超過500多的SaaS,當需要用到某個工具的時候可以直接在這上面添加。


最初的SaaS大多用於針對自身的業務痛點,後來隨著不斷的擴展逐漸形成了一個系列,比如與王者榮耀相關的發佈、擴容等各種功能。


但是運維的能力畢竟有限,既然大家都在做發佈和擴容,那麼顯然也能做成通用的形式。


這些SaaS可以給各種崗位提供服務,比如產品的運營資料展示、開發方面的CI/CD,測試工具等。


案例



故障自愈屬於基礎運維部分,針對運維的一些告警首先會對接該系統中。因為具體的業務問題只有相關負責人員才瞭解,因此我們也為運維人員提供了根據不同的業務流程編排套餐的能力。



上圖是CI/CD中的CD部分,傳統的非容器類發佈樣式都是通過它來做,從最開始提交發佈單到最後完成發佈結單都會在這上面通過模板編輯好。


另外需要註意的是我們內部所有正式對外業務的發佈不是運維人員在做,而是由專門的外包團隊負責。因為很多游戲都是在凌晨發佈,我不希望因此耗費正式運維的精力。


上圖是用戶體驗類的工具,它會針對業務中用戶的每個環節進行資料分析,通過大資料、資料視圖展示信息,並關聯自動化機械執行的流程形成閉環。


藍鯨智雲,開放永不止步



目前藍鯨已對外開發社區版,並會逐步將現有平臺打包到這個版本中,包括底層管控,配置平臺、作業平臺、集成平臺現已在社區版中。


同時我們還將內部的一些通用SaaS和腳本放入到了應用市場中,以供用戶直接下載使用,類似於google商店的應用場景。



社區版2.0中內置了配置平臺和作業平臺,並且配備集成平臺以支持社區用戶的定製開,還提供API和開發樣例。


社區版3.0開始對外開放一些SaaS,比如監控、治愈,以及和合作伙伴聯合開發的平臺功能。社區版4.0的改進主要在CMDB和網路管理這塊。


轉載自:IT大咖說。

投稿:有投稿意向技術人請在公眾號對話框留言。

轉載:意向文章下方留言。

更多精彩請關註 “資料和雲” 公眾號 。



資源下載

關註公眾號:資料和雲(OraNews)回覆關鍵字獲取

2018DTCC , 資料庫大會PPT

2017DTC,2017 DTC 大會 PPT

DBALIFE ,“DBA 的一天”海報

DBA04 ,DBA 手記4 電子書

122ARCH ,Oracle 12.2體系結構圖

2017OOW ,Oracle OpenWorld 資料

PRELECTION ,大講堂講師課程資料

近期文章

刪了庫之後,不要著急跑路

一道面試題看資料庫性能和安全的方方面面

Percona發佈XtraBackup for MySQL 8.0

獨立發佈的Oracle嚴重CVE-2018-3110公告

Oracle宣佈雲上正式上線自治事務處理資料庫

為什麼看了那麼多災難,還是過不好備份這一關

赞(0)

分享創造快樂