# DevOps 检查清单（Azure）

基于：[Azure DevOps 检查清单](https://docs.microsoft.com/en-us/azure/architecture/checklist/dev-ops)

```checklist
- DevOps 检查清单（Azure）
  - 文化
    - 确保跨组织和团队中的业务对齐
    - 确保整个团队了解软件生命周期
    - 缩短周期时间：cycle time
    - 评审并改进过程
    - 做出前瞻性的规划
    - 从故障中学习
    - 优化速度，并收集数据
    - 学习文化
    - 文化化操作
    - 知识传递
  - 开发
    - 为开发人员提供类生产环境
    - 确保所有已获授权的团队成员可以预配基础设施和部署应用程序
    - 度量应用程序以获取洞见
    - 追踪技术债务
    - 考虑将更新直接推到生产环境
  - 测试
    - 自动测试
    - 故障测试
    - 在生产环境中测试
    - 自动执行性能测试，以提前识别性能问题
    - 执行容量测试
    - 执行自动安全渗透测试
    - 执行自动业务连续性测试
  - 发布
    - 自动部署
    - 使用持续集成：考虑采用基于主干的开发模型
    - 考虑使用持续交付：持续部署（可选）
    - 保持小规模的增量更改
    - 控制变化的风险
    - 实施发布管理策略，以降低部署风险
    - 文档化所有变更
    - 考虑让基础设施不可变
  - 监控
    - 使系统可观测
    - 聚合并关联日志和指标
    - 实施自动警报和通知
    - 监视资产和资源的过期
  - 管理
    - 将操作任务自动化
    - 在预配中采用基础设施即代码方法：针对于云环境
    - 考虑使用容器
    - 实施复原和自我修复
    - 拥有一份实施手册：共享文档
    - 制定值守流程，并文档化
    - 阐述第三方依赖关系的升级流程
    - 使用配置管理
    - 授予资源访问权限时，请遵循最低权限原则：针对于云环境
    - 使用基于角色的访问控制
    - 使用 bug 跟踪系统来跟踪问题
    - 在更改管理系统中管理所有资源
    - 使用检查清单
```
