阿里巴巴DevOps实践指南(十九)| 监管控一体化运维

简介: 阿里巴巴应用运维监管控一体化的建设随着业务形态和技术架构还在不断地探索和发展,本文主要介绍了应用运维监管控一体化建设的背景和思路。我们以应用为中心,从应用监控管角度出发,通过全视角监控实时掌握应用的运行状态,通过高效发布部署和灵活的运维编排对应用进行安全变更,通过智能化运维和安全防护实现应用的高级防护。

image.png

编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实践指南》,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电子书,了解阿里十年DevOps实践经验。

阿里巴巴的运维体系经历了脚本时代、工具时代和 DevOps 时代,目前正在实现自动化运维并探索智能化运维阶段。在 2008-2009 年,阿里巴巴的运维还处于脚本时代,大量的运维工作需要通过脚本来实现。随着业务规模扩大和复杂度的提高,脚本的方式越来越难以维护,因此阿里巴巴开始引入运维工具。在运维工具时代,阿里巴巴的运维体系经历了:从工具团队和运维团队并行的阶段,到为了更好地保障工具质量统一的工具团队阶段,再到逐渐有 DevOps 思想和职能的偏软件的工具团队阶段。最后,阿里巴巴应用运维团队迎来了一场大变革,以前的应用运维团队全被打散,合并到各业务的软件开发团队中去,全面践行 DevOps 思想。

image.png

进入 DevOps 阶段后,成熟的流程化运维工具虽然提升了一部分运维效率,但是各个工具之间实际是独立割裂的,例如监控工具和运维工具是割裂的,巡检工具和快恢工具也是割裂的,这导致日常应用持续运维过程中,从监控发现、定位并快速恢复问题的链路很长而且低效。对运维开发来说,期望的状态是业务应用上线后可以“No Ops”,监控及运维系统能自行发现异常并自动解决,把应用及业务带回正常状态,处理结束后,发一个消息通知下即可。 朝着“No Ops”方向努力,阿里巴巴应用运维开始了“监管控一体化”的体系建设。

新挑战

随着阿里巴巴业务的持续发展及技术架构地不断演进,新的场景和问题不断出现,这些都给以应用为中心的监控运维带来了新的挑战。

超大规模

阿里巴巴不但拥有众多形态各异的业务,而且体量大,特别是每年天猫双 11 大促,需要超大规模的 IAAS 资源支撑。2015 年之前,阿里巴巴每年都要花费巨额费用来购买服务器,建设一代又一代的 IDC 数据中心;2015 年至 2019 年,阿里巴巴走向全面云化的过程。在这个时期,阿里巴巴的基础设施一部分在云下数据中心,另一部分在阿里云上的数据中心,还需要支持同城多活到异地多活,所以必须要有强大的云上云下一体化超大规模资源管理的能力;2019 年阿里巴巴实现全面云化之后,又开始面对一个新的超大规模资源管理场景:混合云。

运维效率

业务发展瞬息万变,特别是公司的重要业务,迭代变更的速度非常快。在超大规模集群管理的前提下,为了保障业务的连续性和快速迭代,我们需要有能力持续高效地对应用进行发布、部署、变配等运维变更。这也就是 DevOps 的持续运维领域要去解决的问题。

运维安全

安全性是任何行业的基础,在 IT 运维领域更是如此。系统宕机、数据异常、数据丢失、删库跑路等运维故障和事件层出不穷,这可能给企业带来致命的打击,甚至关乎业务的生死存亡。因此,防范和杜绝高危运维故障是 DevOps 一直不懈追求的目标。在当代众多业务形态和云技术架构下,如何保障企业 IT 运维的安全运行至关重要。

业务连续性

在阿里巴巴传统的监控和运维模式下,应用的运维开发需要在监控系统上配置一些监控项和预警规则。当监控项触发预警规则时,运维开发会收到预警通知。紧接着运维开发需要打开电脑,在运维工具平台上创建相应的处理工单。当运维系统工单执行完成后,运维开发要持续观察监控项是否回归正常。若遇到节假日或休假期间接到预警通知,不能及时上线查看情况时还需要联系团队其他同学上线处理;若在半夜睡梦中接到预警通知,需要立马清醒下自己的大脑,打开电脑上线处理。整个预警异常处理过程持续时间较长,并且需要人为参与的工作很多,人力成本大,这使得运维开发的工作幸福感很低。

