一种自动化运维架构的概述

前言

自动化运维架构,是一种综合了管理机制、权限划分、软件和人员支持的综合架构。在建设和优化的过程中,需要设计人员不断根据产品现状进行调整。这篇文章主要从 测试环境、造数规范、运维入口、服务器和软件规范、网络隔离级别 几个方面入手,阐述实用的运维架构的编制方法。

目录

  • 什么是自动化运维
  • 运维入口的一致性
  • 入口一致性之测试篇
  • 入口一致性之人员篇
  • 入口一致性之服务器篇
  • 入口一致性之软件配置篇
  • 入口一致性之网络篇

这里的自动化运维,主要是应用上线后的  测试环境管理 / 应用更新 / 监测机制 。读者可以参照这些机制,按照现有或将来的技术发展、选择适合自己的软件和设备来实现架构。

当然,自动化是运维发展到一定程度(注意:不是一定规模)的自然需要。在此之前,运维入口的一致性(如:统一抽取日志 / 统一监控等软件的安装位置 / 统一系统用户权限等)、服务器规范和软件规范的一致性必须得到保证。下面就笔者掌握的经验来谈谈。

首先从测试环境管理机制讲起。测试环境与生产环境相比,除了代码的差异外、还有系统数据的差异。而两种环境之间,应该共享一套用户认证机制(如采用相同版本的 CAS 、 LDAP 等统一访问协议)和网络划分 / 权限管理方法。此外,数据库安装位置和参数设置也应尽量和生产环境对齐、以便复现问题和减少排查工作。

服务器数据库涉外文件服务器 / CDN
认证方式建议与生产一致建议与生产一致建议与生产一致
账号规范建议与生产一致建议与生产一致建议与生产一致
部署方式(DevOps 、 Yum 安装、NPM 安装等)建议与生产一致建议与生产一致
请求网关(Nginx 、Httpd等)
安装位置建议与生产一致建议与生产一致
日志采集建议与生产一致建议与生产一致建议与生产一致
应用数据规范需要区分需要区分
网络权限建议与生产一致建议与生产一致

如上表所示,空白的部分建议按需考虑。测试环境不是简单复制了生产环境,有一些部分还需要进行调整、因为测试环境是针对设计场景和生产问题而服务的。测试环境非必要不引进生产的数据。一般在涉及基础软件(如应用框架版本 / 服务器操作系统 / 数据库版本变更)的修改时,才需要引进生产环境的真实数据。

与真实数据相对,我们需要测试环境的造数规范。测试环境应该有一套完整的用户、物料、组织单元、系统权限名称(等)的命名规则。如所有测试用户都以 “测” 开头,且名字应该随机生成。各测试系统间的接口 / 直联数据库等应该实现自动生成;避免开发和测试人员在不同系统间,重复录入测试信息。

业务流程所需集成环境单据生成其他
生产可以按各自规范集成可以按需使用模板或手工生成
测试需要一键集成、节省测试时间建议按业务场景预制模板后,用模板生成

接下来,我们具体谈运维入口的一致性。业务系统各模块应该有对应的责任人(Owner),对系统的原始数据拥有使用权。如果该模块使用了其他模块的数据,则按原始数据的模块 Owner 一同会签管理。当需要进行运维,应当由各模块的 Owner 以书面形式提交到工作台。工作台在明确需求后,如需要开通访问权限,则通过脚本在目标机器生成临时账号,使用后及时删除该账号。如需进入超级用户操作应用,则需工作台人员输入账号密码、并全程在工作台人员陪同下操作。

还有服务器规范。服务器安装应该按应用机、数据库机、堡垒机(集群)进行网段划分。特别是数据库和应用服务器,单体应用通常采用数据库和应用在相邻 IP 地址部署(好朋友天天见?)。而且堡垒机应该设置对应的令牌、限制单次访问的会话长度。

还有软件规范。软件安装应采用统一的目录。如 Windows 机器可以专门安装在非系统盘的某个固定位置、Linux 机器可以在 /etc 等位置统一安排、保证需要访问的软件之间互通目录权限。并且,需要分开安装目录和备份目录。备份规则可以是 【软件名字】+【备份时间】+【 生产/  测试 / 开发】。这里的目录和软件权限,可以和各生产 / 测试环境的账号权限管理结合起来。下面举例说明一些用户名字和访问权限的关系。同一个用户(主账号)可以绑定多个下面的权限账号。且当主账号所属人员离职和调动后、原有权限账号可以统一停用;或按下面规则转移一个或多个权限账号给交接的主账号。

名字权限使用范围
zhangsan_prd_guest常规权限,访问管理员以外的目录;可以用作文件传输、数据处理等。生产环境
lisi_dev_dataquery数据库权限,专门访问数据库查询;建议只能访问数据库所在目录。开发环境
wangwu_uat_datamaster数据库权限,包含创建表和删除表的权限;建议只能访问数据库所在目录。测试验收环境
gongliu_prd_admin可以访问 linux 的 /home 目录或 windows 系统盘,具有完全操作权限。生产环境
zhaoqi_dev_appadmin可以访问配置好的 http 服务器(IIS / nginx / tomcat / Webshpere 等)目录,具有启动和停止应用的权限。适合进行日志调取、故障排查等场合。开发环境

还有补充网络隔离级别的规范。

总结

以上是对于自动化运维架构的一些想法和编制思路,希望能帮到大家。

(完)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值