如何从零搭建一个自动化运维体系
AI-Ops
智能运维(AI-Ops)
通过AI技术来改善运维团队的工作方式

AI的两个>寄义/p>
使用现代人工智能在实现IT运维自动化
最早的叫法
Algorithmic IT
使用自动化和规则来执行IT运维
AI-Ops并不是一个全新的理念,而是IT运营分析和管理(ITOA/ITOM)体系与大数据和人工智能技术结合的产物。AI-Ops智能运维以ITOA/ITOM系统所采集的运维大数据为基础,利用人工智能和机器学习算法对运维数据进行深入分析,涵盖IT监控,应用性能管理、外网监控、日志分析,系统安全等方面。
根据艾瑞咨询、Gartner等机构的数据显示,中国企业IT运维已是千亿级市场,2016年为5231.8亿元的市场规模,并且以16%的复合年均增长率高速增长,预计到2020年,将达到9463.9亿元的市场规模。
在企业IT运维的发展过程中,存在着IT运维难度大幅提高,成本急剧上升的现状,相关调查显示,90%使用混合云的企业,81%使用多云的企业均遇到以上问题。在部署上,系统部署慢,项目启动晚;在迁移时,系统复杂,云迁移难;在运维中,管理工具多,统一难,使得IT运维效率较低。而人员的流动性高,运维经验缺乏;业务开展中,系统的不稳定性,拓展受阻;以及运维不当,信息安全隐患多等问题,造成了成本的居高不下。
在这样的发展背景下,高效率、低成本的AIOps无疑将是企业IT运维刚需所在。据Gartner等报告宣称,到2020年,近50%的企业将在他们的业务和IT运维方面采用AIOps,远高于2017年的5%。
当系统越来越多,越来越复杂
最终导致警报、故障排除、管理更困难
故障诊断和修复工作
需要花费数个小时、数天甚至数周
这么多问题该如何解决?
几秒钟就能搞定工作难题该如何实现?
AI-Ops孕育而生
✨
提供了哪些技术亮点?
带来了哪些价值?
解决了哪些技术问题?
关键>技能/p>
01
人工智能(AI)——使用深度学习神经网络等人工智能技术来充分理解不同系统之间发生时间的方式和原因。使用专家规则系统和推理引擎作为自动化故障排除和自动修复的一部分。
02
机器学习(ML)——使用先进的数学技术分析、预测、警报和建模各种系统,服务器、服务、日志、警报等等。
03
大数据(BD)——一切都基于大数据,数十万个数据点位于500,000个不同的指标(每个服务器和服务数百个数据点)上。
关键>代价/p>
1.加分项:告警
更多、更快的警报,减少重复、错误警报
2.加分项:登录
更好地分析,更方便地发现与解决>题目/p>
3.加分项:系统性能
优化系统性,解决效率不高的服务
4.减分项:排查时间
更多系统自动修复与更快的备份
5.减分项:更少的>职员/p>
更少的人员与资源>本钱/p>
6.减分项:成本控制
自动化减少人员工作量
解决>题目/p>
异常检测
高级警报以更快的速度查找实际>题目/p>
事件管理
将警报组合成事件,删除重复虚假数据
登录分析
更强大的自动化运维、排查支持
专业排查
更快的问题>办理/p>
深度分析
运营机器学习,人工智能,数据指标、模型,进行深度学习
自动修复
基于人工智能,自动修复>题目/p>
动态建模
基于机器学习,更好地理解关系及超载失败
关系分析
基于机器学习,更好地理解关系及超载失败
整理/夏立成 上海蓝盟创始人,IT外包服务专家,复旦校友创新创业俱乐部副会长,专注创业、运动和公益。
什么是自动化运维
从名字上看,自动化运维就是把那些传统上需要人来手工操作进行维护的操作自动化。通过脚本可以自动实现。这东西也并不是什么新鲜的。只是以前大家都用Shell写脚本,现在有那么几个好用的通用工具了。
日常情况下纯手工的运维几乎没有。因为没有突发状况一般每天就是机械化的重复那几件事情,早就写成脚本来自动干了。尤其是现在有一些很大的系统。比如大型集群,不要说上百上千个节点。就是二十个节点两台交换机你要我用手工一台一台配置过来我也是不干的。
说到工具,05年诞生的puppet应该是目前自动运维里被人接受最多的东西了。尤其是openstack用了它之后。这东西的好处就是它自己是个客户端/服务器的结构。puppet master上存着所有的配置给下面的节点下发,有什么需要改的在master上修改好直接apply,下面节点就全改好了。不过这种好用的东西似乎在国内普及度不高。国内的自动化运维看起来比较粗放。开源工具用的少,自己造的轮子多。但是这不是说国内自动化运维普及不够好。k8s自动化部署和运维实现方法
K8s自动化部署和运维的实现方法主要包括以下几个方面:
自动化部署:使用Kubernetes提供的自动化部署工具,如Helm Chart,将应用程序和依赖关系打包到一个单独的Chart中。这使得你可以轻松地部署和管理应用程序,并且可以将应用程序部署到多个环境中,例如测试、开发和生产环境。
自动化扩容:使用Kubernetes提供的自动扩缩容服务,根据应用程序的负载情况动态增减应用程序实例的数量,以实现自动化的运维。
自动化监控:使用Kubernetes提供的监控工具,如Prometheus和Grafana,对应用程序进行实时监控,及时发现和解决问题。
自动化日志收集:使用Kubernetes提供的日志收集工具,如ELK Stack(Elasticsearch、Logstash和Kibana),对应用程序的日志进行实时收集和分析,以帮助发现和解决问题。
自动化故障处理:使用Kubernetes提供的自动故障处理机制,如Pod的自动重启、自动迁移等,对故障进行自动处理,以减少人工干预和运维成本。
总之,K8s自动化部署和运维的实现需要结合实际情况和需求,选择合适的工具和方法,并进行不断的优化和改进。
什么是自动化运维
从名字上看,自动化运维就是把那些传统上需要人来手工操作进行维护的操作自动化。通过脚本可以自动实现。这东西也并不是什么新鲜的。只是以前大家都用Shell写脚本,现在有那么几个好用的通用工具了。
日常情况下纯手工的运维几乎没有。因为没有突发状况一般每天就是机械化的重复那几件事情,早就写成脚本来自动干了。尤其是现在有一些很大的系统。比如大型集群,不要说上百上千个节点。就是二十个节点两台交换机你要我用手工一台一台配置过来我也是不干的。
说到工具,05年诞生的puppet应该是目前自动运维里被人接受最多的东西了。尤其是openstack用了它之后。这东西的好处就是它自己是个客户端/服务器的结构。puppet master上存着所有的配置给下面的节点下发,有什么需要改的在master上修改好直接apply,下面节点就全改好了。不过这种好用的东西似乎在国内普及度不高。国内的自动化运维看起来比较粗放。开源工具用的少,自己造的轮子多。但是这不是说国内自动化运维普及不够好。到此,大家对网络自动化运维的解答时否满意,希望网络自动化运维的4解答对大家有用,如内容不符合请联系小编修改。