網易蜂巢:如何利用容器云實現(xiàn)DevOps
DevOps這個將Development(開發(fā))和Operations(運維)組合的名詞,相信對很多開發(fā)者來講并不陌生,可直到今天很多企業(yè)并沒有很好的實現(xiàn)DevOps,開發(fā)和運維之間的悖論也一直存在。
自2013年開始,以Docker為代表的容器技術在全世界范圍內迅速發(fā)展,容器云也逐漸被廣大開發(fā)者所熟知。其中以網易蜂巢為代表的容器云服務商開始提供完善的DevOps工具鏈支持自助運維,最大程度的幫助開發(fā)者提升研發(fā)效率。那么網易蜂巢是如何平衡開發(fā)、運維以及質量保障部門之間的溝通協(xié)作的呢?
DevOps離現(xiàn)實還有多遠?
一般來說,談到DevOps首先想到的就是開發(fā)效率的提高和成本的節(jié)約,至少Puppet實驗室給出的數(shù)據是:高性能的DevOps組織部署代碼經常要比傳統(tǒng)組織快30倍??涩F(xiàn)實來看,開發(fā)團隊的要求是不斷滿足新的客戶需求,并快速實現(xiàn)新的功能。而運維最關心的是“穩(wěn)定壓倒一切”,任何差錯都有可能對生產環(huán)境中的用戶造成直接影響。如果不能很好的解決開發(fā)和運維之間的問題,無疑將嚴重影響產品研發(fā)的效率。
在DevOps概念出現(xiàn)之前,運維的角色在持續(xù)發(fā)生改變。從最初負責機房、服務器選型等與業(yè)務無關的業(yè)務,到IDC、SA、DBA、OP等專業(yè)技能的分工,再到平臺化和團隊化的運維工作,同時運維所提供的基礎設施幾乎 100% 覆蓋到開發(fā)的需求,DevOps已經顯得十分重要。而隨著云服務的出現(xiàn),不少企業(yè)開始采用公有云提供的全套基礎設施,運維的形態(tài)似乎變得簡單起來,由此導致的結果是運維工作變成一個不系統(tǒng)、散亂的狀態(tài),讓運維的三個重要結果:快速上線、穩(wěn)定運行、高效資源利用,開始變得不可控。原因在于,相對原始的IaaS服務并沒有完善的監(jiān)控和日志服務,看似解決了運維的問題,也為開發(fā)工作帶來了這樣或那樣的問題。在這個背景下,以CaaS著稱的容器云應運而生。
當然,DevOps的普及還面臨文化上的沖擊。早在2013年的時候,InformationWeek就針對DevOps進行了相關調查,結果顯示有75%的受訪查者知道DevOps,但只有21%已經使用它。這與開發(fā)和運維之間的文化隔閡不無關系。也就是說,運維團隊必須清除的認識到,如果不能快速把開發(fā)成果推倒生產環(huán)境,企業(yè)就很可能被其他競爭對手超越。而開發(fā)團隊需要改變的思維是,在開發(fā)代碼或者更改設置時,還需要考慮對整個系統(tǒng)穩(wěn)定性和性能的影響。云計算的到來讓問題變得不再那么糟糕,開發(fā)、運維以及質量保障之間的界限開始變得模糊,可在解放企業(yè)生產力的同時,以網易蜂巢為代表的容器云服務商們又該如何從云的角度幫助企業(yè)實現(xiàn)DevOps呢?
網易蜂巢集成自助運維工具,打造云時代的DevOps
先來介紹一下網易蜂巢。作為網易云戰(zhàn)略的核心產品之一,網易蜂巢是網易杭州研究院基于 Docker技術和Kubernetes研發(fā)的容器云服務,具有高可用的數(shù)據庫和在線存儲服務。不同于其他容器云產品,除了自建五星級IDC機房、多線BGP接入、全SSD硬盤等基礎資源上的優(yōu)勢,網易蜂巢擁有經驗豐富的技術和運維團隊,服務了95%的網易系互聯(lián)網應用。
DocKer的出現(xiàn)解決了開發(fā)和測試環(huán)境一致性的問題,Kubernetes實現(xiàn)了容器實例的集群管理,
憑借提升可擴展性、提高資源利用率、增強彈性等方面的優(yōu)勢,容器云已然成為DevOps的代名詞。而在國內互聯(lián)網企業(yè)中,唯有網易杭州研究院是兼具產品、運營、公共技術平臺三重職能,并且擁有產品全面云化的經驗。在這一優(yōu)勢下,網易蜂巢根據多年的運維經驗集成的兩大運維工具,幫助企業(yè)用戶打造出了容器云時代的DevOps。
首先是完善的性能監(jiān)控。所謂的性能監(jiān)控,意在幫助用戶監(jiān)控集群運行狀態(tài),發(fā)現(xiàn)異常問題,還可以進行數(shù)據下鉆,快速定位到問題具體發(fā)生的位置。不僅擁有數(shù)據自動化收集、數(shù)據可視化展示等優(yōu)勢,還人性化的加入了自動保存現(xiàn)場數(shù)據。除此之外,網易蜂巢的性能監(jiān)控還具有以下六大功能,包括集群的整體監(jiān)測、健康狀態(tài)監(jiān)測、錯誤監(jiān)測、慢響應監(jiān)測、明細記錄和快照、告警通知等。比如說,服務上線后可以通過設定一個告警通知,全天候監(jiān)測服務的運轉情況,而不再需要人工監(jiān)控。一旦運行出現(xiàn)錯誤后,會及時通知用戶以快速解決問題。此外,還將提供服務性能總覽、錯誤視圖、錯誤詳情拓撲圖等幫助開發(fā)者分析錯誤的詳情和具體原因。而在未來,網易蜂巢還將進行更大程度的數(shù)據下鉆,提供更加智能、可靠的性能監(jiān)控服務。
其次,智能化的日志服務。網易蜂巢集成的日志服務用于分布式的收集平臺用戶的“集群”和“容器”日志信息,進行集中管理,并按需智能化解析用戶日志,拆解日志的結構并發(fā)現(xiàn)日志特性。在云服務中,日志服務并不罕見,網易蜂巢的優(yōu)勢在于可以集中管理日志,并提供了WEB查詢頁面,這樣用戶無需繁瑣登錄或定位日志文件,可以隨時查看所創(chuàng)建的多個集群和容器的日志。另外還提供了強大的自由搜索、過濾功能,以及實時輸出、跟蹤的功能。比如說日志服務的延遲小于3S,實現(xiàn)了用戶日志的實時輸出和跟蹤。既幫助蜂巢用戶簡單、方便使用日志數(shù)據,發(fā)掘日志的價值,也在很大程度上優(yōu)化了容器云的DevOps。
總的來說,DevOps將為企業(yè)和開發(fā)者帶來三大優(yōu)勢:產品快速推向市場,比如縮短開發(fā)周期時間和更高的部署頻率;提高質量,比如提高可用性,提高變更成功率,減少故障等等;提高組織的有效性,比如將時間花在價值增加活動中,減少浪費,同時交付更多的價值至客戶手中。不管怎樣,DevOps已是大勢所趨,而網易蜂巢等容器云已是最佳選擇。