炙伦云终端分享嘉宾:
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的执行规范即可,例如研发也可以根据以下的规则来梳理:
同样,在测试方面也可以提供业务测试的定制化规范,比如功能测试用例的编写、规划的测试流程(黑盒测试、白盒测试、回归测试以及性能测试)等等,不知道大家是否理解了?
在 IT 行业,每隔十年左右,都会出现一次可能重构市场、改写未来的技术变革,一些公司能够抓住这些机会...
More它的弹性在于:可以支持服务器虚拟化与桌面虚拟化的混合;可以支持多种hyper-v, KVM 等...
More也有挺多私有云+桌面云的需求的,能有openstack +VDI那是更好了。...
More