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