基础设施即代码:开发、审查与安全实践
1. 开发模型选择
在基础设施开发中,需要进行全面的单元测试以确保代码格式和风格符合团队标准,同时进行集成测试来验证功能。持续的测试环境会增加基于主干开发的总体成本,而更小、更模块化的基础设施配置可以减少资源或模块内的冲突,并降低测试所需基础设施的总体成本。
基于主干的开发可能与手动变更审批产生冲突,因为手动变更审批通常在有人将变更推送到主分支后才能进行。审查人员需要在验证格式和配置之前了解变更是否有效。如果将有问题的配置推送到测试环境,应在他人审查之前迅速识别并回滚。
团队可选择的开发模型主要有基于特性的开发和基于主干的开发,它们的优缺点如下表所示:
| 开发模型 | 优点 | 缺点 |
| — | — | — |
| 基于特性的开发 | 1. 使用分支隔离变更
2. 使用分支隔离测试
3. 组织代码的手动审查
4. 可在多个团队和协作者之间扩展 | 1. 需要熟悉更新分支的操作
2. 鼓励长期存在的分支
3. 增加金钱和时间成本 |
| 基于主干的开发 | 1. 更好地反映变更行为
2. 所有变更使用一种版本控制工作流
3. 鼓励渐进式基础设施变更以减少影响范围 | 1. 需要长期的测试环境
2. 不包含手动审查阶段
3. 需要纪律和组织能力以在多个团队和协作者之间扩展 |
团队必须确定并就开发模型达成一致,这有助于提高变更的可重复性和系统的整体可用性。无论采用哪种模型,都应尽可能频繁地将变更应用到生产环境,以减少变更的影响范围。
2. 同行评审
超级会员免费看
订阅专栏 解锁全文
1014

被折叠的 条评论
为什么被折叠?



