ข้ามไปยังเนื้อหา

Overview

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 & ToolingTerraform, Terragrunt, cloud CLI, layout ของ repoTerraform
2 · Terraform FoundationsProvider, resource, state, variableTerraform
3 · Terragrunt & Remote Stateconfig แบบ DRY, backend, locking, tree live/Terraform
4 · NetworkingVPC/VNet module ที่นำกลับมาใช้ซ้ำได้Terraform / Cloud
5 · Managed KubernetesEKS / GKE / AKSKubernetes
6 · Identity & IAMCloud IAM, least privilegeCloud
7 · Managed DataRDS / Cloud SQL / Azure DBTerraform
8 · Deploying ShopMicroHelm chart บนแต่ละ clusterKubernetes
9 · Observability (Datadog)Metric, trace, log, dashboardDatadog
10 · Identity (Keycloak)Realm, OIDC, gateway authKeycloak
11 · Feature Flags (GrowthBook)Flag ที่คุม featureGrowthBook
12 · CI/CDGitHub Actions, multi-cloudDocker / CI
13 · Multi-cloud in PracticeDrift, cost, teardownCloud

คุณพร้อมไปต่อเมื่อคุณตอบคำถามพวกนี้ด้วยคำพูดของคุณเองได้:

  • ความต่างที่ CloudDeploy พูดถึงจริง ๆ คืออะไร — ระหว่างแอปที่แค่รันได้ กับ infrastructure ที่ทำซ้ำได้ สังเกตได้ ปลอดภัย และแก้ได้?
  • ทำไม ShopMicro ถึงเป็น workload ที่ capstone เลือก deploy แทนที่จะเป็น sample เล่น ๆ?
  • multi-cloud แลกอะไรทิ้งไป และ Terragrunt คืนอะไรกลับมา?

ต่อไป architecture จะแสดงให้เห็นว่าชิ้นส่วนต่าง ๆ ประกอบกันอย่างไร