4007676280
云终端系列报道第六十七期 - 如何做标准化? 2016-08-26

炙伦云终端分享嘉宾:


   2.2 如何做标准化?
    

    我把标准化的实践思想总结为XY轴对象模型,从开发、测试、运维3个角度着手。例如,以运维的角度来梳理:

    一. 梳理Y轴(实体)
   

    所谓的 Y 轴,是指企业IT系统所遵循的技术栈,从企业的技术栈入手,从宏观上把需要标准化的实体梳理清楚。
    以A公司为例,A公司他们使用了JBOSS作为开发平台,我梳理的Y轴的实体如下:
    

    1基础层
    基础层一般指技术栈最为底层依赖的环境,例如:1. Java 项目,基础层:OS + JDK;
    2. Python 项目,基础层:OS + Python;
    3. Rails 项目,基础层:OS + Ruby;
    4. ……
    A 公司使用了 JBOSS-EAP,因此底层依赖的环境是 OS + JDK:

    
 

2框架层
    框架层一般指技术栈所使用的项目开发框架,可以是开源方案,也可以是自研发框架,例如:
    1. Java 项目,框架层:JBOSS-EAP、Play Framework、Struts 2、Spring等;
    2. Python 项目,框架层:Django、Flask、Falcon、Tornado 等;
    3. 自研发框架;
    4. …..
    A 公司使用了 JBOSS-EAP 作为开发框架:

    
    3公共组件层(不一定有)
   

公共组件层一般存放多个组件共享的代码、配置、驱动等,需要按照实际场景进行分析,因此不一定需要。

    
    4业务组件层业务组件层,就是研发同学开发的业务组件,业务组件一般会有:

    1. 代码包;
    2. 配置包;
    3. 运行时数据;
    4. 运行时日志;

     

 二. 梳理X轴(属性)

所谓的 X 轴,是指企业IT系统每一层技术栈应该遵循的标准,对每一层的技术栈进行深度分析,构建出实体应该具有的属性,例如:部署目录、运行属主、目录/文件属主、目录/文件权限、日志、数据等等。
   


结合 X 轴,可以得到以下需要标准化的实体/属性表:
     

    例如,A公司针对部署目录这个属性,定制的标准化如下:
    
    可以看看业务组件层的设计细节:



三. 部署标准化执行准则
    结合个人经验,在构建标准化对象模型时,以下的准则是应该遵守的:
    ●启动脚本:应该构建统一的启动脚本,通过传入参数来匹配不同的业务组件;
    
    ●实体隔离:梳理出来的实体,在部署上必须隔离;
    ●代码包:代码包无状态,一次打包,多环境流转;
    ●配置包:配置包环境相关,和代码包分离,甚至可以实现配置中心来实现统一存取;
    ●数据隔离:数据需要写到数据目录或者数据卷上;
    ●日志实践:日志写到数据或者日志卷上,规范的输出级别、内容格式、日志种类、轮替周期和定期清理。
    
    综上所述,通过不同的角度来梳理XY的执行规范即可,例如研发也可以根据以下的规则来梳理:
    
    同样,在测试方面也可以提供业务测试的定制化规范,比如功能测试用例的编写、规划的测试流程(黑盒测试、白盒测试、回归测试以及性能测试)等等,不知道大家是否理解了?












上一页:三英和吕布联手,桌面云大军已经开拔 下一页:8.28这七位CEO/架构师都要说些啥?!
推荐新闻 Recommended news
帮助中心
4007676280