Overview
What CloudDeploy is
หัวข้อที่มีชื่อว่า “What CloudDeploy is”CloudDeploy คือจุดที่ซีรีส์หยุดสร้าง แอป แล้วเริ่มสร้าง platform ที่แอปเหล่านั้นรันอยู่ — จริง บนสาม cloud คุณเขียน infrastructure as code ด้วย Terraform, เก็บให้ DRY ข้าม cloud ด้วย Terragrunt, provision managed Kubernetes บน AWS, GCP, และ Azure, แล้ว deploy microservices ShopMicro ที่คุณสร้างใน project #3 ลงแต่ละ cluster จากนั้นทำให้เป็น deployment จริง: Datadog เฝ้าดู, Keycloak เฝ้ายาม, GrowthBook ติด flag, และ GitHub Actions ส่งขึ้น production
หัวใจของ capstone คือช่องว่างระหว่าง “รันบน laptop ผมได้” กับ “รันบน production บน infrastructure ที่ทีมทำซ้ำได้ สังเกตได้ ทำให้ปลอดภัยได้ และแก้ได้อย่างมั่นใจ” ทุก project ก่อนหน้านี้จบด้วย docker compose up ในเครื่อง หรือ deploy เดี่ยว ๆ CloudDeploy คือ module ที่เปลี่ยนตัวไหนก็ได้ในนั้นให้กลายเป็น platform จริงแบบ multi-cloud ที่นิยามด้วยโค้ด ShopMicro คือ workload เพราะโหดที่สุด — ระบบ microservices บน Kubernetes ที่มี Helm chart ของตัวเอง — ดังนั้นถ้า platform รัน ShopMicro บนสาม cloud ได้ ก็รันอะไรก็ตามที่ซีรีส์นี้สร้างมาได้
ส่วนที่ต้องพูดตรง ๆ ตั้งแต่ต้น: การไป multi-cloud นั้น กว้าง ไม่ลึก คุณจะได้เห็น IAM สามแบบ, เรื่องราว load-balancer สามแบบ, ความหยุมหยิมของ managed Postgres สามแบบ — และ Terragrunt คือสิ่งที่กันไม่ให้คุณเขียน config เดียวกันซ้ำสามรอบ คอร์สแบบ single-cloud จะลงลึกกับ cloud เดียวมากกว่า ส่วนคอร์สนี้แลกความลึกกับทักษะที่มีค่าจริง ๆ อย่างการทำ infrastructure แบบ portable
ฟีเจอร์ที่มี
หัวข้อที่มีชื่อว่า “ฟีเจอร์ที่มี”- Infrastructure as code — ทั้ง platform เป็น Terraform module ทำซ้ำได้จาก account เปล่า
- DRY multi-cloud — Terragrunt ขับ module เดียวกันข้าม tree
live/{aws,gcp,azure}/พร้อม remote state และ locking - Managed Kubernetes บนสาม cloud — EKS, GKE, และ AKS แต่ละตัวมี node pool และ networking
- Managed data — RDS, Cloud SQL, และ Azure Database for PostgreSQL
- ShopMicro ที่ deploy จริง — Helm chart ของตัวเองบนแต่ละ cluster หลัง ingress และ DNS
- Observability, identity, flag — Datadog, Keycloak, และ GrowthBook เป็น platform layer ที่เป็นกลางต่อ cloud
- CI/CD — GitHub Actions รัน
terragrunt planตอน PR แล้ว apply + deploy ตอน merge ข้าม cloud matrix
แผนที่คอร์ส
หัวข้อที่มีชื่อว่า “แผนที่คอร์ส”แต่ละ build module ดัดแปลงคอร์ส Learn Hub มาเป็นส่วนหนึ่งของ CloudDeploy
| โมดูล | สิ่งที่คุณสร้าง | คอร์สใน Learn Hub ที่อ้างอิง |
|---|---|---|
| 1 · Setup & Tooling | Terraform, Terragrunt, cloud CLI, layout ของ repo | Terraform |
| 2 · Terraform Foundations | Provider, resource, state, variable | Terraform |
| 3 · Terragrunt & Remote State | config แบบ DRY, backend, locking, tree live/ | Terraform |
| 4 · Networking | VPC/VNet module ที่นำกลับมาใช้ซ้ำได้ | Terraform / Cloud |
| 5 · Managed Kubernetes | EKS / GKE / AKS | Kubernetes |
| 6 · Identity & IAM | Cloud IAM, least privilege | Cloud |
| 7 · Managed Data | RDS / Cloud SQL / Azure DB | Terraform |
| 8 · Deploying ShopMicro | Helm chart บนแต่ละ cluster | Kubernetes |
| 9 · Observability (Datadog) | Metric, trace, log, dashboard | Datadog |
| 10 · Identity (Keycloak) | Realm, OIDC, gateway auth | Keycloak |
| 11 · Feature Flags (GrowthBook) | Flag ที่คุม feature | GrowthBook |
| 12 · CI/CD | GitHub Actions, multi-cloud | Docker / CI |
| 13 · Multi-cloud in Practice | Drift, cost, teardown | Cloud |
ตรวจสอบผล
หัวข้อที่มีชื่อว่า “ตรวจสอบผล”คุณพร้อมไปต่อเมื่อคุณตอบคำถามพวกนี้ด้วยคำพูดของคุณเองได้:
- ความต่างที่ CloudDeploy พูดถึงจริง ๆ คืออะไร — ระหว่างแอปที่แค่รันได้ กับ infrastructure ที่ทำซ้ำได้ สังเกตได้ ปลอดภัย และแก้ได้?
- ทำไม ShopMicro ถึงเป็น workload ที่ capstone เลือก deploy แทนที่จะเป็น sample เล่น ๆ?
- multi-cloud แลกอะไรทิ้งไป และ Terragrunt คืนอะไรกลับมา?
ต่อไป architecture จะแสดงให้เห็นว่าชิ้นส่วนต่าง ๆ ประกอบกันอย่างไร