标准化

末鹿安然 提交于 2019-12-01 02:57:46

标准先行

标准先行

标准先行

虽然这个事情比较枯燥和繁琐,但是于纷繁复杂中抽象出标准规范的东西,是我们后续一系列自动化和稳定性保障的基础。万丈高楼平地起,所以请你一定不要忽略这个工作。

 

标准化流程:(四板斧)

1)识别对象

2)识别对象的属性

3)识别对象间的关系

4)识别对象的使用场景

 

基础设施层面的标准化

第一步,识别实体对象,主要有服务器、网络、IDC、机柜、存储、配件等。

第二步,识别对象的属性,比如服务器就会有 SN 序列号、IP 地址、厂商、硬件配置(如 CPU、内存、硬盘、网卡、PCIE、BIOS)、维保信息等;网络设备如交换机也会有厂商、型号、带宽等信息。

第三步,识别对象之间的关联关系,比如服务器所在的机柜,虚拟机所在的宿主机、机柜所在 IDC 等简单关系;复杂一点就会有核心交换机、汇聚交换机、接入交换机以及机柜和服务器之间的级联关系

等,这些相对复杂一些,也就是我们常说的网络拓扑关系。

第四步,识别出针对运维对象所实施的日常运维操作有哪些,也就是识别出运维场景是什么。

以服务器为例,我们针对服务器的日常操作有采购、入库、安装、配置、上线、下线、维修等等。另外,可能还会有可视化和查询的场景,如拓扑关系的可视化和动态展示,交换机与服务器之间的级联

关系、状态(正常 or 故障)的展示等,这样可以很直观地关注到资源节点的状态。

第五步,对上述运维场景的自动化开发。

 

应用层面的标准化

逻辑对象:应用

1)识别对象。这里的对象应该在微服务架构设计和拆分时就确定下来,然后延伸到运维这里,而不是由运维创造。

2)识别对象属性。对象的属性分为业务属性和运维属性,业务属性由业务架构师去识别,运维属性由运维工程师去识别。

        应用的元数据属性。如应用名、应用属主、所属业务、是否是核心链路应用、应用的功能说明。

    应用的代码属性。如编程语言以及版本、GitLab地址等。

    应用的部署模式。如基础软件包(JDK、C++、Go)、运行容器(Tomcat、JBoss)等。

        应用的目录信息。如运维脚本目录、日志目录、应用包目录、临时目录等。

        应用的运行脚本。如启停脚本、健康监测脚本。

    应用运行时的参数配置。如运行端口、Java的JVM参数、GC方式、以及新生代、老生代、永生代的堆内存大小配置等。

3)识别对象关系。也就是应用与外部的关系。

    应用与基础设施的关系。比如应用与资源的关系、应用与VIP的关系、应用与DNS的关系。

        应用与应用之间的关系(平行层面)。也就是A应用服务或API与B应用服务或API之间的依赖关系。

        (全链路工具平台,用来管理应用间的关系)

        应用与各类基础组件之间的关系。比如应用与缓存、应用与消息队列、应用与数据库之间的关系。

4)识别应用对象的运维场景。

        应用的创建

        应用的持续集成

        应用的持续发布

        应用的扩容

        应用的缩容

        应用的监控

        应用的容量评估

        应用的压测

        应用的限流降级

(5)针对这些运维场景进行自动化。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!