Apple 使用 Apache Mesos 重建 Siri 后端服务

阅读数:3017 2015 年 6 月 4 日

苹果公司宣布,将使用开源的集群管理软件 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),他们为内核添加了系统服务和工具,使内核成为值得笔记本电脑或者智能手机使用的产品。我们为数据中心所做的工作也是相同的。

更多关于苹果公司宣布使用 Mesos 作为 Siri 后端服务的消息,详见 Mesosphere 的博客

查看英文原文: Apple Rebuilds Siri Backend Services Using Apache Mesos


感谢邵思华对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论