自动化运维是指将日常运维中大量的重复性工作,小到简单的日常检查、配置变更和软件安装,大到整个变更流程的组织调度,由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的运维。在上百台服务器及多种业务架构中,自动化运维尤为重要,成为运维岗位主要核心竞争力!
刚加入一个公司,维护几十台云主机,部署几套SpringCloud微服务项目,目前发布还处于半自动化状态,开发自己出包,运维去上线,每次升级都需要花费好几个小时。平时的工作60%是项目部署、上线及技术支持,40%是处理问题及其他琐碎的事。面对这么多问题,我就想啊,如何在低成本情况下实现自动化运维,一步步向大厂的目标演进呢?
根据几天的揣摩,实施大致分为以下步骤:
- 使用Ansible批量管理机器、配置、部署等,一切运维工作尽可能自动化完成;
- 使用Gitlab作为项目代码版本管理系统;
- 使用Jenkins Pipline构建微服务发布平台,实现自动编译打包、结合Ansible实现项目升级,流水线式管理应用生命周期;
- 监控的重要性不言而喻,也是第一时间要做的,采用新型监控系统Prometheus+Grafana;
- 最后将所有微服务日志采集,分析出有用的数据,并且有利于故障排查及问题追溯。想要有能力完成这套运维自动化体系,只会一些基本的安装和使用是不够的,需要掌握涉及技术的核心知识,并且能够高效的将他们集成在一起,才能发挥其最大作用。毕竟,自动化运维是DevOps的必经之路,虽然门槛有点高,但薪资却不错,运维工作3年左右,薪资基本20k起步。



