标准化

标准先行

标准先行

标准先行

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

 

标准化流程:

1)识别对象

2)识别对象的属性

3)识别对象间的关系

4)识别对象的使用场景

 

基础设施层面的标准化

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

(2)识别对象的属性,比如服务器就会有 SN 序列号、IP 地址、厂商、硬件配置、维保信息等;

    网络设备如交换机也会有厂商、型号、带宽等信息。

(3)识别对象之间的关联关系,比如服务器所在的机柜,虚拟机所在的宿主机、机柜所在 IDC 等简单关系;

    复杂一点就会有核心交换机、汇聚交换机、接入交换机以及机柜和服务器之间的级联关系等,这些相对复杂一些,也就是我们常说的网络拓扑关系。

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

    以服务器为例,我们针对服务器的日常操作有采购、入库、安装、配置、上线、下线、维修等等。

    另外,可能还会有可视化和查询的场景,如拓扑关系的可视化和动态展示,交换机与服务器之间的级联关系、状态(正常 or 故障)的展示等,这样可以很直观地关注到资源节点的状态。

(5)对上述运维场景的自动化开发。

 

应用层面的标准化

逻辑对象:应用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    应用的创建

    应用的持续集成

    应用的持续发布

    应用的扩容

    应用的缩容

    应用的监控

    应用的容量评估

    应用的压测

    应用的限流降级

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

posted @ 2019-10-10 18:15  道霖  阅读(269)  评论(0编辑  收藏  举报