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)
整个演讲中,令人最深刻的就是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个应用实例。