如果說虛擬機(jī)作為一項(xiàng)革命性技術(shù),在過去的十來年深刻地影響了IT界。那么如今以Docker為代表的容器技術(shù),憑借其輕量、快速等優(yōu)勢,推動著互聯(lián)網(wǎng)產(chǎn)業(yè)的革新與發(fā)展。而七牛云工程效率團(tuán)隊(duì)致力于打造高效穩(wěn)定的CI/CD生態(tài)系統(tǒng),并在完成了基于容器化CI/CD平臺的開發(fā)和落地過程中,不斷探索測試環(huán)境容器化的方向。在此基礎(chǔ)上,也觀察到了產(chǎn)品架構(gòu)、服務(wù)特性、服務(wù)間依賴的復(fù)雜度給平臺帶來的諸多挑戰(zhàn)。
7月6日,在ArchSummit2018深圳站|全球架構(gòu)師峰會上,七牛云工程效率部技術(shù)專家宮靜分享了主題為《基于容器和大數(shù)據(jù)平臺的持續(xù)交付平臺》的演講。本次演講的主要內(nèi)容是基于容器和大數(shù)據(jù)平臺去構(gòu)建的持續(xù)交付系統(tǒng),是七牛云工程效率部在持續(xù)交付、容器化方面去做的技術(shù)實(shí)踐。從以下兩個(gè)方向展開:一個(gè)是容器化方向,一個(gè)是持續(xù)交付的平臺。主要結(jié)合在七牛云的實(shí)踐來介紹持續(xù)集成、持續(xù)部署在容器化方向的探索和思考,以及未來的方向。
七牛云工程效率部技術(shù)專家宮靜
以場景為驅(qū)動,解決實(shí)際痛點(diǎn)
七牛云創(chuàng)立至今已有七年時(shí)間,作為國內(nèi)領(lǐng)先的以視覺智能和數(shù)據(jù)智能為核心的企業(yè)級云計(jì)算服務(wù)商,同時(shí)也是國內(nèi)最有特色的智能視頻云服務(wù)商,每年?duì)I收增速超300%,累計(jì)為 70 多萬家企業(yè)提供服務(wù),覆蓋了國內(nèi)80%網(wǎng)民。隨著市場的快速變化,七牛云的業(yè)務(wù)需求也需擁有快速迭代、快速發(fā)布的能力。因此,在多平臺交互、多代碼版本存在、多服務(wù)組件互相依賴的情況下,要保證高質(zhì)量的交付及產(chǎn)出效率,最關(guān)鍵的環(huán)節(jié)就是如何保證快速驗(yàn)證滿足客戶的場景,并且精準(zhǔn)的達(dá)到可上線的狀態(tài),亦或是證明你的功能能夠上線,這些都是在測試及生產(chǎn)環(huán)節(jié)需要著重考慮的問題。
在開發(fā)環(huán)境下多樣化的編譯、運(yùn)行環(huán)境使得復(fù)雜度導(dǎo)致調(diào)試自測難度增加,復(fù)雜的測試環(huán)境在有限的測試資源下如何提升驗(yàn)證效率、如何追蹤并分析代碼狀態(tài)、產(chǎn)品質(zhì)量,服務(wù)拆分后帶來的架構(gòu)復(fù)雜度、增加產(chǎn)品整體部署和運(yùn)維的難度等問題下,對于產(chǎn)品運(yùn)維人員來說,則需要考慮產(chǎn)品整體部署運(yùn)維的難度。根據(jù)以上場景痛點(diǎn),七牛云在解決這些問題時(shí)有著自己的方向以及思路。
據(jù)宮靜介紹“第一是要保證完善的工具鏈,不管是開發(fā)人員、測試人員以及運(yùn)維人員都需要工具鏈的支持;第二點(diǎn)是容器化方向,我們的資源能夠大幅提升它的有效利用率;第三點(diǎn)是可以做到環(huán)境的隔離,保證代碼在一致的環(huán)境下編譯運(yùn)行,可移植性是增強(qiáng)的;第四點(diǎn)是質(zhì)量效率上保證有持續(xù)演進(jìn)的CICD系統(tǒng),可以保證工程效率部做快速的迭代以及有效的驗(yàn)證;第五點(diǎn)是全流程去保證從研發(fā)到交付的內(nèi)容是符合我們效率上、質(zhì)量上的要求以及質(zhì)量效率體系的建立。”
基于此,七牛云持續(xù)交付系統(tǒng)SPOCK平臺應(yīng)運(yùn)而生。
SPOCK:基于容器與大數(shù)據(jù)平臺的CICD平臺
據(jù)宮靜介紹,SPOCK平臺的定位是基于容器和大數(shù)據(jù)平臺的持續(xù)交付系統(tǒng)。在容器化的實(shí)施方面,SPOCK平臺的優(yōu)勢主要包括以下六點(diǎn):
1、對容器化測試環(huán)境進(jìn)行一鍵式管理;
2、服務(wù)部署模塊化,可以自由編排,當(dāng)面對復(fù)雜產(chǎn)品結(jié)構(gòu)時(shí),自由編排則會保證創(chuàng)建產(chǎn)品環(huán)境的靈活性;
3、模塊化工作流,用戶可通過配置來按照需要對工作流路徑進(jìn)行擴(kuò)展;
4、持續(xù)集成持續(xù)發(fā)布,與研發(fā)流程中所涉及到的各個(gè)發(fā)布系統(tǒng)集成起來,實(shí)現(xiàn)代碼持續(xù)集成持續(xù)交付;
5、基于大數(shù)據(jù)平臺Pandora的日志分析服務(wù)
6、全流程的質(zhì)量效率追蹤
宮靜表示“研發(fā)團(tuán)隊(duì)的角色不同,都可以去使用SPOCK平臺進(jìn)行代碼的持續(xù)集成。開發(fā)人員可能使用流程是當(dāng)開發(fā)完成一部分功能的開發(fā),可以去手動地觸發(fā)的工作流,這個(gè)工作流是在SPOCK平臺中管理的,它可以做到基于容器化的統(tǒng)一構(gòu)建,SPOCK平臺可以把構(gòu)建鏡像自動部署到容器云環(huán)境中,提供給開發(fā)同學(xué)進(jìn)行調(diào)試和自測。”
SPOCK平臺擁有兩個(gè)特性,容器環(huán)境的管理以及容器環(huán)境之上做到持續(xù)交付的實(shí)現(xiàn)。SPOCK平臺中以產(chǎn)品抽象成產(chǎn)品模版進(jìn)行管理,基于模版去部署產(chǎn)品實(shí)例。這些部署和模版是通過K8SCTL模塊去實(shí)施,從而在容器集群中去生效,底層則是基于七牛容器云服務(wù)平臺KirkCluster。而Pandora服務(wù)是七牛大數(shù)據(jù)平臺,基于大數(shù)據(jù)平臺對整個(gè)持續(xù)交付流程和測試環(huán)境集群做數(shù)據(jù)的統(tǒng)一收集和分析,最終可以在Pandora大數(shù)據(jù)平臺上進(jìn)行數(shù)據(jù)分析。
SPOCK實(shí)施:基于大數(shù)據(jù)平臺Pandora的日志分析服務(wù)
對于將服務(wù)容器化,當(dāng)要面臨幾十個(gè)服務(wù)、上百個(gè)服務(wù)時(shí),要面對的不僅是服務(wù)量級上的變化,不同環(huán)境、不同場景它的配置以及運(yùn)行環(huán)境可能是不一樣的,而所需資源也不一樣。要怎么將這些差異在平臺中去有效地管理和維護(hù),這就是SPOCK在容器化方向做的一些探索。
而對于如多個(gè)產(chǎn)品需要部署在同一個(gè)基礎(chǔ)服務(wù)模塊上或者部署的服務(wù)間有相互依賴,應(yīng)對不同環(huán)境,七牛云是如何去實(shí)施的呢?宮靜表示“一個(gè)實(shí)際案例是要去部署一個(gè)帶數(shù)據(jù)庫服務(wù)的架構(gòu)時(shí),首先要去定義這個(gè)產(chǎn)品結(jié)構(gòu),將產(chǎn)品中的服務(wù)做一個(gè)抽象、隔離、拆分。抽象出前端的服務(wù)、后端服務(wù)、數(shù)據(jù)庫服務(wù),把這些前端服務(wù)、后端服務(wù)、數(shù)據(jù)庫服務(wù)都模塊化,作為服務(wù)模塊去管理。編排的時(shí)候把服務(wù)按照邏輯編排到服務(wù)組,服務(wù)組內(nèi)部都是平行的,同一服務(wù)組沒有先后的啟動順序。但是當(dāng)我要整體的去部署這個(gè)產(chǎn)品的時(shí)候,我可能先去部署數(shù)據(jù)庫服務(wù)組,然后再去部署我的后端服務(wù)組,最后再去部署前端服務(wù)組,當(dāng)所有服務(wù)組都部署完成之后,整個(gè)產(chǎn)品就可以對外提供一個(gè)可訪問域名,然后作為一個(gè)整體去運(yùn)行起來。”
在實(shí)踐中,一些服務(wù)判斷現(xiàn)有方案下不適合做容器化,怎樣去提供可以一鍵部署的測試環(huán)境?SPOCK的解決方案把物理級部署和容器部署做一個(gè)打通,在SPOCK去進(jìn)行一鍵部署時(shí),物理機(jī)部署和容器服務(wù)部署同時(shí)支持,服務(wù)之間可能有物理級部署和服務(wù)部署兩部分,然后它們之間可以互相依賴。SPOCK平臺需要把已有的物理級部署方式在平臺上實(shí)現(xiàn)、對接。然后需要去梳理服務(wù)依賴關(guān)系,通過統(tǒng)一的配置管理和統(tǒng)一的規(guī)劃來進(jìn)行部署實(shí)施。
宮靜表示“我們實(shí)施中遇到的日志方面的實(shí)際問題,如當(dāng)容器服務(wù)重啟伸縮時(shí),它的日志到底是如何管理收集,我們現(xiàn)在的實(shí)施是基于大數(shù)據(jù)平臺—Pandora做一個(gè)統(tǒng)一的日志收集和分析的服務(wù),也就是說我在這個(gè)容器集群上面的所有測試環(huán)境,都基于大數(shù)據(jù)平臺的數(shù)據(jù)源收集的組件去進(jìn)行數(shù)據(jù)收集,數(shù)據(jù)收集后我們把它統(tǒng)一放在數(shù)據(jù)平臺上做日志管理,通過這個(gè)日志管理有一些新的創(chuàng)新點(diǎn),當(dāng)日志統(tǒng)一收集起來之后,它可以做更高效的分析,可以定制化的搜索,業(yè)務(wù)報(bào)警等。”
七牛云的愿景是縮短產(chǎn)品到想法的距離,而對于未來將會考慮的方向,宮靜表示,“希望把測試服務(wù)化對研發(fā)團(tuán)隊(duì)進(jìn)行開放?,F(xiàn)在做到的是測試環(huán)境,作為一個(gè)一鍵部署的服務(wù)去提供開放,之后希望把所有的這些持續(xù)交付的流程環(huán)節(jié)都把它模塊化、服務(wù)化,作為測試服務(wù)提供出去。這樣所有開發(fā)人員都是可以通過服務(wù)化的方式,去使用七牛云的測試體系、質(zhì)量體系。”
- 為什么年輕人不愛換手機(jī)了
- 柔宇科技未履行金額近億元被曝已6個(gè)月發(fā)不出工資
- 柔宇科技被曝已6個(gè)月發(fā)不出工資 公司回應(yīng)欠薪有補(bǔ)償方案
- 第六座“綠動未來”環(huán)保公益圖書館落地貴州山區(qū)小學(xué)
- 窺見“新紀(jì)元”,2021元宇宙產(chǎn)業(yè)發(fā)展高峰論壇“廣州啟幕”
- 以人為本,景悅科技解讀智慧城市發(fā)展新理念
- 紐迪瑞科技/NDT賦能黑鯊4 Pro游戲手機(jī)打造全新一代屏幕壓感
- 清潔家電新老玩家市場定位清晰,攜手共進(jìn),核心技術(shù)決定未來
- 新思科技與芯耀輝在IP產(chǎn)品領(lǐng)域達(dá)成戰(zhàn)略合作伙伴關(guān)系
- 芯耀輝加速全球化部署,任命原Intel高管出任全球總裁
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。