从零打造B/S 自动化运维平台 (一、自动化运维平台的应用及业务流程)-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

从零打造B/S 自动化运维平台 (一、自动化运维平台的应用及业务流程)

简介:
  1. 
    

    背景以及需求:

      随着企业业务的不断发展,运营方面,如何保障业务的高可用及服务质量?很多企业处于“半自动化”状态,一但出现故障,技术部人员都会加入“救火”的行列,不仅浪费人力物力,而且使业务出现一段“停运时间”,给公司造成一定的损失。


    解决方案:

      如果要解决以上问题,就需要构建一个高效的运营模式。

      要构建一个高效的运营系统,可以从以下几方面放手:

        1)制定符合企业特点的 IT 制度

        2)流程规范

        3)质量与成本管理

        4)运营效率建设


    接下来我们就开始从零开始打造一个易用,扩展性强,安全,高效的自动化运维平台,来提高运营人员的工作效率


    本平台的功能介绍:

      1. 实现一个集中式的 Linux 集群管理基础平台,并提供模块扩展的支持,可以实现随意添加集群操作任务模块

      2. 服务器端模块支持前端 HTML 表单参数动态定制,可灵活实现日常运维远程操作,文件分发等任务

      3. 安全方面采用加密(RC4 加密算法)指令传输,操作日志记录,分离 Web Server 与主控设备等

      4. 效率方面,管理员只需选择操作目标对象及操作模块,即可完成一个现网变更任务

      5. 在用户体验方面,采用前端异步请求,模拟 linux 终端效果接收返回串

      6. 可以根据需求对此平台进行扩展


    系统架构设计:(采用三层设计模式)


    第一层为 Web 交互层:

      采用 Django + prototype.js + MySQL 实现,服务器端使用 Nginx + uwsgi 构建高效的 Web 服务

    第二层为分布式计算层

      采用 rpyc 分布式计算框架实现 , 作为第一层与第三层数据交互及实现主控端物理分离,提高安全性,同时具备第三层的多机服务的能力

    第三层为集群主控端服务层

      支持 Saltstack, Ansible, Func 等平台


    整个系统实现的业务流程:

      管理员向平台所在的Web服务器发起 HTTP 请求,平台接收到 HTTP POST 请求的数据,采用 RC4+b64decode + 密钥Key进行加密,再作为 rpyc 客户端向 rpyc 服务器发送加密指令串,rpyc 服务器也同时是 Saltstack, Ansible, Func 等主控端,

      主控端将接收到的数据通过“RC4+b64decode+密钥”进行解密,解析成平台调用的任务模块,结合 Saltstack, Ansible或 Func 向目标业务服务器集群发送执行任务,执行完毕后,将返回的结果加密处理,最后逐级返回给系统管理员,整个任务模块分发执行流程结束 

    本文转自 tianshuai369 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/1980463

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章