今天涉及的内容不仅仅适用于后端开发的整个上线流程,也适合前端开发、测试、测试开发、产品经理等,是讲述一个团队的一个产品从无到有的过程。
开发流程
- 需求阶段
- 开发阶段
- 测试阶段
- 发布阶段
- 运维阶段
敏捷开发
在敏捷开发里面,既要求团队成员重视流程,也要求成员注重效率,敏捷开发有几个比较出名的概念,如scrum、kanban。scrum就是橄榄球中的争球,大家围绕着一个目标前进。
SAFe(The Scaled Agile Framework)是现代的scrum
敏捷开发中人员&名词解释
- RD:研发
- PM:产品经理
- PRD:需求文档
- UED:用户体验设计
- QA:测试
- Scrum1:敏捷团队1
- P0/P1:优先级0/优先级1
- Backlog:规划列表
会议解释
- Backlog Grooming Meeting:待办事项整理会议
- Spring Planning Meeting:迭代计划会议
- Standup Meeting:每日站会
- Review Meeting:评审会
- Retrospective Meeting:反思会
MVP(Minimum viable product):最小可行化产品
开发阶段——云原生
-
传统虚拟机和容器化:在容器出现之前,虚拟机要部署在物理机上面,每个虚拟机有自己的操作系统和运行环境,都要有相关的运维人员来负责;容器是从操作系统中虚拟出来的,通过cgroup,namespace和union mount实现了容器之间的隔离,在部署的时候,应用和其依赖的系统是整体打包成一个镜像的。
-
单体架构
-
微服务架构
测试阶段
- 功能环境
- 集成环境
- 回归环境
发布阶段
- 蛮力发布
- 金丝雀发布
- 滚动发布
- 蓝绿发布
- 红黑发布