用户您好!请先登录!

智能运维那点事(1)

智能运维那点事(1)

矛盾是事物发展的源泉和动力。运维中的矛盾无处不在,既有来自业务与技术的矛盾,也有来自开发和运维的矛盾,还有来自数据中心内部的矛盾,解决这些矛盾只能靠发展。

一、安全生产

数据中心的主要职责是安全生产,围绕着安全生产有三个目标:

  1. 高可用架构:高可用的IT基础设施可以确保应用系统的可用性与连续性,包括:应用集群、系统热迁、数据库集群、存储复制、物理备份等。
  2. 高效运维:围绕着高可用架构,进行一些列高效运维工作,包括:资源供给、应用部署、日常变更、故障处理、数据治理等。
  3. 节约成本:在满足高可用和高效的前提下,尽量节约成本,包括资源优化、性能优化、以及减少成本不敏感的资源浪费。

二、高效运维

主要涉及如下四个方面工作:

  1. 资源供给:之前是针对每次资源申请,运维人员都得把机器上架、系统安装、存储配置、网络配置等一系列流程跑一遍,涉及各个专业的人工协同,小企业人少,一个两个人搞定一切,大企业专业分工明确,这些工作需要多人协同,效率无法保证。现在是通过云计算来提升效率,主要是池化和自动化,池化是指提前准备一批资源,避免每申请一次就得准备一次,自动化是指通过自动化的流程去串接各个专业条线,避免沟通成本和低效的手工操作,提高了效率和人员安全。
  2. 应用部署:之前是开发完交付给测试、测试完组织投产、投产完开展运维,不同阶段的人员相互割裂,应用发布部署效率低。现在通过DevOps提高效率,DevOps强调持续CI/CD,通过CI实现开发到测试的持续集成测试,通过CD实现开发到运维的持续系统部署,通过CD实现技术到业务的持续价值交付。
  3. 变更管理:之前是人工配合一些工具脚本,无系统化思维能力,往往只见树木不见森林。现在是通过云提升系统外变更效率,通过自动化工具(例如Puppet和Ansible)提高系统内变更效率。
  4. 故障处理:之前是接到监控告警,各专业分析根源,执行应急预案,但是存在很多问题,例如:缺乏故障预测、误报漏报、分析慢、无法自愈。现在是通过AIOps解决,实现故障预测、故障检测、根因分析、故障自愈,尽量减少人工参与。

、智能运维(AIOps)

