运维是事件驱动,还是自驱动可能是我们在运维工作中不太关注的问题。事件驱动让运维止步于故障,而自驱动让运维不止于建设。持续性的运维建设就需要一套自动化的运维体系,那么我们应该从何入手?
其实前期《运维思考》一系列文章已经给我们答案了,就是从运维框架入手分层建设、打好基础
,记住“万丈高楼平地起,勿在浮沙筑高台”。
通常讲到运维建设,我们脑海中首先浮现的是“一团麻”,因为这不是一个人、一个岗位的工作,而是一整个团队的工作;所以我们将“这团麻”进行由底层向上可划分为:
IT基础设施层
IT基础设施层,主要由基础运维团队负责,主要包括存储、网络、服务器、安全设备等硬件设施;
数据层
数据层,主要由DBA团队、大数据团队负责,主要包括数据库、缓存、数仓等;
应用层
应用层,主要由应用运维团队负责,主要包括基础服务、业务应用、中间件等;
管理层
管理层,主要由配置管理团队、安全团队、应用运维团队负责,主要包括各种自动化操作、安全管理、监控管理等;
展示层
展示层,主要由各团队综合管理,主要包括各种管理工具、监控工具等;
通过对运维框架的分解,对各种资源的逻辑隔离,让各个团队明确当前运维建设中的现状与不足。 如果我们能做到对运维框架的持续性关注,通过图片就可以明晰的知道哪个团队的不足,以及日后各团队的重点发力方向。
如果你觉得运维框架还不够细致,那么针对框架中各个层次的工作拆解就来了,我们在此将其称之为运维依据
。
针对这些个运维依据,我们可以展开一些列的针对性措施,如制定规范、自动化流程,如此就能够不断丰富各个团队的制度、规范、流程,何乐而不为?
在基础的硬件设施管理之上,比较重点的工作是
网络分区与隔离
网络分区应考虑互联网接入区、普通生产区、数据区、外联区等各个区域,保证各区域的合理接入。
网络隔离对测试、准生产、生产环境各环境进行隔离,避免访问权限混乱。
CMDB资产纳管
CMDB用于管理基础设施层的各项资产,为上层应用提供数据支撑。使用CMDB一定要和业务应用紧密结合,一旦脱离于业务使用,那么CMDB将成为花瓶。
相关场景可参考《运维思索:接地气的运维自动化建设》。
内部dns
通过内部dns可以将应用与IP解耦,一旦ip变更则不需要变更代码,生产环境应该尽量少做此种类型变更操作。
服务器快速上架
为满足业务日益增长的需求,应该具备服务器快速上架、资产实时记录至CMDB等一系列自动化流程。
网络权限变更
根据应用需求,快速登记并开通网络权限。
等等。
数据库除了特有的集群外,可以考虑数据库工单、sql审核优化等流程。
容量规划是指根据业务用户流量增长、现有容量等一定的基础数据之上进行周期性的评估,如果有条件的话可结合压测实际情况,这样数据会更准确。通过容量规划可有效控制服务器规范,避免资源溢出。
为避免因环境差异导致的问题,各环境应用部署需要遵循统一的目录规范,统一的自动化部署方式,分离的应用配置文件。
等等
统一账号管理
所有和用户登录相关的平台、管理工具,尽量接入ldap统一账号管理,这样一个账号可以实现所有系统的统一登录。
自动化配置中心
在此秉承基础设施即代码
的思想,通过ansible作为配置中心,在操作系统层面实现系统初始化、环境初始化、组件初始化、自动化备份等中心化管理,各环境交付统一规格的服务器。
流程管理
结合jira等工作流工具实现操作的流程化管理。
等等
基于统一的运维规范前提下,CI/CD可以真正的做到将以上各个层面的想法、解决方案进行落地。因此CI/CD能力很大程度上决定了我们自动化运维的高度。
持续集成
代码质量测试、单元测试、打包测试、自动化测试等。
操作系统交付
遵循统一的运维规范,交付统一规格的操作系统,完成对运维平台各个管理节点的资源注册。
版本发布
支持版本平滑发布、回滚、重启等。
自动打包
Android/IOS 自动打包并上传至应用商店。
系统建设
多维度收集、分析监控数据,实现不同层面的告警;
对于多维度的数据能够进行分析,实现故障自愈;
监控管理
监控并不是只要做到告警进行了,而是要做到告警的准确性,因此对告警级别、告警收敛、故障自愈策略等的管理需要我们进行重点关注。
通过必要的WAF、IDS、防火墙等安全设备进行安全防护、流量分析外,还要结合安全渗透去主动发现问题。
通过对应用数据、业务数据、运营数据进行集中分析、展示,帮助我们更好的了解系统运行状况。
通过以上各个层面的运维框架和运维依据,希望大家能够结合实际情况进行头脑风暴,做到不止于此。
当然自动化运维建设不是一蹴而就的,需要结合规范、制度、流程去逐步实现。
记住运维建设是过程,不仅仅是目标,我们需要跟随技术潮流趋势,持续的优化与丰富这个过程。
pip安装python访问mysql第三方模块MySQL-python报以下错误$ pip install MySQL-pythonCollecting mysql-python Using cached MySQL-python-1.2.5.zip Complete output from command python setup.py egg_info: sh: mysql_
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下面创建子键,键值DisplayName是软件名称,UninstallString是卸载的命令行。你可以用注册表编辑器打开这个键,参考其它软件填写的内容。如下阿里旺旺:Windows Registry Editor Version 5
其实本来,我就是需要把一个autocad的dwg/dgn格式的东西导入到google earth里面;但是首先我对dwg/dgn格式的东西根本就不熟;其次我拿到的dwg/dgn格式文件是用的HK80 grid coordinate(香港80网格坐标系统);而google earth中用的是WGS84全球经纬度坐标系统。于是就有了上述题目中的流程。1、dwg格式导入Arcgi
一、InfluxDB 简介InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。类似的数据库有Elasticsearch、Graphite等。其主要特色功能1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)2)可度量性:你可以实时对大量数据进行计算3)基于事件:它支持任意的事件数据InfluxDB的主要特点1)无结构...
1.首先导入你要重定向的人物
一、两个二维数组的合并$a=Array(0 => Array("id" => 66,"class_name" => "www.iiwnet.com"),1 => Array("id" => 67,"class_name" => "linux" ));$b=Array(0 => Array("class_count"=> 8),1 => Array("class_count" => 2));
CSS浮动定位在CSS中设置一个盒子的float值为left或者right,就会使得盒子浮动起来。浮动盒子的特点:浮动盒子向左或者右移动,直到碰到包含块的边界(content)或者另一个浮动盒的外边界(margin)如果存在行框,浮动盒的上外边界(margin)和当前行框的上边界对齐...
部分内容转自:https://blog.csdn.net/Chaolei3/article/details/79618602数学形态学操作可以分为二值形态学和灰度形态学,灰度形态学由二值形态学扩展而来。数学形态学有2个基本的运算,即腐蚀和膨胀,而腐蚀和膨胀通过结合又形成了开运算和闭运算。开运算就是先腐蚀再膨胀,闭运算就是先膨胀再腐蚀。二值形态学腐蚀B为结构元,蓝点小方块表示B的原点,下面...
1.功能描述: 当前手机中保存了一些黑名单电话号(如110等)当一个电话打入进来, 如果它刚好是一个黑名单号码, 就会自动将电话挂断过程分析:启动服务在服务中监听电话状态, 当电话状态是响铃时, 判断是否为黑名单号如果是, 挂断电话2.相关APITelephonyManager: 电话服务的管理器 context.ge
ajax({ url: myUrl, type: 'get', dataType: 'json', timeout: 1000, success: function (data, status) { console.log(data) }, fail: function (err, status) { console.lo...
目录1 yolov51.1 环境配置2 数据集制作1 yolov51.1 环境配置2 数据集制作首先建立一个自己的数据文件夹:mycoco其目录结构如下:mycoco├── Annotations├── images├── ImageSets├── labels├── make_txt.py└── voc_label.py其中images文件夹下放置所有图片,Annotations文件夹下放置所有与之对应的xml文件。make_txt.py文件是用来划分数据集使用,内容如下: