Mesos云操作系统 让浙江移动玩转双十一

双11浙江移动凭借基于Mesos和Docker的DCOS成功应对秒杀

前两天在电梯里面听阿里的朋友说11月5日开始封网,为双11保驾护航。感慨互联网巨头已经成为实际上的运营商,转过天最吸引自己眼球的却是一篇“DCOS发力双11—浙江移动手机营业厅充值秒杀活动保障成功”?!双11一直是各大互联网公司放卫星的擂台统运营商互联网业务出来发声凤毛麟角。我们看看文章里面的指标:

“双十一期间,浙江移动手机营业厅系统承受的并发数最高峰值接近6万次/秒,后台服务调用成功率均在99.95%以上,成为浙江移动首个在单日实现10亿级PV的业务系统。手机营业厅作为中国移动面向客户提供快速便捷的查询、办理和交费等自助服务的客户端软件及系统,扮演了此次双十一充值秒杀活动的主角,也是首个应用DCOS架构的生产系统。”

虽然这段文字风格还是很国企,但是足以让笔者对运营商引入新技术的魄力刮目相看。基于Apache Mesos的数据中心操作系统(Datacenter OS)在美国也是个新事物,虽然苹果、Twitter和Airbnb已经将其应用于核心生产系统,但是运营商目前据报道是Verizon第一个用于其支撑系统。用Mesos支撑一个服务上千万用户的重要生产系统,在运营商圈子里应该是全球领先了。数人云作为国内第一家主打Mesos的创业公司,8月份同浙江移动和支撑单位进行有关技术交流。看文章所述浙江移动2014年3月开始调研Docker,2015年下半年开始Mesos为核心的DCOS建设,最后只用不到一个月的时间完成了上线和压测,这执行力堪比同城兄弟阿里。

据文章所述,浙江移动使用Mesos 技术主要是如下两个业务目标推动的:

Mesos能让资源利用率提升5倍以上

首先是支撑单位自己的需求,提高资源的利用率。通俗地说,就是将数据中心的集群打成一个资源池,当做一台超级电脑来使用。资源的划分可以精确到0.1个CPU和1K内存,远超虚拟机的粒度;其次不同工具的任务可以在同一台主机运行,避免闲置——白天主要用来跑业务,晚上则自动变成跑报表为主。虽然文章没有给出具体的数据,根据Verizon的公开数据,主机利用率从平均10-15%提升到了50%以上。

Mesos可在数十秒内完成上万Docker容器部署

互联网新业务频繁秒杀的需求,例如浙江移动这个双11搞的1折抢流量。Mesos能将数以万计的容器化应用实例部署到数以千计的主机中,一切都在几十秒内完成。借助快速部署能力,在访问量暴增的情况下可以瞬间扩充业务单元数量来消峰,保证用户体验不会降级。文章给出的图表主要是基础层CPU、Memcachd和网络的负载,用户体验方面笔者参考了数人科技实施的一个互联网消峰项目。下图是某热门社交应用的接口调用时间图表,数值越小越好:

使用Mesos之前,高并发造成客户端严重卡顿

使用Mesos之后,客户端反应时间基本不变

根据文章所述,浙江移动的DCOS采用53个主机节点。其中平台部分包括5个Mesos Master 主节点,8个节点构成Haproxy Cluster,40个计算节点可承载1050个Docker 容器。该平台可在1分钟内轻松实现扩展到1000个以上Docker节点。Mesos也让浙江移动的开发模式具备了跨越式发展的可能,一夜间具有了灰度发布、自动化集成和部署等现代DevOps能力。考虑到均是物理机,这个规模在国内还是中上水平。

浙江移动的DCOS(数据中心操作系统)架构详解

笔者从浙江移动开发DCOS的博客文章中找到了整体架构图。其核心是基于Mesos,负责底层CPU和内存资源的动态调度。作为一个企业级生产系统管理平台,其上还包括如下的重要功能组件:

  • 容器应用框架:企业的业务逻辑通过容器方式部署在Mesos管理的计算资源池中。Mesos本身还支持一键部署Spark、Kafka等大数据应用框架,未来也应该会出现在这张图里面。

  • 统一的日志中心:分布式系统的日志必须集中存储,并且提供丰富的搜索功能。这样运维人员才能随时跟踪业务逻辑的执行情况,发现深层次问题。这里应该是采用通行的ELK来实现。

  • 监控管理模块:分布式系统如果没有各个层面的监控就是个黑盒子。运营商在硬件层监控肯定驾轻就熟,增加的功能应该是业务层的监控。

  • 弹性扩张模块:这个模块应该是移动自己开发来应高并发场景,包括了应用层监控、自动调整容器数量和服务发现(service discovery)功能。

  • DOCS的控制台:大部分关键数据都能通过集中化的Dashboard展现,感觉从机械仪表一夜间进步到了液晶显示器。

作为一个企业级的平台系统,浙江移动必然还做了很多细致的工作。例如负载均衡(HAProxy)也实现了高可用,这一点也体现了分布式系统要消除任何单点的设计思想。同时和既有的运维管理平台进行了整合,添加了容器和Mesos有关的监测视图。

云计算的动力在于消费互联网的兴起,基础架构要应对业务的持续性爆发增长。Mesos这样的“云操作系统”将上层和业务量和底层运维复杂度解耦,用同一个基础架构支持业务十倍百倍扩大。有了这个大杀器,大大丰富了运营商新业务的玩法,运营商也和互联网公司站在一条起跑线上。

应用设计遵循Cloud Native,才能发挥DCOS的巨大威力

当然企业“上云”也会是循序渐进,总免不了新瓶装旧酒。例如这次扩容的内容还包括了数据库、缓存和ESB部分,因为业务逻辑部分有了弹性扩张能力,必然将压力传递到了后端数据库。正如浙江移动DCOS负责人在其微信朋友圈里面说的,只有应用设计架构的变化才是真正“上云”的变革:

“现阶段只有基于容器技术,资源管理技术,分布式协调技术等为一身的dcos架构(可以有多种产品组合但架构和原理大同小异)可以真正实现资源动态调度,异地三层网络调度,应用线性扩缩容。而且这种架构的前提是实现应用和数据分离,实现应用的无状态和容器化,在此前提下应用云化均可通过DCOS架构实现。而数据存储层天然有状态,只能走融合架构,多租户或分布式数据库的路线。总之,即使是用最新的dcos架构,那些真正云化的功能也是对应用设计有着要求的。”

文章的最后想贴一张参与这个项目的同事照片,这次浙江移动双11的秒杀实践,让笔者深深感觉到了技术人变化的能量。笔者从大学时代就开始参与运营商的项目,论证投标至少是半年。这次浙江移动从与数人云做DCOS技术交流,到与合作单位开展Mesos实践只用了半年时间。这给了云计算创业公司巨大的动力和紧迫感,希望明年双11我们的Mesos产品数人云也能帮助其他企业站到浪潮之巅!

笔者注:下一篇文章将从Mesos技术角度推测浙江移动DCOS的一些实现方法,敬请期待。

主要图文来自:

“浙江移动DCOS试验网正式投产,跨出企业级互联网架构关键一步” 钟储建 2015.11.05

“DCOS发力双11——浙江移动手机营业厅充值秒杀活动保障成功”戚靓亮2015.11.11

本文作者: 谢乐冰,数人科技 COO

在德国工作十年,回国后加盟惠普电信运营商部门。拥有多年项目经验和创业公司工作经验。在数人科技负责运营、市场销售工作,擅长技术应用领域,为电商、招聘、电信、互联网金融等行业提供服务。