Infra 系列 Roadmap
計畫文件,不會被 Quartz 渲染(無 frontmatter)。每章有自己的詳細 ROADMAP。 公開頁 →
infra/index.md
章節目標
Infra 系列的敘事骨架:Request 流程。從使用者瀏覽器發 request → DNS 解析 → CDN/LB → Gateway → K8s Pod → DB/Cache/Queue → 觀測 / 資安 / 部署 / 災難復原 的完整技術視角。
跟 backend / ops-notes 的分工:
| 系列 | 視角 | 關鍵字 |
|---|---|---|
| backend/ | 寫 code 的後端工程師 | How my code works |
| infra/(本系列) | 平台工程師設計運維 | How the platform works |
| ops-notes/ | SRE / on-call 真實踩坑 | When shit happens |
Infra 講技術規劃 + 運維設計(how things work + 選型 + 架構);真實事件請見 ops-notes/;後端 code 面請見 backend/。
編排原則
繼承自 CLAUDE.md 全域原則:
- Why-first:每篇先回答「不用這個會痛在哪」
- 演進驅動力:每章 🕰️ 演進段必答「前代撞什麼極限 → 下代解什麼」
- 視角切割:本系列只講 infra 規劃視角;深入某語言實作搬 backend/、真實事件搬 ops-notes/
Infra 特有 Request 流程敘事:章節順序不按技術字母,按 request 從進來到回應的物理路徑排。讀者跟著 request 走一圈,就能把整個 infra 拼起來。
章節明細(10 章)
Request 入口到應用的縱向路徑(I01–I05)
| CH | 章節 | 詳細計畫 | 現有 🌿 | 估計 🌱 |
|---|---|---|---|---|
| I01 | Edge 入口層 | infra/network-edge/ROADMAP.md | 2 | ~25 |
| I02 | Gateway / Service Mesh | infra/gateway-mesh/ROADMAP.md | 1 | ~20 |
| I03 | 計算 & 容器平台 | infra/compute/ROADMAP.md | 10 | ~40 |
| I04 | 資料層運維 | infra/data-ops/ROADMAP.md | 5 | ~35 |
| I05 | 觀測平台 | infra/observability/ROADMAP.md | 5 | ~30 |
橫切面(I06–I10)
| CH | 章節 | 詳細計畫 | 現有 🌿 | 估計 🌱 |
|---|---|---|---|---|
| I06 | 資安治理 | infra/security-governance/ROADMAP.md | 5 | ~30 |
| I07 | CI-CD & 部署 | infra/cicd-deployment/ROADMAP.md | 6 | ~30 |
| I08 | Cloud 選型 / 成本 | infra/cloud/ROADMAP.md | 6 | ~25 |
| I09 | 災難復原 | infra/disaster-recovery/ROADMAP.md | 1 | ~15 |
| I10 | Platform Engineering | infra/platform-engineering/ROADMAP.md | 3 | ~15 |
合計:10 章 / ~275 題(含 infra/ 現有 33 篇 + k8s/ 8 篇 + cloud/ 6 篇 = 47 篇實戰素材)
推進順序
Request 進來,走這條路:
I01 Edge → I02 Gateway → I03 Compute → I04 Data → 回應
Request 的全程:
I05 Observability 看得見
I06 Security 每層都要守
I07 CI-CD 讓 code 到 production
I08 Cloud 底層資源怎麼選
I09 Disaster Recovery 萬一出事
I10 Platform Engineering 長期運維的平台建設
素材吸收對照
infra/ 現有 33 篇 → 10 章分配
| 原檔 | 吸收到 |
|---|---|
01-network-dns / 02-reverse-proxy-tls / 29-dns-loadbalancing-cdn | I01 Edge |
21-api-gateway | I02 Gateway |
03-container-runtime / 07-container-registry / 32-docker-compose-cookbook / 33-kubernetes-intro / 24-serverless | I03 Compute |
10-storage-management / 11-database-postgresql / 13-postgresql-advanced / 14-elasticsearch-deep-dive / 22-event-driven-queue / 20-data-movement-etl | I04 Data Ops |
15-metrics-monitoring / 16-log-management / 17-alerts-chatops / 18-alert-webhook-integration / 19-multi-node-monitoring | I05 Observability |
04-identity-access / 09-secrets-config / 26-security-scanning / 27-secrets-certificate-management / 30-application-security | I06 Security |
05-infra-core-cicd / 06-git-ci-release / 08-gitlab-cicd-templates / 25-environment-separation / 31-infrastructure-as-code | I07 CI-CD |
28-backup-disaster-recovery | I09 DR |
23-websocket | I01(edge 層長連接,見 #30 WebSocket/SSE) |
infra/k8s/ 8 篇 → 以 I03 為主
| 原檔 | 吸收到 |
|---|---|
infra/k8s/01-k8s-workloads | I03 |
infra/k8s/02-k8s-networking | I03 / I01 |
infra/k8s/03-k8s-storage | I03 / I04 |
infra/k8s/04-k8s-config-rbac | I03 / I06 |
infra/k8s/05-k8s-helm | I07 |
infra/k8s/06-k8s-monitoring | I05 |
infra/k8s/07-k8s-troubleshooting | ops-notes/(具體 troubleshooting 案例改歸 ops-notes) |
infra/k8s/08-k8s-gitops | I07 |
infra/cloud/ 6 篇 → 以 I08 為主
| 原檔 | 吸收到 |
|---|---|
01-container-registry-comparison/01 概念 + -2 實戰 | I03(Registry 在 compute) |
02-serverless-vs-server/01 概念 + -2 實戰 | I03(Serverless 在 compute) |
03-cloud-cost-optimization/01 概念 + -2 實戰 | I08 Cost |
從其他系列的吸收(Pointer 進來)
從 backend/ 來的 migration 指標(17 題 pointer)
backend 章節已經用 ⛔️ pointer 標示「搬到 infra I0X」。本系列要把這些主題當吸收清單:
| 來自 backend | infra 章節 | 主題 |
|---|---|---|
| B04 #20 | I03 | Container Runtime 深入(runc / crun / gVisor) |
| B08 #36 | I03 | Health Probe Standardization |
| B08 #37 | I03 | Service Discovery / DNS |
| B08 #38 | I06 | Secret / Config 集中管理 |
| B08 #40 | I07 | CI/CD Per Service |
| B08 #41 | I05 | Monitoring Per Service |
| B08 #42 | I08 | Capacity Planning |
| B12 10-13 | I04 | RabbitMQ / Kafka / NATS / Redis Streams 運維 |
| B13 09-10 | I04 | Redis 持久化 / Cluster |
| B16 #39 | I01 | DDoS 防禦分層 |
| B17 25-26 / S01 | I05 | APM / Continuous Profiling / eBPF |
從 backend/micro-service/ 連結(不搬,僅 pointer)
micro-service 是完整系列不動。infra 用 ⛔️ 引用:
| micro-service 篇章 | infra 章節 pointer |
|---|---|
| 21-24 Infra 容量系列 | I08 / I03 |
| 41-42 Docker Compose vs K8s / Production | I03 |
| 43-45 Observability tracing/logging/dashboard | I05 |
| 48-49 CI/CD microservice / Zero-downtime | I07 |
| 52-53 DX local dev / debugging | I10 |
| 54-55 Cost calculation / optimization | I08 |
| 67 conclusion-infra | I08 / I10 總結 |
從 infra/cloud/aws/ 12 篇(跟 I08 深度關聯)
infra/cloud/aws/ 系列是「在 AWS 上的實作」,每篇對照 K8s 版。infra 各章可引用 aws/ 作為「雲端實作範例」。
跟 ops-notes/ 的分工(獨立系列)
- ops-notes 是獨立系列(不併入 infra)
- infra 每章 ⛔️ 引用 ops-notes 實戰案例作為「真實事件」
- 例如:infra/I02 Gateway 引用
infra/gateway-mesh/kong/8 案例
跟 common/foundations/fundamentals/25-containerization
保留 fundamentals(跨領域基礎),infra I03 pointer 引用。
進度追蹤
Milestone:
- M1–M5:Request 路徑(I01–I05),這是核心
- M6–M7:資安 + CI-CD(I06–I07)
- M8–M10:Cloud / DR / Day-2(I08–I10)
每章完成定義:
- 基本介紹、演進、知識型、小實作四段都有文章 🌿
- 演進驅動力題貫穿全章
- Anti-pattern 跟工具段有列
- 跨系列 pointer(backend / ops-notes / micro-service)齊全
附錄 A:跟 backend 的視角切割
本系列套用 CLAUDE.md 視角切割原則。常見誤區:
| 主題 | infra 處理 | backend 處理 |
|---|---|---|
| K8s | 運維 / HA / 擴容 / GitOps / Helm | 看得懂 YAML、寫 graceful shutdown |
| Docker | registry / security scanning / build optimization | Dockerfile 最佳實踐、Compose 本機開發 |
| Prometheus | 部署架構 / HA / federation / PromQL 進階 | 在 app 埋 metric、讀 dashboard |
| Redis | Cluster / Sentinel / 持久化調校 | 資料結構選擇、cache pattern |
| CI-CD | pipeline 設計 / runner 運維 / IaC | 讀懂 pipeline、lint + test 配合 |
| Secret | Vault / KMS / rotation 運維 | 讀 env var、不 commit secret |
讀者看錯系列會找不到想要的——要靠章節 intro 明確講定位。
附錄 B:未解決 / 待後續處理
- I01-I10 每章詳細 ROADMAP 要逐章建
- ops-notes/ 獨立系列 ROADMAP 待規劃(O01-O10)
- 檔名是否重編:現有檔名保留 01-33 前綴(跨目錄連續),方便日後引用;子目錄內的新文章直接用當下編號接續
術語表
看不懂的縮寫查這裡 → infra/glossary.md(跨章節術語統一定義:RTO/RPO、SLO/SLI、SPIFFE、mTLS、MVCC、OTel、CDC、eBPF 等)
跨系列連結
- →
backend/ROADMAP.md - →
ops-notes/ROADMAP.md(待建) - →
backend/micro-service/index.md - →
infra/cloud/aws/index.md - → [
k8s/已併入infra/k8s/] - → [
aws/已併入infra/cloud/aws/]