- DevOps简介
- 团队变更前现状
- 技术运营
- 软件开发
- 软件测试
- 运维人员
- 总结
- 技术团队变革
- 引言
- 流程管理工具
DevOps,每个科技部门老生常谈的东西,但具体是什么呢?引入百度百科的解释如下:
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。
但是今天我这边也着重说一下我对DevOps的理解,DevOps的主要面向的用户群体为:软件开发、软件测试、技术运营、运维人员,DevOps不是单一的服务组件,更多的是多个部门之间沟通的强梁,使得部门之间更好的沟通协作,是一个面向过程的流程,这个过程可能需要通过多个技术产品组合而成;从产品需要 -> 软件开发 -> 软件测试 -> IT运维,整个DevOps平台要对整个过程负责,除了这些,还要通过技术来对技术进行约束和规范、要对软件测试结果进行保障、要对服务进行可视化观测、要对数据影响有效性的分析,DevOps面向群体比较多,整个推动过程是困难的,但是收益效果是显而易见的。
团队变更前现状 技术运营1、产品需求通常通过表格文档、会议纪要、email、口头传递等方式进行信息的传递和记录
2、技术管理比较困难,需要和多个团队进行沟通
3、无法将对应的问题反馈到对应的责任人身上
4、应用数据无法得到准确的分析
1、软件开发人员对需求不明确,迭代周期混乱,人员众多时候不方便进行管理
2、产品迭代周期慢、进度不同步
3、多个产品技术栈不一致,共性代码重复性比较高,没有统一的开发规划
4、产品BUG跟进不及时
5、应用数据无法得到准确的分析
6、发布流程周期比较长
1、软件开发自测不详细,导致BUG众多
2、反应问题无法得到及时人员的跟进
3、测试流程整体依赖于人工,周期比较长
1、产品迭代周期不固定,上线时间不固定
2、随着单体服务的拆分,引入多个微服务,导致应用拓扑变得复杂
3、监控无法反应详细的告警信息,导致问题排查比较困难
4、应用发布、上线周期时间比较长,流程比较多
1、项目管理困难
2、运营数据无法得到准确的分析
3、产品迭代周期长、问题多
4、BUG不能及时修复、跟进
5、应用拆分、运维复杂
针对问题先行引入上述问题引入以下内容:
1、引入流程管理工具
2、引入三方公司的产品
3、完善代码管理工具
3、引入产品研发技术的开发规范
4、完善自动化测试流程
5、完善运维监控
6、流程线上同学的相关培训
流程管理工具有很多,收费 or 开源,如何选择,是一个让人很头痛的事情,每个厂商有每个厂商的特点,下面是百度搜索的结果,让人眼花缭乱,不知道如何下手。
对比图如下:
| 序号 | 厂商 | 产品名称 |
|---|---|---|
| 1 | 阿里云 | 云效 |
| 2 | 腾讯 | TAPD |
| 3 | Atlassian | Jira Software |
| 4 | 深圳复临科技有限公司 | ONES |
| 5 | 北京易成星光科技有限公司 | PingCode |