IT运维经历了三个阶段,即人工运维、自动化运维、智能运维(AIOps)。人工运维是指人工配合脚本。自动化运维是指系统工具的自动化,决策在人,执行在机器。智能化运维是指决策的自动化,决策在机器,执行也在机器。决策在于推理,推理依赖于规则,现阶段,规则是可编程的称为自动化,规则是可学习的称为智能化。

  1. AIOps定义:AIOps是指基于已有的运维数据(访问关系、监控告警、日志),采用数据分析和机器学习方法,提高运维决策能力,解决自动化运维无法解决的问题,进一步提高运维效率。AIOps的价值不仅在于提供智能运维决策,也在于实施过程中,对已有的基础架构、应用关系、监控告警、日志数据等进行梳理,实现真正的精细化运维。当然,AI算法的局限性、场景的多样性、数据的复杂性,决定了AIOps是人力密集性、过程的曲折性,也决定了AIOps不能解决全部问题,需要人机协同和知识图谱,才能发挥AIOps最大价值。
  2. 数字化运维:信息化是把手工流程变成线上流程,数字化是把物理对象抽象为数字对象,通过大数据分析和机器学习算法挖掘数据的价值。大数据主要通过大量多样数据的分析,挖掘数据的价值,会使用到一些机器学习算法,机器学习主要强调决策的自动化,依赖的基础也是数据,可以说,大数据分析基础,AI是目标态。AIOps是运维数字化的直接体现。
  3. AIOps场景:一是质量方向,主要是异常处理,包括异常预测、异常检测、根因分析、故障自愈等。二是效率方向:主要是预测,包括批量预测、容量预测、交易量预测等。三是成本方向,包括资源优化、性能优化等。
  4. 算法为尊:现阶段的AI得以发展,得益于算力、算法、数据的共同改良,算力是通用的,场景决定数据,数据决定算法。往往不同的场景有不同的数据,即使同一个场景的不同环境也有不同数据,这就决定了数据的适配性、算法的多样性。
    • AI算法:机器学习算法,按标注可以分为监督、非监督、半监督、强化;按用途可分为分类、聚类、回归、降维;按照方法可分为统计学、传统机器学习、深度学习等。其中,统计学(例如:正太分布、均衡分布)要求数据必须满足某种分布,在异常检测领域用的多,包括运维领域的故障处理、金融领域的反欺诈、工业领域的残次品检测。传统机器学习(例如:kmeans、随机森林、支持向向量机、贝叶斯、决策树、马尔可夫等),虽然对数据要求弱一些,但对场景依赖强,即使是同一个场景的不同环境,也需要不同模型,在数据分析领域用的比较多。深度学习(深层神经网络,例如:CNN、RNN)对数据要求高,因为更多的数据才能训练出更深的神经网络,更深的神经网络抽象表达能力更好,也就决定了场景适应能力越强,主要是用在图像技术、语音技术、自然语言处理三个通用技术领域。
    • AIOps算法:做异常处理时,主要是概率分布和聚类,分类比较少,因为GT少。做预测时,可以是多维的线性回归模型,线性回归简单,但鲁棒性差;也可以是基于深度学习的非线性模型,一则对数据要求高,二则需要监督学习;还可以是传统的贝叶斯模型,但预测效果一般。
  5. 方案为王:学术界研究通用问题,寻找更优的算法,工业界除了需要解决通用问题,还需要解决更多的个性化问题。甲方和乙方经常不在一个频道上,乙方主打算法和产品,甲方确需要解决方案,解决应用场景中的痛点,这中间需要乙方设立解决方案部门,熟悉甲方各种套路。算法的价值在于解决问题,在算法、产品、解决方案、应用场景、产生价值整个周期中,算法仅仅是个开始,研究新算法,解决通用问题,固然很重要,利用已有算法,解决个性化问题,给出完整解决方案,才是关键。
  6. 非零基构建:AIOps是在现有基础架构之上构建的智慧大脑,依赖于现有的眼(应用访问关系、监控告警、日志)和手(云和自动化工具)。眼数据主要有:应用访问关系,基础架构成熟的企业,积累了应用访问关系,不成熟的企业,需要借助AIOps进行梳理;监控数据,包括设备监控数据、网络监控数据、系统监控数据、平台监控数据、应用监控数据、业务指标监控数据,这些都是结构化的时序数据;日志数据,非结构化的数据,每个系统都有自己的日志数据,不便于统一分析。手主要分为外手和内手,外手主要是在系统在外侧操作,可以通过云平台(IAAS和PAAS)实现,内手主要通过自动化工具实现,例如无代理的Ansible和有代理的Puppet。AIOps就是基于现有的眼数据,进行分析、推理、决策,然后使用现有的手进行运维。

四、监管之剑

监管要求的安稳态是把双刃剑,一方面确保了业务的安全稳定运行,另一方面却阻碍了技术创新。以金融行业为例,强调严管控,严格遵守ITIL标准流程(发布管理、配置管理、变更管理、问题管理、事件管理),追求安稳态。然而,技术创新,无论是云计算、还是DevOps、还是AIOps,都在追求敏捷态,这往往挑战了监管要求。在监管面前,一切违反监管要求的做法都是一票否决。我们可以在现有的监管框架内寻求折中,例如,在严格遵守ITIL的严管控流程的同时,把人工流程全部优化为自动化流程,但这会偏离技术创新的原有初衷。解铃还须系铃人,监管需要为技术创新改变。

五、结束语

真理都是简洁的,但发现真理的过程往往是且复杂且曲折,这也是AI的魅力所在,我们相信,在学术界和工业界的共同努力下,AIOps终将展现出真理的一面。

X-Eyes Admin
X-Eyes Admin

要发表评论,您必须先登录