一种自动化运维架构的概述
前言
自动化运维架构,是一种综合了管理机制、权限划分、软件和人员支持的综合架构。在建设和优化的过程中,需要设计人员不断根据产品现状进行调整。这篇文章主要从 测试环境、造数规范、运维入口、服务器和软件规范、网络隔离级别 几个方面入手,阐述实用的运维架构的编制方法。
目录
- 什么是自动化运维
- 运维入口的一致性
- 入口一致性之测试篇
- 入口一致性之人员篇
- 入口一致性之服务器篇
- 入口一致性之软件配置篇
- 入口一致性之网络篇
这里的自动化运维,主要是应用上线后的 测试环境管理 / 应用更新 / 监测机制 。读者可以参照这些机制,按照现有或将来的技术发展、选择适合自己的软件和设备来实现架构。
当然,自动化是运维发展到一定程度(注意:不是一定规模)的自然需要。在此之前,运维入口的一致性(如:统一抽取日志 / 统一监控等软件的安装位置 / 统一系统用户权限等)、服务器规范和软件规范的一致性必须得到保证。下面就笔者掌握的经验来谈谈。
首先从测试环境管理机制讲起。测试环境与生产环境相比,除了代码的差异外、还有系统数据的差异。而两种环境之间,应该共享一套用户认证机制(如采用相同版本的 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 等)目录,具有启动和停止应用的权限。适合进行日志调取、故障排查等场合。 | 开发环境 |
还有补充网络隔离级别的规范。
总结
以上是对于自动化运维架构的一些想法和编制思路,希望能帮到大家。
(完)
一种自动化运维架构的概述相关推荐
- Python自动化运维之Linux概述和虚拟机安装使用终极指南
一.Linux概述 1.Linux含义 狭义Linux:由Linus Torvalds开发的Linux内核代码 广义Linux:由Linux厂商基于Linux内核开发的Linux发行版操作系统 2.U ...
- 系统封装工具_去工具化/脚本化理解,自动化运维落地最佳实践之业务/架构/模型/方法...
本文转载自:互联网运维杂谈 近年来后端IT也呈现更复杂的形态,底层IT架构逐渐开放平台化.云化,上层应用微服务化等等,虚拟化.云平台.容器PaaS和云原生框架都进入到IT运行环境中,而传统业务依然运行 ...
- ansible自动化运维(一)——基本架构简介
1.介绍 ansible是一种自动化运维工具,基于paramiko开发的,并且基于模块化工作,Ansible是一种集成IT系统的配置管理.应用部署.执行特定任务的开源平台. 它是基于python语言, ...
- 一些小团队的自动化运维实践经验
作者:翟志军 来源:http://showme.codes/2018-06-07/devops-in-action/ 注:本文要求读者对Ansible和 Jenkins有一定的认识. 题记: 幸福的家 ...
- 运维技能定级标准第4篇——关于运维工程师岗位的自动化运维与运维开发技能级别设计
运维工程师岗位工作技能的评定类别(5)和(6) 5.自动化运维技术 级别0,什么都不懂 级别1,了解ansible.saltstack.puppet等主流的自动化运维管理技术工具,掌握公司主要使用的一 ...
- 44学习自动化运维工具 Chef 的基本用法,包括厨师编写、节点管理
Chef是一种自动化运维工具,它允许您定义基础设施的状态,并根据需要管理这些状态.在这里,我们将学习Chef的基本用法,包括如何编写和管理Cookbook和Node. 安装Chef 在使用Chef之前 ...
- SaltStack 自动化运维详解
一.自动化运维工具对比 使用所需软件配置单个服务器是一项相当简单的任务. 但是,如果许多服务器需要安装相同或相似的软件和配置,则该过程将需要大量的工时才能完成,这会耗尽您本已紧张的资源.如果没有某种形 ...
- 企业级自动化运维方案设计及Saltstack、Ansible等5种工具比较分析--云平台技术栈08...
导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的服务器自动化配置! 来自:公众号talkwithtrend 1.企业运维现状与发展趋势 随着企业信息化的不断发展,运维人员需要面对 ...
- [Ansible 概述]Ansible 的自动化运维
一.Ansible 概述加粗样式 Ansible 是目前最受运维欢迎的自动化运维工具,基于Python开发,集合了众多运维工具(SaltStack puppet.chef.func.fabric)的优 ...
最新文章
- leetcode 贪心_贪心算法:给我最好的,现在就要!
- elasticsearch Java API 之Delete By Query API
- overleaf入门
- Dev XtraTreeList 学习笔记
- 安卓端黑名单拦截电话
- 幂级数——函数的幂级数展开
- CUDA10.2显卡驱动安装
- python3 urlencode_Python3 parse.urlencode() 与parse.unquote()
- matlab画热力网格图
- 【Python】P4994 终于结束的起点
- pandas——描述性统计方法和时间类型
- jQuery动画序列
- JavaWeb_07_Ajax
- 湖北省专科计算机竞赛,NOI信息学竞赛2019年湖北省队名单
- 华为设备配置单臂路由
- 切绳子题解(博客搬家)
- HDU5155 Harry And Magic Box
- 高中计算机网络安全教案,高中信息技术信息安全教案
- 华升富士达电梯调试软件、故障分析软件,PMC,EEC,ROM
- 2019.8.1考试反思
热门文章
- php curl 优化下载微信头像
- 【OpenFOAM】-pimpleFoam-RAS-算例12-wingMotion
- 【食品图像识别】Large Scale Visual Food Recognition
- 什么是AnTi防御-无限防方案?能帮助游戏解决哪些攻击问题?
- 5种食物建议女性常吃,含胶原蛋白,补充营养
- Css3动画浏览器兼容问题
- 深入浅出TensorFlow2函数——tf.keras.layers.Dense
- 微信小程序获取头部高度
- 阿里飞燕平台(小夜灯从无到有的实现)
- AI时代的赚钱思路:23岁女网红如何利用AI技术年入4亿?