rpyc- 一个 Python 实现的 RPC 和分布式计算的工具。支持同步和异步操作、回调等;
saltstack 、 ansible 、 func - 基本 Python 开发的自动化配置管理与流程控制组件;
Mysql- 是一个非常流行的关系型数据库管理系统。
1、 OMServer 架构图
大家对这个架构应该不会感到陌生,三层结构也是目前主流的运营平台架构。
2、 架构说明
OMServer 平台为三层架构,分别为 WEB 交互层、分布式计算层、集群管理服务层。
1) 、第一层:即为 WEB 交互层,典型的 B/S 架构,以供管理员操作的交互平台,也是 OMServer 的核心,基于 Django 开发;
2) 、第二层:分布式计算层,提供与主控端的连接通道,采用的是 rpyc 传输协议,协议操作流程:前端模块参数 ->加密传输 ->任务执行 ->返回结果集 ->解密输出。
3) 、第三层:集群管理服务层,整合 Python 主流的远程操作组件(支持 Saltstack 、 Anaible、 Func ),对被控端(业务服务器集群)进行管理,其中主控端可以根据不同 IDC 环境,采用多地多点的管理方式,可提升冗余度及执行效率。主控端操作模块以不同 Python 文件加以区分,便于维护,可灵活定制操作逻辑及横向扩展等特点。
随着技术的进步、业务需求的快速增长,一个运维人员通常要管理上百、上千台服务器,运维工作也变的重复、繁杂。把运维工作自动化,能够把运维人员从服务器的管理中解放出来,让运维工作变得简单、快速、准确;运维自动化是一组将静态的设备结构转化为根据IT服务需求动态弹性响应的策略,目的就是实现IT运维的质量,降低成本。
相关推荐:《Python入门教程》
运维自动化设计思想:
管理体系化
工作流程化
人员专业化
任务自动化
任务自动化
环境定义自动化
部署自动化
监控自动化
为什么选python做自动化运维
自动化运维关心问题:
自动化
易实现
跨平台
轻量级
适合自动化运维编程语言特点:
丰富的第三方库
学习成本低
跨平台
轻量级