經過 26 天的探索,我們從抽象思維出發,一步步穿越基礎建設的各個層面。從「設計思維」到「技術落地」,每個階段都像是在堆疊一個平台的結構體。來到第 27 天,也象徵著這段旅程即將進入尾聲。
接下來的篇章,我們不再只聚焦單一技術,而是以「資料平台」為核心,思考這些元件如何彼此銜接,共同構築一個能處理、同步與儲存資料的中樞系統。
為了實現這個目標,今天我們將進行回顧與盤點,並為後續落地提供規劃——設計一個 PoC,幫助讀者快速驗證技術,將抽象概念轉化為可操作的實務流程。
回顧前六個階段,我們已完成了資料平台的主要技術地圖:
1️⃣ 工程思維與抽象(Day 1–4)
從語意、案例與設計平衡出發,討論「抽象」如何幫助工程師提煉問題,建立具備彈性的架構視角。
2️⃣ Helm 實戰(Day 5–9)
以 values.yaml 為核心,學習 template 設計與版本策略,觀察 Bitnami Chart 的模組化與一致性設計。
3️⃣ GitLab CI/CD(Day 10–13)
探討 Runner、部署策略與自動化管線設計,讓部署與版本控制能自然融入團隊工作流。
4️⃣ Log、Kafka 與系統底層(Day 14–18)
深入事件流的運作邏輯,理解 Kafka 如何以 Log 為核心支撐資料一致性與多訂閱場景。
5️⃣ Kubernetes 實務(Day 19–22)
從 annotation、CRD 到外部 API 互動,體會 Kubernetes 的抽象層與可擴充性設計。
6️⃣ Terraform 與基礎建設自動化(Day 23–26)
回到 IaC 的根本,探討模組化、參數治理與多層次架構,確立基礎設施的一致性與可維運性。
這六大區塊不僅是技術清單,更構成了資料平台的基礎,它們將引導我們將抽象目標逐步轉化為可執行的工程實踐。
在接下來的收束與整合階段,我們的核心目標是把前面各個技術模組串聯起來,形成一個可操作、可驗證的資料平台中介層。為了將抽象概念落地,我們將規劃一個 最小可行 PoC,能在本地 Kubernetes 環境運行,模擬資料從來源到下游的完整流動,並驗證資料處理與傳輸的完整性。以下是主要元件的分類與功能盤點:
資料來源(Source):
中間件(Middleware):
資料流與處理(Streaming & Processing):
服務管理(Service Management):
基礎設置(Infrastructure Setup):
部署與自動化(CI/CD):
這些元件將在後續篇章中被組合成一個最小可行的資料平台 PoC。
從明天開始,我們將正式進入「整合篇」,嘗試把前 26 天的技術與概念串聯起來——
以 PoC 為基礎,讓抽象思維逐步對應到可操作的資料流與 Kubernetes / CI/CD 流程驗證,幫助讀者理解各元件如何協同運作。
PoC 設計目標:建立一個可驗證、可重現的資料流中介層,讓我們在本地快速觀察資料從來源到 Sink 的流動,並驗證元件運作。
核心理念:
驗證解耦概念:
Kafka 作為事件流中樞,各系統間不直接依賴,展示資料傳輸解耦特性。
資料一致性驗證:
使用 Schema Registry 與 Kubernetes Namespace / ServiceAccount,確保資料結構與運行環境可控、可追蹤。
快速部署與測試:
利用 Docker Desktop Kubernetes 與 GitLab CI/CD,使 PoC 可快速部署、測試與調整。
學習閉環:
從資料產生、傳輸到最終存放,理解每個元件角色與互動,形成從概念到操作的完整學習體驗。
強調「抽象概念 → PoC 實作 → 技術理解」,讓讀者明白 PoC 的意圖與價值,而非誤認為完整平台。
為了讓概念落地,我們設計了一個 最小可行 PoC(MVP),目標是幫助讀者快速驗證資料流核心運作,並理解各個元件如何協作。PoC 專注於:
poc/
├── terraform/ # 管理本地 Kubernetes Namespace 或其他基礎資源
├── helm/
│ ├── kafka/ # Kafka Helm Chart 配置
│ └── connect/ # Kafka Connect Helm Chart 配置
├── mysql/
│ ├── init.sql # 測試資料初始化腳本
│ └── deployment.yaml # MySQL Deployment 與 Service
├── sink/
│ ├── deployment.yaml # Sink Deployment (MySQL 或 FileSink)
│ └── service.yaml # Sink Service
├── gitlab-ci/
│ └── .gitlab-ci.yml # GitLab CI/CD Pipeline
└── README.md # PoC 操作說明與流程
每個資料流元件都被拆解並分工明確,讀者可以直接在本地環境啟動,並觀察資料從來源到 Sink 的完整運作。這種結構也便於未來擴展,例如增加更多 Source 或 Sink。
[MySQL Source] # 產生測試資料
│
▼
[Kakfa Connect (Source)] # 將 MySQL 資料抓取到 Kafka Topic
│
▼
[Kafka Broker / Topic] # Kafka Cluster 與 Topic,支撐事件流與多訂閱
│
▼
[Kafka Connect (Sink)] # 將 Topic 資料寫入最終 Sink
│
▼
+-------------------+
| End Sink | # 最終資料存放地
| - MySQL Sink | # 可寫回資料庫
| - FileSink | # 可寫入檔案模擬
+-------------------+
---Pipeline Control---
[GitLab CI/CD Pipeline] # 控制部署與驗證流程
├─> 自動部署 Helm Chart (Kafka + Connect)
├─> 初始化 MySQL 與測試資料
└─> 驗證資料流完整性與可重現性
這個流程圖清楚呈現資料從產生到消費的全程,以及 CI/CD 如何串接整個 PoC。讀者可以透過這個流程,直接觀察資料流運作,並學會如何驗證各元件的功能。
經過前 26 天的探索與實務分享,我們已經建立了一條完整的資料平台知識鏈:從抽象思維與設計哲學,到 Helm、CI/CD、Kafka、Kubernetes 與 Terraform 的落地實踐,每個技術點都串聯起整個平台的脈絡。
今天,我們進入收束與整合階段,並為後續 PoC 落地做了具體規劃:
今天主要聚焦在 PoC 的規劃與設計,這個步驟使得我們對整個資料平台的輪廓有了更明確的掌握:這正是抽象概念逐步轉化為可操作具體服務的過程。比起單純列出技術,這樣的設計更貼近「從概念到落地」的主題,也讓讀者能對資料平台的構建有更直觀的理解。
接下來,我們將開始提供具體的實作步驟,示範如何在本地 Docker 環境結合 GitLab.com 完成一個簡單且可驗證的 PoC,期待明天的內容能讓大家親自體驗資料平台的流動與架構。
謝謝各位的閱讀,我們明天見!