中小企业如何作运维自动化

无论大型仍是中小型互联网公司,运维面对最多的工做就是发布部署,近些年各类运维自动化工具也愈来愈多,运维自动化每一个人都有一套本身的理解,那么中小公司通常都怎么作运维自动化呢?前端


咱们先看一下中小企业面临的问题:git

  • 人员有限,小一点的公司专业运维可能没有,开发本身上线,也有可能1-2个运维人员,基本不会投入专门的运维开发来开发运维自动化平台。github

  • 服务器少,可能不超过50台服务器。json

  • 版本更新迭代比较快,须要快速方便的发布回滚。后端


中小企业运维自动化常见作法:浏览器

  • Gitlab+Jenkins,建立Jenkins任务,使用Jenkins登陆服务器执行脚本实现发布,配合服务器多个脚本实现对服务器管理。服务器

  • Gitlab+Jenkins+Ansible,使用Jenkins调用Ansible登陆服务器执行脚本实现代码的发布,平时服务器管理使用Anaible进行服务器管理。微信

  • K8S平台,使用K8s发布平台,打包应用Docker镜像,经过K8s发布到线上。app

  • 使用开源的运维自动化平台发布管理,Github上有不少优秀的开源项目,可使用。运维


虽然能够经过上面的几种方法把发布和常常操做的都实现自动化,可是避免不了登陆服务器操做命令、配置任务计划,修改应用配置文件,配置服务器监控报警等。那么有没有开源平台能够很方便的实现上面说到的这些功能呢?下面就给给你们推荐一款面向中小企业的轻量级开源运维自动化平台:Spug


平台介绍:

Spug,中文名称:麻雀。寓意:麻雀虽小,五脏俱全。

它是面向中小型企业设计的无 Agent的自动化运维平台,功能包含主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、进程端口站点监控、微信钉钉邮件报警等一系列功能。


开源地址:

GitHub仓库:https://github.com/openspug/spug

官网地址:https://spug.dev

演示环境:https://demo.spug.dev(帐号密码:admin/spug)


技术栈:

后端:Python + Django

前端:React + Ant Design


功能特性:

  •  批量执行: 命令能够在线批量执行

  •  在线终端: 主机支持浏览器在线终端登陆

  •  任务计划: 灵活的任务计划,支持间隔执行,一次性执行,Crontab风格执行

  •  发布部署: 支持自动建立应用,支持工单,自定义发布流程

  •  配置中心: 支持KV、文本、Json等格式的配置

  •  监控中心: 支持站点、端口、进程、自定义等监控

  •  报警中心: 支持短信、邮件、钉钉、微信等报警方式

  •  优雅美观: 基于 Ant Design 的UI界面


模块功能介绍:

一、批量执行

批量执行能够同时选择多台主机执行命令,也能够将常常执行的命令保存到模版,选择执行模板里面的命令执行,执行结果实时在界面上返回。

host-exec-2.0.png

二、在线终端

在线终端,能够很方便的经过浏览器在线终端登陆到主机上操做命令。

host-console-2.0.png

三、应用发布部署

应用发布,支持应用自动建立、部署、发布,建立应用只须要输入要部署的应用Git地址,和部署的目标服务器目标目录,定义好发布前、发布中、执行的命令就能够配置好应用的自动化发布部署。应用发布还支持提交工单,工单审核,工单审批经过后自动发布。

app-2.0.png


app-apply-2.0.png


四、任务计划

任务计划,支持间隔执行,一次性执行,Crontab格式执行。

task-2.0.png


task-detail-2.0.png


五、配置中心

配置中心,应用配置支持在线化配置,支持多环境配置,配置格式支持KV,TXT,Json格式的配置


service-conf-2.0.png


service-conf-json-2.0.png


conf-history-2.0.png


六、监控中心

监控中心执行站点监控,进程监控,端口监控,以及自定义脚本监控。

monitor-alarm-2.0.png


monitor-add-2.0.png

七、报警中心

报警支持微信,钉钉,邮件报警,支持配置报警联系人,报警组管理。


八、公众号:

08fea100137eedd24cef4673311091ab.jpeg

若是你感受咱们的项目不错。顺手在Github上点个Star,感谢感谢。