zoukankan      html  css  js  c++  java
  • 标准化

    标准先行

    标准先行

    标准先行

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

    标准化流程:

    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)针对这些运维场景进行自动化。

  • 相关阅读:
    伪随机数生成算法-梅森旋转(Mersenne Twister/MT)
    Twitter数据非API采集方法
    一万小时定律的数学解释-可怕的复利
    Java自然语言处理NLP工具包
    Bloom Filter的基本原理和变种
    如何使用深度学习破解验证码 keras 连续验证码
    常用正则表达式
    VS C/C++ 调用lua库(编译出错)
    WebBrowser获取页面总高度
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/t-road/p/11649768.html
Copyright © 2011-2022 走看看