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