Infra 自架基礎建設系列

這個系列記錄從零建立自架 Infra 的完整知識體系。 每篇文章針對一個主題,涵蓋核心概念、實作範例、常見問題與風險。 文章按依賴順序排列,從最底層的 Network 開始,往上堆疊到應用層。


系列全景圖(概念層次)

flowchart TD
    L1[Foundation
Network / DNS / Access] --> L2[Delivery
CI / Registry / Storage]
    L2 --> L3[Observability
Metrics / Logs / Alerts]
    L3 --> L4[Application
Gateway / Queue / WebSocket]
    L4 --> L5[Advanced
Env / IaC / DR]
    L5 --> L6[Data & Security
DB / Search / AppSec]
    L6 --> L7[Templates & Orchestration
Compose / K8s]

    style L1 fill:#e3f2fd,stroke:#1976d2
    style L2 fill:#e8f5e9,stroke:#388e3c
    style L3 fill:#fff3e0,stroke:#f57c00
    style L4 fill:#fce4ec,stroke:#c62828
    style L5 fill:#ede7f6,stroke:#5e35b1
    style L6 fill:#f3e5f5,stroke:#8e24aa
    style L7 fill:#e0f7fa,stroke:#00838f

L1 — Foundation(基座層)

#主題說明
01Network & DNS固定入口、網段切分、DNS 命名規則
02Reverse Proxy + TLS(Nginx)HTTPS 加密、反向代理、安全 header
03Container Runtime(Docker + Portainer)標準化部署基座、daemon.json 基線
04Identity & AccessSSO/OAuth、RBAC、Onboarding/Offboarding
05CDGitLab CI pipeline、標準化部署流程

L2 — Delivery(交付層)

#主題說明
06 Rollback分支策略、Semantic Versioning、回滾
07Container Registry(Harbor)私有映像庫、安全掃描、保留策略
08Storage Management(MinIO)物件儲存、Bucket 分層、lifecycle rule
09Secrets & Config.env 管理、secrets 注入、rotation
10Database(PostgreSQL)連線池、備份還原、效能調校

L3 — Observability(可觀測層)

#主題說明
11Metrics & MonitoringPrometheus + Grafana、Exporter、Dashboard
12ELK)集中式日誌、結構化日誌、ILM
13Alerts & ChatOps告警分級、Alertmanager、Runbook
14 ETL排程任務、冪等性、資料驗證

L4 — Application(應用層)

#主題說明
15API Gateway & Routing統一入口、限流、JWT 驗證、版本管理
16Event-driven & Queue訊息佇列、非同步處理、DLQ
17WebSocket即時通訊、心跳機制、多節點擴展
18Serverless適用場景、Cold Start、混合部署

L5 — Advanced(進階層)

#主題說明
19 Production)多環境規劃、資源隔離、部署流程
20多機監控與服務發現node_exporter、Service Discovery、Uptime 監控
21CD 實戰模板Pipeline 模板、多環境部署、Monorepo
22告警 Webhook 整合Slack / Discord / Line 通知模板
23安全掃描Container Image 與 Dependency 檢測
24Secrets 管理與憑證生命週期Vault、Let’s Encrypt、cert-manager
25備份策略與災難復原RTO/RPO、3-2-1 原則、DR 演練
26DNS、負載均衡與 CDNDNS 管理、L4/L7 LB、Cloudflare CDN
27Infrastructure as CodeTerraform、GitOps、State 管理

L6 — Data & Security(資料與安全層)

#主題說明
28資料庫全景從 Google Sheets 到 Vector DB,每一步回答「上一個為什麼不夠」
29PostgreSQL 進階Full-Text Search、GIN/GiST 索引、JSONB、效能調校
30Elasticsearch 深入搜尋架構、Mapping 設計、查詢調校、與 PostgreSQL FTS 的分界線
31應用安全OWASP Top 10、Secure Coding、AI 安全風險、從 Infra 到 AI 的安全收斂

L7 — Templates & Orchestration(模板與編排層)

#主題說明
32Docker Compose 實戰模板四套即用模板:Web App、監控、日誌、開發環境,附最佳實踐
33Kubernetes 入門從 Docker Compose 到 K8s:核心概念、清單範本、生態工具與選型建議

閱讀建議

入門者

  • 先讀 01-05,建立基礎網路與部署概念。
  • 再讀 06-10,形成可交付的 pipeline。
  • 最後讀 11-14,建立可觀測能力。

已有經驗

  • 直接從最痛的主題開始(例如 Logs、Alerts、IaC)。
  • 透過 23-25 補足安全與備援。

模板導向


你可以怎麼用這個系列?

# 建議學習路徑(可對照卡片清單)
L1 -> L2 -> L3 -> L4 -> L5 -> L6 -> L7
 
# 實作策略
先穩定單機,再規劃多機,再導入編排

快速自檢清單

  • 你有穩定的入口(DNS / TLS)嗎?
  • 你有可重複的部署流程嗎?
  • 你有完整的監控與告警嗎?
  • 你知道資料如何備份與還原嗎?
  • 你知道最危險的安全風險在哪?

關鍵觀念備忘

  • Infra 是產品的一部分:不是後台,也不是可忽略的細節。
  • 可觀測是基礎能力:沒有監控,就沒有可用性。
  • 安全是收斂點:所有層都要對安全負責。
  • 模板是加速器:能避免重複犯錯。

常見問題

Q1:我只有一台主機,還需要這麼多嗎?

需要「概念」,但不一定需要「全部實作」。 一台主機也會遇到 TLS、Secrets、Backup 問題。

Q2:我是不是要直接上 K8s?

不一定。 先把 Compose 模板跑穩定,再考慮 K8s。

Q3:這個系列可以當作教育訓練嗎?

可以。 每一篇都能作為獨立工作坊的教材。


下一步建議

此資料夾下有 33 條筆記。