新聞中心
Mesos 與 docker 革新持續(xù)交付技術(shù)
作者:趙建飛 2016-01-07 10:29:36
云計算 在實踐中,Mesos與Docker是最佳的伴侶,前者提供了資源的統(tǒng)一管理,后者實現(xiàn)了資源的隔離使用,有合有分,在不同的層次發(fā)揮著不同的效能。同時,Mesos與Docker又都有自己的技術(shù)生態(tài)圈,兩者的生態(tài)圈又都相互的促進和推動。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了含山免費建站歡迎大家使用!
變革這個詞在當(dāng)今的數(shù)字化時代司空見慣,IT技術(shù)每過一段時間就會有一起革新,從WEB2.0、虛擬化、云計算、大數(shù)據(jù)、微架構(gòu)、DevOps再到今天的容器Docker與Mesos。
Docker的出現(xiàn)方便了應(yīng)用的測試、部署、與升級,其將各種應(yīng)用程序和它們所依賴的運行環(huán)境打包成標(biāo)準(zhǔn)的Container/Image,進而發(fā)布到不同的平臺上運行。Docker的輕量級、快速部署、遷移方便的特性促進了DevOps的落地,借用容器,開發(fā)人員可以很方便的融入到產(chǎn)品的交付流程當(dāng)中。
Mesos是軟件定義數(shù)據(jù)中心的***實踐,其理念用最通俗的話來講就是,讓運維人員操作數(shù)據(jù)中心就算操作一臺服務(wù)器一樣去操作,將數(shù)據(jù)中心中的CPU、內(nèi)存、存儲等資源統(tǒng)一在一臺服務(wù)器內(nèi)進行調(diào)度與管理。聽起來非常的高大上,如果用技術(shù)化的語言來描述,Mesos是這樣定義的,統(tǒng)一的集群資源管理與調(diào)度平臺,將生產(chǎn)環(huán)境中的各種服務(wù)框架,部署在一個公共的集群中,共享集群中的資源,由Mesos對資源進行統(tǒng)一調(diào)度,提供給服務(wù)框架使用。Mesos的出現(xiàn)給IaaS、PaaS以及運維的管理提供了極大的便利。
在實踐中,Mesos與Docker是***的伴侶,前者提供了資源的統(tǒng)一管理,后者實現(xiàn)了資源的隔離使用,有合有分,在不同的層次發(fā)揮著不同的效能。同時,Mesos與Docker又都有自己的技術(shù)生態(tài)圈,兩者的生態(tài)圈又都相互的促進和推動。
- Marathon保證Mesos上的服務(wù)長期運行的框架,確保運行在Mesos上的服務(wù)一直運行,某臺Mesos主機發(fā)生故障時自動遷移到其他服務(wù)器
- Chronos 服務(wù)循環(huán)運行作業(yè)調(diào)度框架,可以設(shè)定反復(fù)在特定的時間觸發(fā)運行Mesos中的服務(wù)
- Mesos-DNS針對Mesos的基于DNS的服務(wù)發(fā)現(xiàn)機制,可以方便的發(fā)現(xiàn)容器運行位置,并進行管理調(diào)度
- Kubernetes集群級別的容器編排管理系統(tǒng),能方便的管理跨集群運行的容器化應(yīng)用,提供容器調(diào)度、部署、服務(wù)發(fā)現(xiàn)、擴展機制等功能
- Swarm用于創(chuàng)建Docker主機(運行Docker守護進程的服務(wù)器)集群的工具,使用Swarm操作集群,會使用戶感覺就像是在一臺主機上進行操作
Mesos與Docker這對***伴侶為應(yīng)用的持續(xù)交付帶來了極大的便利,為應(yīng)用的運維管理提供了很大的方便,兩者在持續(xù)交付的解決方案中都起著至關(guān)重要的作用,如下圖展示了Mesos與Docker在應(yīng)用持續(xù)交付中的實踐。其具體的過程可以描述如下:
- 開發(fā)人員根據(jù)產(chǎn)品的需求進行代碼的實現(xiàn),將實現(xiàn)的代碼提交到Git/SVN等代碼管理倉庫;
- 測試人員通過Jenkins/Hudson等持續(xù)集成工具,對代碼進行編譯、打包、集成等,將代碼打包成Docker Image提交到Docker鏡像倉庫;
- 測試人員通過Mesos資源調(diào)度和Marathon平臺,用新的Docker Image部署測試環(huán)境,測試人員在測試環(huán)境中對產(chǎn)品需求功能進行驗證。如果不符合驗證反饋給開發(fā)人員,由開發(fā)人員繼續(xù)修正,如果已經(jīng)符合要求會通知運維人員將代碼部署到預(yù)發(fā)布或生產(chǎn)環(huán)境;運維人員接到測試已經(jīng)驗證通過的通知后,會利用新發(fā)布的Docker Image,將其部署到由Mesos調(diào)度管理的生產(chǎn)環(huán)境中;在生產(chǎn)環(huán)境運行過程中,運維人員可以通過Marathon等平臺對環(huán)境進行一下業(yè)務(wù)的擴容及縮容操作,甚至一些故障的自動恢復(fù)等管理。
Mesos與Docker交付中應(yīng)用案例
上述過程描述是基于比較傳統(tǒng)標(biāo)準(zhǔn)的組織架構(gòu)型的公司來描述的,有清晰角色分工的開發(fā)、測試、運維等角色人員;有部分公司已經(jīng)實踐DevOps的管理方式,開發(fā)運維合二為一,組織架構(gòu)中的角色分工更簡單簡潔,其利用Mesos、Docker實現(xiàn)的持續(xù)交付過程會有一些大同小異,其具體的操作過程還是一樣的,只是操作的人可能不同。
Mesos與Docker的出現(xiàn)應(yīng)用快、持續(xù)、自動化的交付的落地消除了很多的屏障,帶來了極大的便利。IT技術(shù)就是日新月異,我們能夠選擇的只有不斷積極的擁抱。明天會更好,本篇是我們應(yīng)用持續(xù)交付系列文章的導(dǎo)入篇,在后續(xù)會根據(jù)實踐不斷更新此系列,一起加速互聯(lián)網(wǎng)敏捷運維。
稿件來源:優(yōu)云Mobile產(chǎn)品架構(gòu)師趙建飛。優(yōu)云Mobile是廣通軟件旗下產(chǎn)品,提供用戶體驗分析、應(yīng)用性能診斷、運營決策支持等功能,實現(xiàn)移動應(yīng)用全方位感知,為應(yīng)用開發(fā)、測試和運維協(xié)同奠定基礎(chǔ)。
【本文來源:運維幫微信公眾號】
當(dāng)前文章:Mesos 與 Docker 革新持續(xù)交付技術(shù)
鏈接分享:http://www.5511xx.com/article/ccogecj.html


咨詢
建站咨詢
