CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
DevOps 配置与平台/课时/综合练习
RawBlame
课时目录12 节

DevOps 配置与平台

  1. 01配置管理概览
  2. 02Chef 与 Salt
  3. 03Puppet
  4. 04OpenShift
  5. 05Azure 平台
  6. 06云原生工具
  7. 07操作系统发行版
  8. 08平台搭建方法论
  9. 09代理与负载均衡
  10. 10云函数
  11. 11数据与平台设计
  12. 12综合练习

综合练习

为 CodeRoadMap 选 CM 与云平台组合。

40 分钟

综合练习

本课整合 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 / 自建
入口 / LBNginx / 云 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 演练成功"

画出 Internet → CDN/LB → platform/backend → MySQL/Redis 数据流,标注 dcp-proxy、dcp-data 对应组件。

任务三:Terraform + CM 分工清单

# 列出你计划用 Terraform 管理的 5 个资源类型
# 示例:azurerm_kubernetes_cluster, azurerm_mysql_flexible_server,
#       azurerm_key_vault, azurerm_public_ip, azurerm_dns_a_record
# 列出你计划用 CM / GitOps 管理的 5 项配置
# 示例:node hardening, ingress-nginx helm, external-secrets,
#       cert-manager, prometheus-stack

说明 为何不用 Puppet/Chef 管应用配置(若你如此选择),或说明 为何保留 CM 管 OS。

任务四:验收与 Runbook

  • 编写 10 条冒烟测试(含登录、课程列表、进度保存、管理端导入 draft)
  • 编写 故障 Runbook 3 则:MySQL 复制延迟、backend Pod CrashLoop、Key Vault 密钥轮换
  • 在 /roadmaps/devops 截图或文字标注 configuration-management、platform、data-management、load-balancer 四个节点与你选型的对应关系

参考方案提示(自评后对照)

小团队常见 MVA:单云托管 K8s(或 App Service)+ 托管 MySQL + Terraform + ESO + 云 LB;CM 仅用于 节点 baseline 或 不用 CM(Immutable 节点)。大企业 RHEL 环境 可能选 OpenShift + Puppet + ARO/自建 OCP。

小结

综合练习 = 在真实约束下做平台全栈选型,并用 ADR + 分阶段迁移证明可落地。 完成本课即覆盖 /roadmaps/devops 平台层主要节点;建议继续 devops-cloud-essentials 多云细节或 kubernetes-essentials 深度实践。

加载本节练习…
← 上一课数据与平台设计