以互联网技术开发为主要职责的技术团队,其技术管理体系的建设,应该具备以下目标:
运维体系
代码管理
- 工程的名、访问权限等管理制度。
- 分支的创建、合并原则。
CI/CD
- 每次代码提交可以触发自动的打包,测试环境的版本发布,自动化测试等。
- 产品经理可以选择某个测试环境版本,指定为发布到生产环境的版本,确认后自动发布到生产环境,无需运维手动操作。
云服务
- 充分使用云平台的各类Paas服务,如短信、图床、文件系统等,提高基础服务的稳定性,并降低维护成本。
- 数据库也尽量采用云数据库示例,而不是在ECS上自行构建。
容器化
- 构建好各不同技术栈的部署环境镜像。
- 按一定的原则将各类容器部署到不同服务器上。
- 根据业务复杂性确定是否引入K8S或是仅适用简单的容器。
- 容器内尽量不部署或保存数据,必须部署的,需要设置volume来确保数据持久化。
容量伸缩
- 对于系统负载,要有自动监控和预警的机制。
- 可根据情况,选择手动或者自动去处理系统容量的扩张或者缩减。
数据备份
- 根据数据价值的大小,确定备份频率以及备份文件的保存时限。紧急情况下可以恢复备份。
技术架构
前后端分离
- 所有工程实现或者改造为前后端分离。
- 所有工程的前端技术栈、后端技术栈,都尽量进行统一。
架构选型
- 确定什么样的工程和架构的匹配原则:单点服务器还是微服务体系。
- 每个架构下各种技术组件的选择明确下来,尽量统一,合理地避免不同工程使用不同组件实现通用的功能。
代码评审
- 要引入自动化的代码检查工具,最好把代码检查集成到CI/CD中进行管控。
- 要有手动评审机制,来确保代码实现不出现结构性的问题。
测试
自动化测试
- 接口层面的自动化测试是有必要性的,需要选择好测试工具,以及用例编写的语言。
- 自动化测试用例的维护机制,要及时更新。
手动测试
- 需求测试的流程、问题记录、测试标准。
- 测试计划的模板和评审方式。
- 测试用例的设计原则、方法,基于工具的创建、更新是使用体系。
- 测试执行的流程、要求、基于工具的执行记录。
- 测试报告的模板、格式。
文档
- 前端架构说明文档
- 后端架构说明文档
- 数据库表结构说明
- 接口说明文档
工具
- 代码管理
- 自动化部署
- 项目管理
- 知识管理
- 文档管理