Workshop: DevOps สำหรับทีมเล็ก — CI/CD + Deploy + Monitor ครบจบใน 1 วัน

ทีมเล็กมักคิดว่า DevOps เป็นเรื่องของเอนเทอร์ใหญ่ในองค์กร สำหรับทีมเล็ก 1-5 คน การเริ่มใช้ DevOps อย่างจริงจังควรเริ่มจากสิ่งที่เห็นผลบีมสุด ได้แก่ สร้าง Pipeline สำหรับ Test + Deploy อัตโนมัติ และ Monitor Server ให้พร้อมแจ้งเตือน Workshop นี้ออกแบบมาสำหรับทีมเล็กโดยเฉพาะ สามารถตั้งค่าทุกอย่างได้ในวันเดียวบน Cloud VPS ของ ผู้ให้บริการโฮสติ้ง

เป้าหมายของ Workshop นี้

ภายใน 1 วัน ทีมของคุณจะมี DevOps Stack ที่ใช้งานได้จริงครบทุกอย่าง

  • CI Pipeline: GitHub Actions รัน Test อัตโนมัติทุก Push
  • CD Pipeline: Deploy ไป Server อัตโนมัติเมื่อ Merge ไป main
  • Docker: App ทำงานใน Container พร้อม Restart Policy
  • Monitoring: Grafana Dashboard แสดงสถานะ Server Real-time
  • Alerting: Slack แจ้งเตือนเมื่อเกิดปัญหา
  • Zero-downtime Deploy: ผู้ใช้ไม่รู้สึกตอนทีม Deploy

สิ่งที่ต้องเตรียม

  • Cloud VPS 1 เครื่อง (2 vCPU, 4GB RAM ขั้นต่ำ) จาก ผู้ให้บริการโฮสติ้ง
  • Git Repository (GitHub หรือ GitLab)
  • Slack Workspace (สำหรับ Alerting)
  • เวลา 1 วันเต็ม (8 ชั่วโมง)

โครงสร้าง Workshop

วันที่ 1: เช้า (เรียน CI/CD + Docker)

  • 09:00 – 10:00: DevOps พื้นฐาน & CI/CD คืออะไร
  • 10:00 – 11:30: GitHub Actions สร้าง CI Pipeline
  • 11:30 – 12:30: Docker Compose setup สำหรับ Development

วันที่ 1: บ่าย (เรียน Deploy + Monitoring)

  • 13:00 – 14:30: Deploy อัตโนมัติไป Cloud VPS
  • 14:30 – 15:30: Prometheus & Grafana ตั้งค่า
  • 15:30 – 16:30: Slack Alerting & Testing
  • 16:30 – 17:00: Q&A & Troubleshooting

ขั้นตอนหลักที่ครอบคลุมใน Workshop

1. GitHub Actions: CI Pipeline

เรียนเขียน .github/workflows/test.yml เพื่อให้ GitHub Actions ทำ 3 สิ่ง:

  • ✅ ดึง Code เมื่อมี Push
  • ✅ รัน Unit Tests ด้วย npm test หรือ pytest
  • ✅ ส่ง Log ผลการทดสอบกลับ

2. Docker: Containerize Application

เขียน Dockerfile และ docker-compose.yml เพื่อให้ App ทำงานใน Container ด้วย restart policy และสำหรับทีมเล็ก Docker Compose เพียงพอแล้ว

3. CD Pipeline: Auto Deploy

GitHub Actions + SSH Keys สำหรับ Deploy ไปยัง Cloud VPS อัตโนมัติเมื่อ Merge ไป main branch

4. Monitoring: Prometheus + Grafana

ตั้งค่า Prometheus เก็บ Metrics เช่น CPU, Memory, Disk แล้ว Grafana ฟชำแสดง Dashboard สวยงาม

5. Alerting: Slack Notifications

Alertmanager ตั้งค่าให้ส่ง Alert ไป Slack เมื่อ CPU > 80% หรือ Disk > 90%

สิ่งที่ได้เรียนรู้

หลังจากวิธีการ 1 วัน ทีมคุณจะเข้าใจและสามารถ:

  • 📝 เขียน YAML Pipeline ใน GitHub Actions
  • 🐳 สร้าง & รัน Docker Containers
  • 🚀 Deploy Application โดยไม่มี Downtime
  • 📊 ติดตาม Server Metrics ด้วย Dashboard
  • 🔔 ตั้งค่า Alerting เมื่อ Server มีปัญหา
  • 🔐 จัดการ SSH Keys & Secrets อย่างปลอดภัย

ทำไมควรเลือก ผู้ให้บริการโฮสติ้ง Cloud VPS?

  • ✅ Cloud VPS ตั้งแต่ 2 vCPU 4GB ราคาย่อมเยา
  • ✅ Full root access สำหรับติดตั้ง Docker & Tools
  • ✅ ความเร็ว SSD & Network ที่เหมาะสม
  • ✅ Support จากทีม Thailand
  • ✅ Uptime 99.9% guarantee