苹果、彭博、Netflix的Mesos使用经验分享

87500698 2015-09-01

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的可扩展性。

苹果、彭博、Netflix的Mesos使用经验分享

彭博

彭博(Bloomberg)是全球领先的金融数据供应商。Skand Gupta首先回顾了之前的LIBOR丑闻,多家银行因此事件损失惨重。为了避免这样的事件重复发生,彭博通过基于Mesos的数据分析环境来监控300000多个订阅者的实时交互数据。

Gupta解释道,他的团队通过三个步骤来标记证据或者违法行为。第一步需要一个实时的、复杂的事件处理系统来分析消息内容,第二步需要一个分布式的批处理系统来搜索消息文本,第三步是统计和报告,一个典型的场景就是用户需要从万亿字节的数据中生成报告。

Gupta表示,在没有使用Mesos之前,他们很难平衡者三个系统的资源,CEP系统在交易时间内负载很重,但晚上的时候却很没有什么负载。而分析系统在一般情况下负载都不会很高。而搜索系统又很吃内容。

一年前,他们开始基于Mesos重建基础架构,现在已经完工。效果非常棒,并且很稳定。

苹果、彭博、Netflix的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调度数以千记的任务更快。

苹果、彭博、Netflix的Mesos使用经验分享

Two Sigma

专注技术的对冲基金Two Sigma并不像其它大型的Mesos用户一样家喻户晓,但也是不错的公司。在MesosCon中,来自Two Sigma的Li Jin演示了Cook,这是一个定制的调度器,用以在公司的模拟(simulation)集群中,最大化资源的公平分配。Jin说,任务的大小和持续时间变化很大,但是无论任务是大是小,它的traders都在等待仿真结果来做决定。

在高峰时间,需求量多达容量的5倍,因此调度任务时很难同时保证快速和公平。Jin认为,此时甚至如何定义“公平”都是困难的,因为先到先得(first-come, first-served)或完全基于quota的分配方法都会导致一些任务无法得到它们需要的资源。

苹果、彭博、Netflix的Mesos使用经验分享

Jin说,“我认为,公平性(fairness)并不是为了公平(fair),而是为了更好的用户体验”。理想的用户体验应当是,无论何时需要资源,他们都可以得到可用资源中公平的那一份。

Cook通过对提交的模拟任务不断地打分(assign value scores),然后再决定何时何地运行它们,从而最终解决了这些问题。如果发生了资源争夺,那么队列中的低分任务将被抢占,直到有资源时再继续运行。 Jin承认,Cook不是一个完美的系统,但却是一个比其他替代者快得多的系统。

苹果、彭博、Netflix的Mesos使用经验分享

更多

MesosCon上还有很多的精彩演讲,比如说PayPal和Orbitz分享了他们基于Mesos和Jenkins的持续集成环境,PayPal(架构如下)较原来基于VM的架构,提高了近10倍的资源使用率。

苹果、彭博、Netflix的Mesos使用经验分享

个性化广告公司TellApart(现已被Twitter收购)也分享了他们基于Mesos的广告服务平台,这个平台可以每秒处理200000个查询,并在100毫秒内响应。

苹果、彭博、Netflix的Mesos使用经验分享

Verizon是美国的一家电信公司,大会上,他们也介绍了如何使用Mesos来管理Verizon的资源,并演示了如何使用Mesos和Marathon在72秒内启动50000个应用实例。

相关推荐