B18 · 部署與 DX 詳細 ROADMAP

計畫文件,不會被 Quartz 渲染。 回主 roadmap → backend/ROADMAP.md


章節目標

從「我在本機跑起來了」到「production 24/7 穩定」的距離,全在本章。涵蓋容器化 / K8s / CI/CD / 發布策略 / migration / 環境管理 / Registry。Infra 系列已有 30+ 篇實戰素材,本章整合並從後端工程師視角切入。


🌱 基本介紹

#主題SlugStage大綱
01後端部署是什麼01-what-is-backend-deployment🌱從 FTP / SCP → Docker → K8s → Serverless;「部署 = 把 code 變使用者能用的 service」

❓ 為什麼需要

#主題SlugStage大綱
02為什麼後端一定要會容器化02-why-containerize🌱環境一致性、依賴打包、水平擴展、K8s 生態;2026 後端工程師 baseline
03為什麼 rolling / blue-green 不是選擇題03-why-deployment-strategies-matter🌱直接停機部署 = 使用者看到 502;金流 / 訂單系統必須 zero-downtime

🕰️ 演進

#主題SlugStage大綱
04部署方式演進04-deployment-evolution🌱FTP → Capistrano / Ansible → Docker(2013)→ K8s(2014)→ Serverless(2015+)→ Edge(2020+)
05CI/CD 演進05-cicd-evolution🌱Jenkins → Travis → CircleCI → GitHub Actions / GitLab CI 主流 → Dagger(2022+ code-as-pipeline)

🧠 知識型

F18-A 容器化

#主題SlugStage大綱
06容器化基礎⛔️ fundamentals/containerization🌿跨系列
07Dockerfile 最佳實踐07-dockerfile-best-practice🌱Multi-stage build、layer caching、image size 優化、distroless / Chainguard
08Container Runtime⛔️ infra/03-container-runtime🌿跨系列
09Container Registry⛔️ infra/07-container-registry🌿跨系列
09-2Docker Compose vs K8s⛔️ micro-service/41-docker-compose-vs-k8s🌿跨系列
09-3Docker Compose Production⛔️ micro-service/42-docker-compose-production🌿跨系列
09-4Docker Compose Cookbook⛔️ infra/32-docker-compose-cookbook🌿跨系列

F18-B Kubernetes

#主題SlugStage大綱
10K8s 後端工程師必懂10-k8s-for-backend🌱Pod / Deployment / Service / Ingress、不是要當 platform engineer,但要看得懂 YAML
10-2K8s 入門⛔️ infra/33-kubernetes-intro🌿跨系列
11K8s 完整系列⛔️ k8s/index🌿跨系列
12Liveness / Readiness / Startup Probe12-k8s-probes🌱三種 probe 分工、readiness 配合 graceful shutdown;proto 案例
13ConfigMap / Secret13-configmap-secret🌱K8s 原生方式、跟 Vault / AWS Secrets Manager 整合
14HPA(Horizontal Pod Autoscaler)14-hpa🌱CPU / memory-based、custom metrics(Prometheus Adapter)、壓測驗證

F18-C CI/CD

#主題SlugStage大綱
15CI/CD 核心⛔️ infra/05-infra-core-cicd🌿跨系列
16Git CI 流程⛔️ infra/06-git-ci-release🌿跨系列
17GitLab CI/CD 模板⛔️ infra/08-gitlab-cicd-templates🌿跨系列
18GitHub Actions 深入18-github-actions🌱reusable workflow / matrix / composite action / secret 管理
18-2微服務 CI/CD⛔️ micro-service/48-cicd-microservice🌿跨系列
19好的 CI/CD Pipeline⛔️ standards/06-good-cicd-pipeline🌿跨系列
20多環境 promotion20-multi-env-promotion🌱dev → staging → prod 策略、artifact 共用、DB migration 時機
20-2IaC(Infrastructure as Code)⛔️ infra/31-infrastructure-as-code🌿跨系列

