
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
自动化系统随着互联网的不断发展而被越来越多的企业引入,而本文我们就通过案例分析来简单了解一下,软件编程自动化都包含哪些系统功能。
多云系统
多云系统主要是用来统一多云资源实现集中管理,同时基于关联关系来构建资源拓扑,为上层业务提供清晰准确的基础数据。到目前为止已接入国内外十多个主要云厂商下数十种云资源,构建了完整的本地资源数据库
多云系统作为基础资源数据库,最为重要的是要保证数据的准确性,为了达成此目的,我们采用了强依赖模式,上层业务所需要的基础数据全都来自于多云,例如发布系统所需的主机数据从多云获取,构建监控大盘的服务树也来自于多云,日常作业所选择的目标主机属于同样取自于多云,甚至于项目成本计算、资源缩减等等也都依赖于多云的基础数据,一系列的强依赖从侧面保证大家在项目基础资源发生变更时会及时的去更新多云数据
到目前为止多云系统已经集中管理了线上几乎所有的基础数据,各个项目也根据各自的需求构建了自己的服务树,项目资源变动后的更新还依赖项目运维owner来处理,虽然我们有做一些例如过期资源提醒之类的功能,但更新仍不是特别及时,这个后续考虑把资源全生命周期的管理都纳入到多云系统来管理,就能保证项目资源变更后及时同步更新多云数据了
任务系统
任务系统可以将多个命令/脚本/审批/通知等单个子任务整合进一个任务流来执行,支持并发执行,支持用户审批,支持定时和周期任务,开发任务系统的主要目的也是为了将所有项目的发布部署、日常运维等工作都集中到了统一的系统进行管理
任务流的方式非常适合发布/部署流水线,尤其是加入了人工审批以及自动通知功能,可以将发布部署的各个环节都纳入到统一的任务流去管理,这些是其他自动化系统所不具备的,同时这也是在日常运维中符合场景需求的
到目前为止任务上线大半年,已经接入了公司大多数项目,稳定运行了几千个任务,还是非常可靠的,取代了之前的一众CI/CD工具,例如Rundeck/Jenings等,算是站稳了脚跟。原本是希望任务系统能接管日常运维中的绝大部分工作,但是在实际使用中发现一些临时性工作大家还是喜欢登录系统控制台去处理,所以后边又开发了作业系统来优化这一问题
监控系统
监控系统主要用来实现基础资源的监控,同时整合多云资源、云上事件、云上告警等信息,以业务为维度构建可视化的监控大盘和告警大盘,提供资源和业务的可观测性,形成平台化的运维监控能力
监控系统看似只简单的收集整合了云上的监控数据,但实际上意义重大,我单独写过一篇文章来介绍多云监控告警系统的优势,主要包括统一平台,简化操作,优化展示,权限隔离和多云融合,从使用体验上来说完全碾压各个厂商的云监控
监控系统除了监控数据的展示之外,还做了一些扩展功能,例如导出报表,能够直观的看到项目下各服务角色的配置、数量以及一段时间内的监控汇总数据,更为重要的是会同时结合费用账单以月为维度输出资源费用情况,为资源缩减成本控制提供支持。目前来看监控系统已经成了整个自动化运维平台上大家使用最多的工具,甚至看到有些小伙伴上班第一时间就打开监控系统查看过去一天项目资源使用情况,监控大盘已经成了浏览器的常驻页面
作业系统
作业系统作为任务系统的扩展与补充,主要用来实现系统命令或脚本的便捷执行,以轻量和易用为目标,直接触达终端主机并实时获取结果反馈。作业系统深度集成了大家使用最为广泛的自动化工具Ansible,可以方便的批量执行Module或Playbook
作业系统同时与我们的多云系统相融合,选择业务节点即可批量选择主机,通过网关代理打通网域内网,解决网络互通问题,作业操作直达目标主机,实时获取结果反馈,并能随时主动中断作业执行。为了尽量保证作业执行的安全,还引入了危险命令过滤机制,自动过滤危险命令,提升作业安全性,配合完善的审计日志,能够做到操作有记录,过程可追踪
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。