ทีมเล็กมักคิดว่า 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