F18-D 發布策略

#主題SlugStage大綱
21發布策略(Rolling / Blue-Green / Canary)⛔️ process/08-release-methodology🌿跨系列
21-2Zero-downtime Deploy 實戰⛔️ micro-service/49-zero-downtime-deploy🌿跨系列
22Feature Flag 後端視角22-feature-flag-backend🌱LaunchDarkly / PostHog / Unleash / 自建、decoupling deploy from release
23Database Migration 時機23-db-migration-timing🌱expand-contract 搭 rolling deploy;backward / forward compat 策略

F18-E 環境管理

#主題SlugStage大綱
24環境規劃⛔️ process/01-environment-planning🌿跨系列
25環境分離⛔️ infra/25-environment-separation🌿跨系列
2612-Factor App26-12-factor-app🌱Heroku 原則、現代版本(cloud-native 應用)
27Local dev stack 設計27-local-dev-stack🌱Docker Compose / Tilt / Skaffold;跟 production 的差異管理
27-2DX 本機開發環境實戰⛔️ micro-service/52-dx-local-development🌿跨系列
27-3DX Debugging 工作流⛔️ micro-service/53-dx-debugging🌿跨系列

F18-F Migration 管理

#主題SlugStage大綱
28Migration 管理策略28-migration-management🌱跟 deployment pipeline 整合、自動 vs 手動、rollback 策略
29資料遷移⛔️ micro-service/32-pg-migration-guide🌿跨系列

F18-G 災難復原

#主題SlugStage大綱
30Backup / Disaster Recovery⛔️ infra/28-backup-disaster-recovery🌿跨系列
31RTO / RPO31-rto-rpo🌱Recovery Time / Point Objective;定義跟量測

🔧 小實作注意事項

#主題SlugStage大綱
32寫一個 production-grade Dockerfile32-production-dockerfile🌱Multi-stage、non-root、HEALTHCHECK、.dockerignore
33寫 K8s Deployment / Service / Ingress YAML33-k8s-yaml-from-scratch🌱最小可用版本、跟 Helm 取捨
34GitHub Actions deploy to K8s34-gha-k8s-deploy🌱OIDC、kubectl apply、rollback 策略

💣 Anti-pattern

#主題SlugStage大綱
35部署 Anti-patterns35-deployment-antipatterns🌱Container 跑 root、沒 graceful shutdown、readiness probe 沒設、memory limit 沒設、secret 存 ConfigMap、CI 每次都 latest tag、部署流程沒 lockfile、開發/prod Docker image 差很多、DB migration 沒 rollback 計畫

🧰 對應檢查工具

#主題SlugStage大綱
36部署相關工具36-deployment-tooling🌱Docker / Buildah、Kubectl / k9s、Helm / Kustomize、Argo CD / Flux(GitOps)、Trivy(image scan)、hadolint(Dockerfile lint)

📎 補充

#主題SlugStage大綱
S01GitOps 入門s01-gitops🌱Argo CD / Flux;Git 作為 source of truth
S02Serverless 部署s02-serverless-deployment🌱Lambda / Cloud Run / Cloudflare Workers;跟傳統 K8s 的分工
S03好的 Infra Setup⛔️ standards/05-good-infra-setup🌿跨系列

章節進度統計

  • 知識主題:36 + 3 補充 = 39 項
  • 🌿 growing:12(跨系列)
  • 🌱 seed:27

跨系列連結

  • infra/ 系列(大量基礎建設素材,含 IaC / Docker Compose cookbook / K8s intro)
  • k8s/ 系列
  • micro-service/41–42(Docker Compose 實戰)、48-49(CI/CD / zero-downtime)、52-53(DX)、67 conclusion-infra
  • process/01 環境 / 08 發布
  • standards/05 infra / 06 CI-CD / 08 DX
  • fundamentals/containerization
  • backend/os/ B04(Signal / Graceful shutdown)
  • backend/observability/ B17(部署配套觀測)