近年来运维技术飞速发展,运维团队大多建设好了各种系统,虚拟化、容器化、持续集成等等。但是如何有效的利用这些系统最终实现站点的高可用、高性能、高可扩展?随着智能化技术的发展,为了解决上述运维领域的问题,智能运维的呼声越来越高。 在日志易产品总监饶琛琳看来,目前国内智能运维发展还处于一个探索阶段,要想尽快在智能运维领域有所突破,首先要主抓好监控系统和告警系统,并利用机器学习算法进行快速监控和排障。饶琛琳,日志易产品总监,曾任新浪微博系统架构师、大数据运维技术专家,从事运维 11 年,精通大规模互联网性能优化,机器数据处理分析,监控和管理平台的部署开发。 这里,就将饶琛琳对智能运维的发展一些早期观点和看法整理出来,和大家一起探讨下运维未来的发展方向。 1对当下国内运维领域现状的看法简单来讲,目前国内运维界在自动化方面已经达到了一定的水平,就现阶段而言,自动化和监控两部分还是有一定距离。例如,你拿到了监控类的报警,可能不清楚立马去做哪一项自动化的部署。如果能把自动化和监控这两部分有机的结合起来,运维的工作会运转的更加顺利。 2移动端和微服务给运维工作带来的挑战在 PC 端的时代,运维的很多工作受限于浏览器,运维人员拿不到用户端真实的数据。这种状况下,大家就会普遍采购一些第三方服务,尝试获取终端数据。而在移动端时期,我们都有自己的 IP,可以把一些采点的逻辑放在自己的 IP 里,然后获取到更准确、更真实的客户数据。相对于挑战来说,这其实是移动端带来的好处。 微服务的出现给运维工作带来一些难题。没有出现微服务之前,运维人员在一台或者两三台机器中就可以完成问题排查。出现微服务之后,这些问题可能拆到了好几十个分布式的地方,各自的输出,甚至启停会很方便,你有可能遇到在找问题的时候混淆的情况。而解决这些麻烦就是需要智能运维。 3在大数据时代,智能运维与数据之间、自动化运维之间有何关系智能运维的理想状态就是把运维工作的三大部分:监控、管理和故障定位,利用一些机器学习算法的方法把它们有机结合起来。 在大数据时代,智能运维是基于大数据之上。目前看来,运维想要把监控、管理和故障定位这三部分有机结合起来,就不可避免的需要用到智能算法,而体现智能算法价值的一点就是:智能算法需要大量的数据去做支撑。 自动化运维这几年处在一个良性发展的状态,包括像 Puppet 这种配置管理的自动化,像 Docker 这种部署的自动化。进一步的发展就是需要把这三部分融合起来。目前能够把这三部分融合起来的办法就是利用人工智能的手段,最后达到一种智能运维的状态。 4智能运维当下的状况及智能运维发展的预测智能运维当下还是一个初步探索的阶段。可以举几个时间数字,我所看到一个和智能运维相关的开源项目是在 2013 年,而我看到的第一个主动出来宣讲和智能运维相关的应该是在 2015 年百度在一个大会上的宣讲。然后大量的出现在宣讲上有关智能运维的应该是在 16 年下半年。而这些宣讲和我的一些宣讲都还是说我们现在有这样的思路,做了一些尝试。而这些尝试的效果还是需要大家去碰撞,看是否还有什么更好的办法,因为我们现在是用普通的机器学习算法,还没有用到像 AlphaGo 的深度神经网络这部分内容。转变为智能运维是一个需要大量投入和学习的过程。 想尽快在智能运维领域有所突破,更实际一点的办法就是主抓好监控系统和告警系统。传统的 IT 运维需要管理大量的告警,极大地分散了企业的注意力,消耗运维人员大量的时间和创新力。想办法能把一天收好几千封告警这种状况,高效地解决,把运维人员从纷繁复杂的告警和噪音中解脱出来。这是一个在众多办法中产生价值的第一步。 现在比较明确的是大家会朝着智能运维方向发展,并且智能运维的发展一定是一个长期演进的过程。 对于智能运维的发展预测,我的简单看法如下: 第一步就是前面所说的,智能运维在告警系统上的价值,; 第二步就是智能地去判断告警,而不是现在靠人力的经验去设定一个阈值。设定告警阈值是一项耗时耗力的工作,需要运维人员在充分了解业务的前提下才能进行,还得考虑业务是不是平稳发展状态,否则一两周改动一次,运维工程师绝对是要发疯的。 第三步是利用一些 NLP(自然语言处理),把故障报告、文本化的语言提炼出来去自动反馈到这个系统里。这一点可能是更遥远的一个设想,但是目前来看会是将来发展的一条道路。
(原创:饶琛琳)
|