需求规划
由项目人员牵头,业务、产品人员输入产品文档,与研发、测试人员沟通业务需求,确定程序的功能、特点,并由研发人员输出开发文档,测试人员输出测试方案文档。另外一个重要的事情就是依据命名规范为程序命名。
注:命名规范是技术体系中非常重要的基础标准,程序的名称将伴随程序的整个生命周期,贯穿代码仓库、CI/CD、监控、日志管理等;一般命名规范都会规定一种格式,纳入业务、环境、功能等特点,做到简洁、易读。
开发
开发人员依照开发文档做好分工及排期,依照运维流程申请代码仓库、开发环境等所需资源,根据技术规范开展程序的编码工作,目标是达到上线标准。
程序除了要满足业务功能外,还要满足代码规范、安全规范、日志规范、接口规范等相关技术规范,具备程序基本状态的管理。满足CI/CD接入标准,根据运维文档或者由运维协助完成测试上线
测试
测试人员依照测试文档对程序进行功能、安全、性能等测试,做好容量规划,待一切验收合格,进行正式上线,必要的服务还要进行灰度测试。
目前常见的方式是将部分测试与CI/CD进行融合,触发CI/CD后自动关联相关测试,提升整体上线效率。
上线
根据分支管理进行代码合并,然后触发线上CI/CD流程,将服务部署到正式环境;在部署中或者完成后,运维人员将服务纳入日志系统、监控系统,并做好故障监测,必要的服务还要配置弹性伸缩。
这一切都可以做到自动化完成,即服务上线后,自动接入日志、监控等系统,自动具备故障监测及弹性伸缩能力,但前提是程序遵循相应的技术规范。
更新
根据用户反馈或业务调整,对程序进行维护更新,修复程序Bug,更新程序功能,提升用户体验。
下线
根据业务调整或者技术架构调整,依照运维流程对程序进行下线操作;下线动作是极其谨慎的动作,一定要确认相关业务流量关闭或者相关请求归零。