技术学习分享_一航技术 技术资讯 从一个工程师成长看自动化运维的过程

从一个工程师成长看自动化运维的过程

广告位

自动化虽然涉及的应用领域很多,但其中存在一般的发展过程。下面以云计算领域的自动化运维场景为例,对自动化的一般发展过程进行讲解。

十多年前,M工程师还是一名刚毕业的计算机专业的学生,和其他同学大多选择研发岗位一样,M工程师刚开始从事的是Java编程,后来因为项目需要,M工程师被转岗到运维岗位,从此开始了自己10多年的运维之路。

1、第一阶段:无序阶段

M工程师是初入职场的初级运维工程师,刚开始公司业务规模小,只有几台服务器,每天的工作就是装机及安装各类基础软件,如MySQL、Redis、JDK等。由于M工程师没有工作经验,也缺少前辈指导,每次操作时M工程师都是从百度上查一些安装手册,然后一步步照着去做。刚开始虽然磕磕绊绊,但每次完成任务后,M工程师觉得自己又掌握了新的技术,很有成就感。但是时间一长,M工程师觉得每天做的事情都是重复性工作,更头痛的是当初安装的各类软件缺乏一致性,各类问题的出现让M工程师焦头烂额。

2、第二阶段:标准化阶段

有了一些实践经验后,为了避免重复犯错,M工程师开始将安装方法整理成标准化文档,放到公司的文档库,这样既能节省搜索时间,也能保证安装软件的一致性。这些事情虽然简单,但是极大地节省了时间,M工程师遇到的软件安装问题也越来越少。

具体来说,M工程师做了如下几件事,让运维工作进入了标准化阶段。

  • 设备选型标准化:什么应用场景选择什么样的服务器。
  • 操作系统安装标准化:版本、内核参数、文件目录、用户属主。
  • 软件安装标准化:版本、配置参数、目录、端口全部标准化。
3、第三阶段:自动化阶段

M工程师所在的公司业务发展很快,服务器数量很快增长到上千台,每周交付的机器也有几十台,M工程师的团队也有了其他新同事,在交付工作上,也有了标准流程文档(SOP)。

但是,即使有了标准流程文档,大量的重复工作不但耗费人力,而且工作中的误操作仍然时有发生,难以保证完全一致。在执行中的标准化方法遇到了规模性困难,这时开始考虑落实自动化运维。

具体来说,M工程师做了如下事情,使得运维工作由标准化提升到自动化阶段,解决了工作效率和一致性的问题。

  • 调研业内开源的自动化工具,如PXE、SaltStack、Kubernetes等。
  • 将标准化的内容由文档修改为程序。
  • 根据不同的场景使用不同的自动化工具和方案。
4、第四阶段:平台化(智能化)阶段

时间飞快,10年的时间,M工程师从初级运维工程师成长为了公司的运维负责人,所运维的服务器有数千台,业务数十个。相对业内同行,M工程师在运维自动化方面也取得了比较好的成果:业务的增长并没有带来同比例的人员增长,SLA也能达到99.9%。

随着公司的成长,运维也是朝着技术运营的方向前进,更多的接入业务层的支持。在自动化方面,目前运维自动化的场景是针对具体运维问题的,而不是面向业务需要。例如A业务上线,需要部署以下服务,其中:

  • 数据库上需要10台服务器部署MySQL,分别是主—从各5台。
  • 缓存使用Redis,部署Codis 3.2共4台服务器。
  • 应用服务以Docker方式交付,用Kubernetes管理,共8台服务器。

按照目前的做法,每一步都需要运维工程师通过自动化工具实现。如果能交付给一个自动化平台,在Web系统中输入需求,后台资源池自动调度分配,分配完成后输出结果反馈给运维工程师就可以了。同时,随着业务的发展,根据性能监控曲线能自动实施业务的自动扩容缩容。

此时M工程师所思考的,已经是平台化(智能化)的方案了,这是当前运维领域最为前沿的AIOps所考虑的内容之一。

本文来自网络,不代表技术学习分享_一航技术立场,转载请注明出处。

作者: 一航技术

上一篇
下一篇
广告位

发表回复

返回顶部