Apple使用Apache Mesos重建Siri後端服務
蘋果公司宣布,將使用開源的集群管理軟件Apache Mesos,作為該公司廣受歡迎的、基於iOS的智能個人助理軟件Siri的後端服務。Mesosphere的博客指出,蘋果已經創建了一個命名為J.A.R.V.I.S.,類似PaaS的專有調度Framework,由此,開發者可以部署可伸縮和高可用的的Siri服務。
集群管理軟件Apache Mesos將CPU、內存、存儲介質以及其它計算機資源從物理機或者虛擬機中抽象出來,構建支持容錯和彈性的分布式系統,並提供高效的運行能力。Mesos使用與Linux內核相同的系統構建原則,只是他們處在不同的抽象層次上。Mesos內核運行在每臺機器上,通過應用程序Framework,提供跨整個數據中心和雲環境進行資源管理和調度的API。蘋果已經創建了自己專有的調度Framework以運行Siri的後端服務,將其命名為J.A.R.V.I.S.。
J.A.R.V.I.S.是“一種相當智能的調度器(Just A Rather Very Intelligent Scheduler)”的縮寫,這個名字的靈感來自《鋼鐵俠》電影中的智能化計算機助手。蘋果公司使用J.A.R.V.I.S.作為內部的平臺即服務(PaaS)系統,使開發者編寫的Siri後端應用程序可以部署為可伸縮性和彈性的服務,用於響應iOS用戶通過個人助理應用程序請求的語音查詢。
據Mesosphere的博客報道,在蘋果公司總部加州庫比蒂諾的聚會上,蘋果的開發者表示,他們的Mesos集群有數千個節點。支持Siri應用程序的後臺系統包括約100種不同類型的服務,應用程序的數據存儲在Hadoop分布式文件系統(HDFS)中。從基礎設施的角度來看,使用Mesos有助於使Siri具備可伸縮性和可用性,並且還改善了iOS應用程序自身的延遲。
Mesos後端是第三代Siri平臺,告別了之前部署在“傳統的”基礎設施的歷史。Mesosphere博客認為,從概念上講,蘋果公司與Mesos的合作以及J.A.R.V.I.S.類似於Google的Borg項目,領先於其他支持長時間運行應用服務的類PaaS Framework,比如Mesospere數據中心操作系統(DCOS)的相關組件Mesosphere Marathon和出自Twitter基礎設施團隊的Apache Aurora。
Mesosphere高級研究分析師Derrick Harris在Mesosphere的博客中表示,關於Siri由Apache Mesos集群管理軟件支撐的公告是對Mesos成熟度的證明:
蘋果公司能夠信任使用Mesos支撐Siri——這是一個復雜的應用程序,用以處理只有蘋果知道每天會有多少數量的、來自數以億計的iPhone和iPad用戶的語音查詢—— 這足以說明Mesos的成熟度,Mesos已經為各種類型的企業帶來巨大影響做好了準備。
InfoQ采訪了Mesosphere高級副總裁Matt Trifiro,並詢問了這項公告對正在考慮部署應用到Mesos的企業和軟件開發者會有什麽影響:
InfoQ:為什麽蘋果的這項公告對Mesos和Mesosphere很重要?
Trifiro:蘋果公司宣布,他們完全重建了Siri,以運行於Mesos之上。這再次表明,Mesosphere DCOS中的分布式內核Mesos,是編排大規模容器和構建新的分布式系統的黃金標準。
InfoQ:不是每家企業都能達到蘋果公司的規模,那麽傳統企業怎樣應用Mesos呢?
Trifiro:像蘋果和Twitter這樣的公司,幾乎全部的基礎設施都使用了這項技術。因為Siri和Twitter都依賴於Mesos,可想而知,它必須是可靠的。但是,開源的Apache Mesos是一項非常尖端的技術,通過開源工具手工裝配,並將Mesos用於生產環境是非常困難的。這正是Mesosphere產生的原因。任何公司都能使用這項久經考驗的技術,構建完整的數據中心操作系統(DCOS),並具備和Twitter或者蘋果公司同等的能力和自動化效果,而不必成為Twitter或者蘋果那樣大規模的公司。
InfoQ:蘋果公司從Mesos API直接實現了一套調度器(J.A.R.V.I.S.),這意味著什麽呢?
Trifiro:Mesos最強大的方面其一就是,它提供了用於構建新的分布式系統的基本功能。如果你去看其它的分布式系統,比如早於Mesos出現的Hadoop,它有幾十萬行代碼,很多地方是在重復制造輪子。所有的失敗處理、網絡實現、消息傳遞和資源分配的代碼,開發者不應重寫這些功能。而為程序員提供了內置這些功能的Mesos內核的話,他們就可以快速構建新的高可用性和彈性分布式系統,而無需重復所有基本的功能。他們可以專註於業務邏輯的實現上。
InfoQ:Mesos和Mesosphere DCOS之間是什麽關系?
Trifiro:Mesosphere DCOS是一種新型的操作系統,跨越數據中心或雲環境中的所有機器,將他們的資源放到一個資源池中,使他們的行為整體上像一個大的計算機。Apache的開源項目Mesos是這個操作系統裏面的內核。我們將其和其他組件包裝到一起,包括初始化系統(marathon)、文件系統(HDFS)、應用打包和部署系統、圖形用戶界面和命令行界面(CLI)。所有這些組件一起構成了DCOS。這就像蘋果公司的Yosemite操作系統或者像Android,他們各有一個內核(分別是BSD和Linux),他們為內核添加了系統服務和工具,使內核成為值得筆記本電腦或者智能手機使用的產品。我們為數據中心所做的工作也是相同的。
Apple使用Apache Mesos重建Siri後端服務