另一方面,随着业务地不断发展,系统也在不断增加,监控项和预警也急速增多,慢慢地运维开发就会对预警信息变得麻木或轻视,容易错失一些重要的报警信息,进而导致线上业务故障。近年来,淘宝直播、盒马线下门店、饿了么外卖、钉钉在线教育等新业务形态蓬勃发展,这些业务基本上对生产故障都是零容忍,原来系统最佳的 99.99%可用性已经不能满足新业务的要求,而传统的监控、运维各自为战、单打独斗的模式更无法满足新业务 100%业务连续性的要求。

解决思路

为了保证生产业务的连续运行,提高业务系统从异常预警到异常恢复的整体效率,解放人力成本的同时又能确保安全,我们考虑将监控预警和运维执行联动起来,视为一体,从而实现异常自动发现、自动快速定位以及自动快速恢复的目的,达到一种“No Ops”状态的应用运维。

在应用监管控一体化建设之前,传统的监控和运维是分开的状态,运维开发想要在应用迭代变更期间关注系统运行态势,需要事前在监控平台上定义和配置好这些应用所要关注的各项指标。在应用变更期间需要不断主动查看应用监控指标的变化,或者为每个指标设置预警规则,通过订阅接收配置好的监控报警来及时获取应用的运行异常。当应用变更出现异常报警后,运维开发需要看监控、应用日志、应用调用链路等信息分析异常原因,决策需要到运维平台上执行什么任务才能恢复,最后验证任务执行结果是否符合预期。因此,明确需求->配置监控指标和报警->分析异常原因->决策处理方式->执行任务->验证执行结果,整个过程都需要运维开发的介入。

image.png
image.png

解决方案

以保障业务持续性为源动力,在逐步推进监管控一体化建设过程中,阿里巴巴从实战经验沉淀出一套业务系统安全工程标准,实现了业务异常故障提前发现、自动定位、快速恢复地自动联动,在监控、运维、安全防护领域探索出了多样化的解决方案。

安全防护

在推进 DevOps 的过程中,我们要求的底线是不能对既有的现状带来更多不可控的因素,特别是高危场景的防护,不能因为运维工作移交到运维开发人员而造成全局系统性风险,因此安全防护方案孕育而生。

全景监控

监控是运维的基础,传统的资源监控或者应用监控模式已经不能满足运维开发快速发现生产故障的需求。基于阿里的大规模实践,我们发展出了以应用为中心,从上层业务到 PaaS 直至底层资源的全链路监控解决方案,为业务异常发现和定位提供了强有力的支撑。

多样化运维

为了实现监管控一体化,促进业务异常能快速自动恢复,应用运维从原来的单事件执行模式,探索出以应用为中心的可编排运维、智能化运维、ChatOps 等运维模式,打开运维领域新视角。

总结

阿里巴巴应用运维监管控一体化的建设随着业务形态和技术架构还在不断地探索和发展,本文主要介绍了应用运维监管控一体化建设的背景和思路。我们以应用为中心,从应用监控管角度出发,通过全视角监控实时掌握应用的运行状态,通过高效发布部署和灵活的运维编排对应用进行安全变更,通过智能化运维和安全防护实现应用的高级防护,我们将在下面的章节为你详细展开。

免费下载《阿里巴巴DevOps实践指南》

阿里巴巴合伙人和业界多位大佬力荐、何勉、陈鑫等17位阿里资深技术专家联袂出品、阿里十年DevOps经验沉淀总结、阿里巴巴DevOps落地实践一本通。

前往:https://developer.aliyun.com/topic/devops,下载完整版电子书。

image.png

