苹果公司宣布,将使用开源的集群管理软件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后端服务的更多相关文章

  1. 使用Apache Mesos和Consul实现服务的注册发现

    为保证基于Docker应用程序和服务都具有高性能和可用性,设计出一种具有服务发现,高可用性和容错能力的解决方案非常重要. 我们使用Apache Mesos 和Mesosphere的 Marathon实 ...

  2. Docker vs. Kubernetes vs. Apache Mesos: Why What You Think You Know is Probably Wrong

    Docker vs. Kubernetes vs. Apache Mesos: Why What You Think You Know is Probably Wrong - Mesosphere h ...

  3. [经验交流] Apache Mesos Docker集群初探

    前言 因工作需要,我对基于Apache Mesos 的 Docker 集群作了一点研究,并搭建了一套环境,以下是资料分享. 1. Apache Mesos概述 Apache Mesos是一款开源群集管 ...

  4. IOS App如何调用python后端服务

    本篇文章旨在通过一个小的Demo形式来了解ios app是如何调用python后端服务的,以便我们在今后的工作中可以清晰的明白ios app与后端服务之间是如何实现交互的,今天的示例是拿登录功能做一个 ...

  5. Apache Mesos总体架构

    http://developer.51cto.com/art/201401/426507.htm 1. 前言 同其他大部分分布式系统一样,Apache Mesos为了简化设计,也是采用了master/ ...

  6. mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys

    http.sys你可以用 mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys并且还是开源的,作者天天更新代码,非常勤奋,官方论坛提问,回答也快其实,稍微看看,就能玩的挺好的

  7. 容易被忽视的后端服务 chunked 性能问题

    容易被忽视的后端服务 chunked 性能问题 标签(空格分隔): springboot springmvc chunked 背景 spring boot 创建的默认 spring mvc 项目 集成 ...

  8. 快速新建简单的koa2后端服务

    既然前端工程化是基于NodeJS,那么选择NodeJs做前后端分离部署也是理所应当的.其实只需要实现静态资源和代理的话,用nginx才是最好的选择,用NodeJS是为了日后能进一步在服务端上实现自动构 ...

  9. vue,vuex的后台管理项目架子structure-admin,后端服务nodejs

    之前写过一篇vue初始化项目,构建vuex的后台管理项目架子,这个structure-admin-web所拥有的功能 接下来,针对structure-admin-web的不足,进行了补充,开发了具有登 ...

随机推荐

  1. 关于vue生命周期中的同步异步的理解

    在vue官网中介绍生命周期的图如下: 主要测试代码如下: 主要是测试前四个生命周期beforeCreate,created,beforeMount,mounted,里面同步和异步的执行顺序,其它的类似 ...

  2. 修改es最大返回结果数

    curl -XPUT http://114.215.171.188:9200/logstash-serverlog/_settings -d '{"index":{"ma ...

  3. JS实现鼠标移上去图片停止滚动移开恢复滚动效果

    这是在做个人站的时候展示项目成果,因为不光需要展示,还需要介绍详细内容,就在滚动展示的地方做了这个效果以便于点开想要看的项目. 首先,要做的是一个需要滚动的区域.我前边写过一个关于图片循环滚动的示例, ...

  4. js实现分页

    <html> <head> <meta charset='utf-8'> <script type="text/javascript" s ...

  5. centos nginx-1.10.3 安装

    wget http://nginx.org/download/nginx-1.13.1.tar.gz nginx 依赖 pcre 库,要先安装pcre,因为nginx 要在rewrite 要解析正则表 ...

  6. Java常用集合体系以及相互区别

    Collection集合特点: 1.2.1一些 collection 允许有重复的元素,而另一些则不允许 1.2.2一些 collection 是有序的,而另一些则是无序的 [有序是指与添加的顺序一致 ...

  7. 导入java项目时出现红色叹号问题的解决

    问题:导入java项目时出现红色叹号(如下图所示) 原因:引入项目的某些jar包跟自己电脑上的位置不一样: 解决方案:步骤如下 (1)右键红色叹号所在项目————>build path————& ...

  8. 排序与检索【UVa10474】Where is the Marble?

    Where is the Marble?  DescriptionRaju and Meena love to play with Marbles. They have got a lot of ma ...

  9. Vulkan Tutorial 12 Fixed functions

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 早起的图形API在图形渲染管线的许多阶段提供了默认的状态.在Vulkan中,从vie ...

  10. 【Selenium】Selenium IDE(alt+ctrl+s)

    ttp://www.yiibai.com/selenium/selenium_ide_tool_features.html     学习 Selenium IDE安装 http://seleniumh ...