2017在线技术峰会,阿里云ApsaraSRE技术专家观止来为大家揭秘红包背后:“红”与“黑”的较量。本文首先从红包背后的挑战开始说起,重点介绍了红包业务保障及常态化,包括运作体系、基本要素等,然后解析了ApsaraSRE运维体系架构,最后简要说明了对于DevOps的实践与思考。
直播视频
以下是精彩内容整理:
红包背后的挑战
红包主要的业务场景有AR红包、扫福卡、拜年视频等。
这些新技术新玩法业务的叠加都是全新的挑战;新技术中涉及到AR藏红包、找红包,藏红包中基本的业务场景是基于LBS用户取物理场景,埋下一个红包,其中涉及到大量图片的上传,还有AR扫福,涉及到图片上传并验证,两个业务场景的叠加,反馈到技术平台产生高并发的写入操作,同时这是一次海量的访问场景,所以这次红包活动是一次海量访问+并发高IO是一个全新的挑战;另外今年AR红包、AR扫福包括社交部分,因为业务场景的原因,导致图片是一个千人千面,业务流量模型是无可参考的;混合云架构需要适配两侧的网络环境,涉及到安全、业务架构和云,形成比较复杂的混合云架构。
红包业务保障及常态化
运作体系
我们需要一个强大的运作体系来支撑技术挑战,红包活动是海陆空联合作战,类比过往的双十一活动,需要一个强大的支撑体系去协同跨BU跨团队的技术支撑和组织调度,在这个体系里面,主要有指挥中心、作战部队和后勤部队,作战指挥中心。
作战指挥中心:
是由一群业务单元的技术Leader和平台单元的技术Leader组成,
针对在活动当天遇到的突发问题作统一的决策;情报员负责整体信息的分拣,上传下达,项目经理负责整体的协同和资源调度。
后勤保障:
-行政:备好丰富的补给,确保大家有充沛的体力和精力来应对任何一个业务的突发和事件的处理;
-IT:信号的增加,无线网络的高可用,这是这是基础中的基础(是一个非常关键的基础环节,如果无线网络故障或者不畅,会给整个活动的顺利保障都蒙上阴影);
技术平台:
基础服务有数据中心、服务器和网络,数据中心在大型的活动保障之前都会做统一的巡检和健康检查,服务器也会做批量检查,确认所有报备的设备能够运转在业务的支撑流程中,活动当前所有数据中心的驻场人员会进入战备准备,同时,针对网络部分,活动前会做容灾的切换演练,我们会从入口级别做破坏性的演练,查看是否为入口故障导致业务崩塌,验证我们的业务切换能力和紧急预案。
有了这些基础服务,IaaS平台可以提供计算、负载均衡、对象存储、内容分发、安全和数据库服务,成为一个一个的模块可以供给给PaaS平台做统一的组合调度,资源创建、业务发布和业务监控等,形成一个完整的技术解决方案和场景化的能力,给业务方提供服务。
业务单元:
平台之上对应着业务单元,以红包活动为例,业务分为口碑业务、红包业务和支付业务,活动当天会有GOC(Global Operations Center)和业务支持横向串联整个当天的故障、事件、问题和预警,整套体系针对红包活动做了抽象的简化版,在整个双十一或双十二,体系会更加庞大。整体的活动后,我们都会做完整的复盘,包括技术层面、业务层面和基础服务层面等,在每一条战线每一个环节都会做认真的分析,将问题不断的沉淀优化,包括优化后勤保障能力、监控预警能力等,形成一个统一的平台体系。
最终实现一颗心一张图一场仗的跨BU合作和组织协同,完成大的战役目标。
基本要素
红包业务保障必备的基本要素有以下几点:
- 人
我们是一群老司机,经历过多年双十一活动保障,具备丰富的经验和对业务判断的基本素质,从而能够规避掉在这么一场大型活动中潜在的黑天鹅事件,这是对人的基本要求;
老司机的语录:
i.
配置巡检必须做最后的检查和dubble check,从内核的参数配置,模块的限流的配置,业务的配置文件,以上问题可能虽小,但是却可能引发系统性风险
ii.
业务的指标不可不信,亦不可全信,跟业务做多轮的聚焦,同时做在压测演练中不断的论证容量模型
iii.
每个系统的限流必须要做,并且需要通过演练确保限流开关的有效性,这个是救命的
iv.
提前准备好预案,危机时刻,确保临危不乱
总结来说,老司机的正确姿势包含,全网配置一致性确认,全链路压测,提前预案和紧急预案,限流开关的验证。
- 工具
配置巡检、全链路压测以及资源扩容都依赖于平台工具的可靠性和高效性;通过工具我们具备快速的资源交付能力和自动化巡检平台化等能力。
- 资源
一直以来,可能会有一个误解,大型的活动我们就堆资源就好了,再大的业务目标和业务场景都是可以堆出来的,如何在有限的成本下面实现前后端保持一直的服务能力,而不是漏斗试的资源模型;每一个应用的容量模型,所有应用的收敛比是怎样的,有可能前端和后端能力对不齐,所以码机器可能也是一种艺术,我们需要有非常好的容量规划模型,在过往的活动保障中不断地完善模型,不断去调整,结合模型和活动保证过程中的全链路压测不断的调整资源配比,实现最具性价比的资源模型。
- 数据化运营
验证过程中需要有数据化手段去管控去对比,确保在全链路压测里能具备一个数据化说服能力,确保容量模型和资源配比是合理的。
- 功能快速验证
针对业务的需求具备快速验证的能力和反应速度。
总结起来主要具备四大方面特点:资源敏捷交付、全链路压测、可视化大盘和快速功能验证。
保障状态
平台整体支撑了1.68亿人次的红包活动,全程0故障,0干预,除夕之夜,大家吃着火锅,聊着天,度过了一次最为淡定的大型活动保障;
除夕之夜,整体的保障状态还是非常轻松和惬意的,这个得益于前期我们做了多轮全链路压测,做了充足的业务模型和资源水位,限流开关的充分验证,另外整体的水位控制得非常好,全程无需人工的干预。
这么一次成功大型活动完成,我个人认为2个关键的点:
a) 基于阿里云构建自己的混合云架构,让业务专注在业务和代码逻辑,阿里云产品提供强大的产品服务能力,从而使得业务可以更快速奔跑;同时阿里云的产品也因为阿里多元化业务打磨,变得更加的强大,反哺给更多的业务方和我们的阿里云用户,形成一个良性的互补循环。
b)
基于阿里云平台的业务,用户可以只关心业务侧的运维,整体平台的可靠性可以让一群可信赖的老司机搞定(多年双十一,双十二的运维保障经验)。
今天,“红包现象”已然成为常态化,不止阿里有自己的双十一,双十二,红包等大型业务活动,在云上的诸多公司都有自己的业务活动(比如微博的红包活动,芒果的跨年晚会,12306的的春运),在可预见的未来,会有越来越多的公司,越来越多的大型活动会发生在阿里云的平台上面,未来我们也将面临更多的挑战。
那么阿里云形成了自己的一套面向客户价值的运维支撑体系,在云上助力业务快速奔跑。
ApsaraSRE运维体系
SRE相信大家都不陌生,同时Apsara是阿里云的技术品牌,所以有了阿里云的ApsaraSRE团队的来源,致力于阿里云的用户业务永续,平台技术优化,用户业务保障等工作。
阿里云拥有了自己面向客户价值的一套运维支撑体系,ApsaraSRE运维体系致力于阿里云平台业务的连续性和技术平台保障还有业务稳定性保障的工作。
ApsaraSRE运维体系分为三大块。
第一块为业务前台,
包含咨询服务(迁云、架构设计)、管理服务(服务台售后)、故障管理和SLA管理等,形成面向客户价值的赋能,护航保障,业务连续性管理的能力;
第二块是平台架构中台,
作为我们运维体系的中台,提供平台的能力,为整体的效率,稳定性,架构成本提供强大支撑,通过自动化的平台不断的锤炼我们平台的能力,为业务前台持续提供稳定,高效,领先的业务价值;
第三块是资源后台,
作为我们运维服务体系中的后台,向下负责数据中心的选址,负责数据中心风火水电的建设,服务器,网络硬件设备的选型,向上对接业务的需求,做容量规划和管理,以最快的周期提供给业务最具性价比的资源,确保
-数据中心,稳定可靠有保障
-硬件技术的红利能够尽快在阿里云平台得到释放,例如GPU,FPGA等硬件技术
-最小化的站点建设交付周期
-最普惠的计算能力提供给用户
平台架构:
-作为我们运维体系的中台,提供平台的能力,为整体的效率,稳定性,架构成本提供强大支撑
以上形成前、中、后三位一体的保障体系,助力云上客户完成业务连续性和业务价值的保障。
DevOps的实践与思考
07年帕特里克首次提出了DevOps的理念,在过去几年,国内外公司都有一些优秀的实践,阿里云在过去几年也有自己的实践。DevOps是以Dev的视角,通过工程效率去解决整个平台的高效、可靠性问题,同时,以Operation的视角保证整体可运维性和平台的健壮性,阿里云在DevOps的实践有一些初步的成果,在有限的人力下已经具备百万服务器规模的运维能力,同时具备百万用户的业务支撑能力。
每家公司都会有自己的Devops实践,在业务价值最大化的过程中,没有最好,只有更为适合,无论是通过平台的整合,亦或是借助Docker实现的CD全自动化流程。
下面关于Devops的思考,有以下分享:
- DevOps是一种思想,更是一种工程师文化,不是一个简单的目标;
- DevOps是内部的一种协作方式,最大程度的实现业务价值和效率最大化;
- 稳定性是“达摩克利斯之剑”,永远敬畏生产,敬畏用户。