综合练习
为 CodeRoadMap 选 CM 与云平台组合。
综合练习
本课整合 devops-config-platform-essentials 全部内容:为 CodeRoadMap 选定 配置管理工具、云平台、容器平台、入口、数据与 Serverless 周边 的组合方案,并输出可交付的 架构决策记录(ADR) 与 分阶段实施路线图。请结合 devops-cloud-essentials、terraform-essentials、kubernetes-essentials 与 /roadmaps/devops 全局视角完成练习。
学习目标
- 独立完成 CM + IaC + 平台 + 数据 + 入口 的端到端选型与论证
- 输出 staging / prod 两套环境 的差异表与迁移步骤
- 在路线图节点上标注本 track 各课对应的 实际技术选型
练习场景
CodeRoadMap 计划从 单机宝塔 迁移到 可支撑 1 万 DAU、99.9% SLA、国内用户为主 的生产平台。团队技能:熟悉 Java/Spring、Next.js、基础 Linux;无专职 SRE;预算中等,可接受托管服务费用。
任务一:选型矩阵(必填)
完成下表并写 每项 1–2 句理由:
| 维度 | 你的选型 | 备选 | 理由 |
|---|---|---|---|
| 云平台 | AWS / Azure / 阿里云 | ||
| 计算(backend) | App Service / AKS / VM+systemd | ||
| 计算(platform) | Vercel / App Service / K8s | ||
| 容器平台 | vanilla K8s / OpenShift / 无容器 | ||
| CM 工具 | Ansible / Puppet / Chef / 仅镜像 | ||
| 数据库 | 托管 MySQL / 自建 | ||
| 入口 / LB | Nginx / 云 LB + CDN | ||
| 密钥 | Key Vault + ESO / 环境变量 | ||
| Serverless 周边 | Azure Functions / Cloud Functions / 无 |
任务二:架构图与 ADR
# adr-001-platform-migration.yaml — 提交模板
title: "CodeRoadMap 生产平台架构 ADR"
status: proposed
context: |
单机宝塔无法满足 SLA;需多云可迁移与托管降低运维。
decision:
cloud: "示例:Azure 国内区域"
compute: "AKS + Argo CD"
cm: "Baseline: Ansible hardening;节点 Immutable"
data: "Azure Database for MySQL Flexible Server"
consequences:
positive:
- "托管 DB 自动备份与 PITR"
- "ESO 统一密钥"
negative:
- "K8s 学习曲线"
- "出站流量成本需监控"
migration_phases:
- phase: 1
goal: "Staging on AKS,单 AZ"
exit_criteria: "E2E 测试通过"
- phase: 2
goal: "Prod HA,多副本 + 托管 DB"
exit_criteria: "PITR 演练成功"