蘋果、彭博、Netflix的Mesos使用經(jīng)驗(yàn)分享
MesosCon 2015圓滿結(jié)束,這次有700多人參會(huì),是去年的3倍,并且演講者都來自全球的大型和重量級(jí)公司。在過去的幾年里,可以說Twitter都是Apache Mesos的***用戶,而在今年的大會(huì)上,蘋果、彭博、Netflix、Verizon、PayPal等公司都分享了他們?cè)谏a(chǎn)環(huán)境中使用Mesos的經(jīng)驗(yàn)。
蘋果
之前就有說過,蘋果已經(jīng)使用Apache Mesos重建了個(gè)人助理軟件Siri的后端服務(wù),并構(gòu)建了名為J.A.R.V.I.S.的專有調(diào)度框架來處理任務(wù)調(diào)度和資源分配等方面的工作。在大會(huì)的主題演講上,Brian Sumner解釋說在一年前的8月21日,蘋果停用了他們?cè)瓉淼姆荕esos的服務(wù)器。雖然蘋果沒有透漏他們具體的集群規(guī)模,但Sumner有提到他們一定是世界上***的集群之一(保守估計(jì)有10000個(gè)節(jié)點(diǎn))。
從原有的基于VM的環(huán)境遷移到基于Mesos的環(huán)境,蘋果用了近一年時(shí)間。在整個(gè)的遷移過程中,蘋果受益頗多,包括:
裸機(jī)性能(Bare-metal performance)
- 復(fù)雜度降低(Reduced complexity)
- 失敗率降低(Fewer failures)
- 基于應(yīng)用的平臺(tái)(Application-aware platform)
- 高效的代碼部署(Lightning-fast code deployments)
- 成本降低(Cost reduction)
- 部署時(shí)間減少(Reduced time to production)
- 更少的定制(Fewer proprietary pieces)
整個(gè)演講中,令人最深刻的就是Mesos的可擴(kuò)展性。
彭博
彭博(Bloomberg)是全球領(lǐng)先的金融數(shù)據(jù)供應(yīng)商。Skand Gupta首先回顧了之前的LIBOR丑聞,多家銀行因此事件損失慘重。為了避免這樣的事件重復(fù)發(fā)生,彭博通過基于Mesos的數(shù)據(jù)分析環(huán)境來監(jiān)控300000多個(gè)訂閱者的實(shí)時(shí)交互數(shù)據(jù)。
Gupta解釋道,他的團(tuán)隊(duì)通過三個(gè)步驟來標(biāo)記證據(jù)或者違法行為。***步需要一個(gè)實(shí)時(shí)的、復(fù)雜的事件處理系統(tǒng)來分析消息內(nèi)容,第二步需要一個(gè)分布式的批處理系統(tǒng)來搜索消息文本,第三步是統(tǒng)計(jì)和報(bào)告,一個(gè)典型的場(chǎng)景就是用戶需要從萬億字節(jié)的數(shù)據(jù)中生成報(bào)告。
Gupta表示,在沒有使用Mesos之前,他們很難平衡者三個(gè)系統(tǒng)的資源,CEP系統(tǒng)在交易時(shí)間內(nèi)負(fù)載很重,但晚上的時(shí)候卻很沒有什么負(fù)載。而分析系統(tǒng)在一般情況下負(fù)載都不會(huì)很高。而搜索系統(tǒng)又很吃內(nèi)容。
一年前,他們開始基于Mesos重建基礎(chǔ)架構(gòu),現(xiàn)在已經(jīng)完工。效果非常棒,并且很穩(wěn)定。
NetFlix
在過去幾年中,雖然Netflix一直不斷提到他們使用了Mesos,但是也沒有向社區(qū)分享Mesos環(huán)境的更多細(xì)節(jié)。這一點(diǎn)在周四的MesosCon中完全改變了,Netflix不僅演示了自制的Fenzo調(diào)度器,并進(jìn)行了開源。
與其它調(diào)度器(如Marathon或Aurora)不同的是,F(xiàn)enzo并不是一個(gè)Mesos框架。它其實(shí)是一個(gè)與Mesos框架(如Cassandra或Spark)通信的Java插件,負(fù)責(zé)將它們的需求告知Mesos主節(jié)點(diǎn),并獲得相應(yīng)的運(yùn)行結(jié)果。
Fenzo有幾個(gè)不錯(cuò)的特性,比如可以向盡可能少的節(jié)點(diǎn)上打包盡可能多的任務(wù),并提供了二十個(gè)選項(xiàng)用以描述什么樣的主機(jī)類型可以運(yùn)行什么任務(wù)。運(yùn)行在AWS上的Netflix也為Fenzo建立了自動(dòng)擴(kuò)展規(guī)則,一旦任意一個(gè)集群達(dá)到了可以容許的最小節(jié)點(diǎn)數(shù),就會(huì)增加新的資源;反之亦然。
來自Netflix的Sharma Podila聲稱,通過實(shí)驗(yàn)發(fā)現(xiàn),F(xiàn)enzo可以帶來在作業(yè)大小和運(yùn)行時(shí)間上顯著的性能改進(jìn)。同時(shí),他們也發(fā)現(xiàn),相對(duì)于其它調(diào)度器,使用Fenzo調(diào)度數(shù)以千記的任務(wù)更快。
Two Sigma
專注技術(shù)的對(duì)沖基金Two Sigma并不像其它大型的Mesos用戶一樣家喻戶曉,但也是不錯(cuò)的公司。在MesosCon中,來自Two Sigma的Li Jin演示了Cook,這是一個(gè)定制的調(diào)度器,用以在公司的模擬(simulation)集群中,***化資源的公平分配。Jin說,任務(wù)的大小和持續(xù)時(shí)間變化很大,但是無論任務(wù)是大是小,它的traders都在等待仿真結(jié)果來做決定。
在高峰時(shí)間,需求量多達(dá)容量的5倍,因此調(diào)度任務(wù)時(shí)很難同時(shí)保證快速和公平。Jin認(rèn)為,此時(shí)甚至如何定義“公平”都是困難的,因?yàn)橄鹊较鹊?first-come, first-served)或完全基于quota的分配方法都會(huì)導(dǎo)致一些任務(wù)無法得到它們需要的資源。
Jin說,“我認(rèn)為,公平性(fairness)并不是為了公平(fair),而是為了更好的用戶體驗(yàn)”。理想的用戶體驗(yàn)應(yīng)當(dāng)是,無論何時(shí)需要資源,他們都可以得到可用資源中公平的那一份。
Cook通過對(duì)提交的模擬任務(wù)不斷地打分(assign value scores),然后再?zèng)Q定何時(shí)何地運(yùn)行它們,從而最終解決了這些問題。如果發(fā)生了資源爭奪,那么隊(duì)列中的低分任務(wù)將被搶占,直到有資源時(shí)再繼續(xù)運(yùn)行。 Jin承認(rèn),Cook不是一個(gè)***的系統(tǒng),但卻是一個(gè)比其他替代者快得多的系統(tǒng)。
更多
MesosCon上還有很多的精彩演講,比如說PayPal和Orbitz分享了他們基于Mesos和Jenkins的持續(xù)集成環(huán)境,PayPal(架構(gòu)如下)較原來基于VM的架構(gòu),提高了近10倍的資源使用率。
個(gè)性化廣告公司TellApart(現(xiàn)已被Twitter收購)也分享了他們基于Mesos的廣告服務(wù)平臺(tái),這個(gè)平臺(tái)可以每秒處理200000個(gè)查詢,并在100毫秒內(nèi)響應(yīng)。
Verizon是美國的一家電信公司,大會(huì)上,他們也介紹了如何使用Mesos來管理Verizon的資源,并演示了如何使用Mesos和Marathon在72秒內(nèi)啟動(dòng)50000個(gè)應(yīng)用實(shí)例。