云计算和人工智能的发展不仅改变了普通人日常生活的方式,同时也改变了运维人员的工作模式。智能化运维就是用机器来代替人,在最少的人为干预下保证业务7*24小时的高效稳定运行。2015年被称为是中国互联网智能化运维发展的元年,多家IT大厂相继提出这一思路,并做了一些极具价值的尝试。
2017年10月19日-21日在北京新云南皇冠假日酒店召开的第九届系统架构师大会就洞察到了这一变化,开设了“智能化运维&DevOps”的技术专场,邀请了多家知名企业的技术大咖来和大家分享交流他们的心得。
“DevOps”是最近几年炒得比较火的话题之一,但你真的了解什么是DevOps吗?中国SaltStack用户组发起人赵舜东表示:DevOps绝不是简单的运维开发,也不仅仅是自动化,更不是让开发自己做运维,DevOps强调的是研发、技术运营、质量部门在软件生命周期和服务生命周期的协作,从而来构建一条IT服务供应链,同时也是价值交付链。我们经常提到的敏捷研发,精益管理,持续交付,技术运营都是DevOps的知识体系。
大数据驱动的阿里巴巴国际化基础架构
对于现代人来说,“双十一”不再只是一个普通的日子,也不再只有“光棍节”这层含义,阿里赋予了“双十一”更广为人知的含义——全民购物狂欢节。那在国内购物用淘宝,在国外购物用什么呢?其实淘宝也有海外版本——AliExpress。
AliExpress在全球排名52,如果要在购物App中按下载数量来排名的话,其iOS应用程序在96个国家排在Top 5,Android应用程序在56个国家排在Top 5。本次大会AliExpress技术部架构团队及商家平台团队负责人李彦超(验钞)和我们分享了他们的国际化基础架构。
由于AliExpress面向的是全球化的业务所以其天然的就必须面对长距离访问带来延迟问题,其次AliExpress单日的全球交易量能够达到2000次/秒,并且这个数字还在逐年递增;第三,AliExpress业务没有低谷,提供7*24服务,故障会发生在任何时间。
阿里在全球部署了多个IDC,在淘宝的基础上做到了用户干预,对于用户的访问采取最近原则,在符合政策和合规性的条件下默认性能优先;所有IDC向一个IDC做复制,同时基于合规性做流量路由表,并在所有可能的地方插入路由表,保证全局变更。
基于Kubernetes的持续集成平台建设
相信各位技术人前两天的朋友圈都被“Docker宣布支持Kubernetes”的消息刷屏了,这从侧面证明了Kubernetes正在逐步强大,获得了全球的广泛认可。在“智能化运维&DevOps”技术专场,为胜科技技术总监郭宏泽为我们带来了“基于Kubernetes的持续集成平台建设”的主题演讲。
创业公司往往运维需求变化快,资源相对有限,所以IT基础设施建设要以速度为中心,实现快速响应、降低成本、稳定安全的运维要求。而以DevOps为指导思想,建设一套基于容器的持续集成发布平台就是这些创业公司的首选。
在Kubernetes的使用上郭宏泽也有一些自己的心得,首先Kubernetes每三个月就会发布一个版本,所以大家不要盲目追求最新版本;其次,K8s每个版本将会发布三种功能:Aplpha功能,预览功能,不稳定;Beta功能,测试中的功能,不保证稳定;正式功能,已经经过测试的稳定功能,不保证无BUG;第三,尽可能减少对功能的使用,保持简单;最后,不要轻易升级生产系统。
百度AIOps实践:单机房故障自愈
AIOps是Gartner在2016年提出的概念,其预测到2020年AIOps的采用率将会达到50%。目前国内的IT大厂都有在尝试AIOps,今天百度监控平台技术负责人哈晶晶就为我们分享了百度在AIOps上的实践—单机房故障自愈。
百度运维平台经历了基础运维平台、开放运维平台和智能化运维平台的演变。近年来,我们看到了多起业界单机房故障事件,不仅造成了PV、流水损失,商业赔付,影响用户体验,而且还会给竞品以机会,造成研发成果浪费、用户信任度下降等严重后果。
百度基于AIOps故障自愈的解决思路为:书同文:运维知识库,一致运维“语言”;车同轨:运维开发框架,一致运维“方法”;行同伦:运维策略库,一致运维“模式”。目前,单机房故障自愈已覆盖百度80%的核心业务,止损效率较人工提升60%以上,业务L4故障,服务层能够在2min内完成单机房故障止损。
美团外卖自动化业务运维系统建设
对于现代人来说,外卖绝对是不可或缺的一部分,90后专栏作家李宫俊曾说过“生我者父母,养我者外卖。”虽然天天点外卖,但是你清楚外卖背后的技术支撑吗?本次专场美团外卖业务架构负责人刘宏伟就和我们分享了他们的自动化业务运维系统的建设。
刘宏伟表示:外卖业务后台服务交互复杂,从用户下单à商家接单à骑手接单à发配送à用户收到热乎乎的外卖,我们需要在20多分钟之内完成这一系列流程。而在这背后,整个产品线上还会涉及很多数据分析,统计,结算,合同等各个端的交互,一致性要求高,并发高。
如何将运维人员从繁重的工作中解放出来,应用自动化措施提升业务效率,刘宏伟认为可以从以下方面着手:
前期当用户接收到诊断报警后,直接引导用户进入该报警可能会影响的业务大盘,查看业务图表,如果影响到业务直接进入该业务图表对应的核心链路定位最终的问题根本原因,从而判断是否要触发该核心链路上对应的服务保护开关或预案,以达到快速解决问题的目的。
用户也可以直接通过诊断报警进入对应的核心链路,查看最终的引起异常的根本原因,引导用户判断是否需要触发相应的服务保护预案。
发现问题-诊断问题-解决问题 这个过程每一步都需要不断的提升准确度,通过全链路压测不断的验证这一流程的准确度,当某些场景准确度非常高的时候,可以变为自动化方案。
当整个方案可以自动化进行下去之后, 对于用户来说的使用场景就变成了:收到异常报警à收到业务服务恢复通知。
技术前沿发展:系统自动化调优
上面几位嘉宾和我们分享的都是智能化运维的现在,那么智能化运维的未来应该是什么呢?优调科技技术总监朱妤晴给出了答案——《技术前沿紧张:系统自动化调优》。
为了适应不同应用需求,系统在开发时就暴露了大量与部署、应用场景相关的参数,这些参数与系统性能紧密相关,在调优时需要对系统和应用有资深经验的技术人员来进行。而系统自动化调优就是指将这一过程自动化。
系统调优目前面临的难题是:为了适应更多的部署环境和应用场景,系统参数个数越来越多;为了满足不同的应用负载需求,涉及的系统越来越多;参数设置与系统、应用紧密相关,性能曲线复杂多变。
而系统自动化调优好处多多:仅调整系统参数值,即可使性能最大提升11倍;节省人力开销;减少硬件开销;更公平地测试和比较系统性能;确定系统瓶颈。目前,系统自动化调优的前沿研究成果有两个,一个是卡耐基梅隆大学数据库团队研发的OtterTune,另一个是由中科院计算所先进计算机系统研究中心研发的BestConfig。