相关文章
|
8天前
|
运维 Devops 持续交付
自动化运维的魔法:打造高效DevOps流水线
【10月更文挑战第34天】在数字化时代的浪潮中,DevOps成为企业追求敏捷、高效和稳定的关键。本文将通过一个真实案例,展示如何构建一个高效的DevOps流水线,实现从代码提交到部署的全自动化流程。我们将探讨流水线设计的哲学、工具选择以及面临的挑战,并分享实际的代码示例和操作步骤,帮助读者理解自动化运维的精髓。
23 2
|
14天前
|
运维 Devops 测试技术
自动化运维的魔法——打造高效的DevOps流程
【10月更文挑战第28天】在数字化浪潮不断推进的今天,企业对运维效率的追求如同古人探索魔法一般充满好奇与渴望。本文将带你走进自动化运维的世界,揭秘如何通过DevOps实践,实现从代码到部署的无缝连接,提升企业的IT运营效能。我们将一起探索自动化工具的选择与配置,以及如何构建一个既能快速响应业务需求,又能保障系统稳定性的高效流程。
|
17天前
|
运维 Prometheus 监控
自动化运维之路:从脚本到DevOps
【10月更文挑战第25天】在数字化时代的浪潮中,运维不再是简单的服务器管理,而是成为了企业竞争力的核心。本文将带你走进自动化运维的世界,探索如何通过技术手段提升效率和稳定性,以及实现快速响应市场的能力。我们将一起学习如何从基础的脚本编写进化到全面的DevOps实践,包括工具的选择、流程的优化以及文化的建设。无论你是运维新手还是资深专家,这篇文章都将为你提供有价值的见解和实用的技巧。
17 3
|
1月前
|
人工智能 运维 Devops
自动化运维之路:从脚本到DevOps的转变
【10月更文挑战第7天】在这篇文章中,我们将一起探索自动化运维的演变历程,从最初的简单脚本到现代的DevOps实践。我们将深入理解自动化如何改变了运维工作的本质,并讨论实现这一转变的关键技术和策略。文章将不包含代码示例,而是聚焦于理念、工具和方法论的介绍,旨在为读者提供一个全面的自动化运维框架视图。
|
1月前
|
运维 监控 Devops
自动化运维的魔法:打造高效DevOps流水线
【10月更文挑战第6天】 在现代软件开发的快节奏中,自动化运维成为提高效率、保障质量的重要手段。本文将带你了解如何构建高效的DevOps流水线,从持续集成到部署,再到监控和反馈,我们将一步步揭开自动化运维的神秘面纱。你将学习到如何通过代码和工具的结合,实现软件交付过程的自动化,以及如何通过这一流程提升团队的协作和响应速度。让我们开始探索自动化运维的奇妙之旅吧!
|
1月前
|
运维 Devops jenkins
自动化运维之路:从脚本到DevOps
【9月更文挑战第31天】在数字化时代的浪潮中,运维不再是单纯的系统维护,而是企业竞争力的加速器。本文将带你领略自动化运维的演变历程,从最初的脚本编写到现代DevOps实践的转变,揭示如何通过持续集成和持续交付(CI/CD)实现运维的高效与创新。我们将一起探索工具的选择、流程的优化以及文化的培养,让运维工作变得既简单又强大。
|
2月前
|
运维 Devops 大数据
自动化运维之路:从脚本到DevOps的转变
【9月更文挑战第24天】在数字化时代的浪潮中,企业对运维的要求越来越高。本文将探讨如何通过自动化工具和DevOps文化,提升运维效率,确保系统的稳定性和安全性。我们将一起走进自动化运维的世界,了解其背后的理念和技术实现,以及它如何改变我们的工作方式。
49 2
|
2月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
194 3
|
2月前
|
运维 Devops jenkins
自动化运维之路:从脚本到DevOps
【9月更文挑战第11天】随着技术的快速发展,传统的手动运维方式已无法满足现代企业的需求。本文将引导你了解如何通过自动化工具和DevOps实践来提升运维效率,确保系统的高可用性和快速迭代。我们将从基础的脚本编写出发,逐步深入到DevOps的核心理念和实践,让你的运维工作变得更加高效和可靠。
|
2月前
|
运维 Devops jenkins
自动化运维:打造高效DevOps流水线
【8月更文挑战第44天】本文将通过深入浅出的方式,带你构建一个自动化的DevOps流水线,提升开发和部署效率。从基础概念到实际操作,我们一步步剖析如何实现代码提交、自动测试、构建、部署的全过程自动化。你将学会使用Jenkins、Git、Docker等工具,并结合Shell脚本编写,完成一个完整的自动化流程。文章末尾附有完整的示例代码,助你快速上手实践。