สวัสดีค่าา ยินดีต้อนรับสู่ซีรี่ส์ใหม่ล่าสุดที่ชื่อว่า DevOps พังแล้วพังอีกพังต่อ 🎉

ชื่อซีรี่ส์มันพูดถึงความจริงแบบตรงๆเลยนะ ว่าการเรียน DevOps มันคือการพังซ้ำๆ ซ้อนๆ จนกว่าจะเข้าใจ แต่ก็สนุกดีอ่ะ ถ้ารับได้ 5555

ซีรี่ส์นี้เขียนมาให้คนที่ไม่มีพื้นฐาน DevOps มาก่อนเลย อ่านได้หมดทุกคน เด็กมัธยมก็อ่านได้ นักพัฒนาที่ยังไม่เคยแตะ Ops ก็อ่านได้ เราจะค่อยๆไปด้วยกันนะ

EP แรกนี้จะเป็นการวาง foundation ก่อนเลย คือ DevOps คืออะไร มันเกิดมายังไง แล้วทำไมมันถึงสำคัญมากขนาดนี้ในวงการ software


ก่อนจะมี DevOps โลกมันเป็นยังไง

ลองนึกภาพว่าคุณอยู่ในทีมพัฒนาแอปอยู่ทีมนึง คุณกับทีมนั่งเขียน code กันมาหลายเดือน ทำฟีเจอร์ใหม่เสร็จ ทดสอบในเครื่องตัวเองแล้ว ทุกอย่าง work เรียบร้อย

แล้วก็ส่งให้อีกทีมนึง ซึ่งเป็นทีมที่ดูแล server ไปติดตั้ง

ผล?

พัง 🔥

"แต่มันทำงานได้บนเครื่องฉันนะ!"

และนี่คือประโยคอมตะที่ developer ทั่วโลกพูดมาแล้วนับล้านครั้ง ก่อนที่ DevOps จะเกิดขึ้นมาแก้ปัญหานี้

ปัญหามันอยู่ที่ไหนกันแน่

ในยุคนั้น (และในบางองค์กรที่ยังไม่ปรับตัว ก็ยังเป็นแบบนี้อยู่นะ) การทำซอฟต์แวร์จะแบ่งออกเป็นสองทีมหลักๆ ที่แทบไม่คุยกันเลย

👨‍💻 Dev (Development) 🖥️ Ops (Operations)
งานคือ เขียน code สร้าง feature ดูแล server ให้ระบบไม่ล่ม
ชอบ เปลี่ยนให้เร็ว ออก feature ให้ทัน ระบบนิ่ง ไม่เปลี่ยนอะไรกะทันหัน
กลัว งานช้า feature ออกไม่ทัน การเปลี่ยนแปลงที่ทำให้พัง
วัดความสำเร็จด้วย จำนวน feature ที่ release ได้ uptime ของระบบ

เห็นมั้ยว่าเป้าหมายมันขัดกันโดยธรรมชาติ Dev อยากเปลี่ยนเยอะๆ เร็วๆ แต่ Ops อยากให้ทุกอย่างอยู่นิ่ง เลยกลายเป็นว่าสองทีมนี้ขัดแย้งกันตลอด แล้วสุดท้ายผู้ใช้ก็ได้รับซอฟต์แวร์คุณภาพต่ำ update ช้า แถมพังบ่อยด้วย

ในยุคก่อน บางองค์กร release software รุ่นใหม่ได้แค่ปีละ 1–2 ครั้ง เพราะกระบวนการมันยาวและซับซ้อนมาก


แล้ว DevOps คืออะไรกันแน่

คำว่า DevOps มันเกิดขึ้นราวปี 2009 เป็นการรวมคำว่า Development กับ Operations เข้าด้วยกัน แต่มันไม่ใช่แค่ชื่อทีมหรือตำแหน่งงานนะ

DevOps คือ วัฒนธรรมและชุดแนวปฏิบัติ ที่ทำให้ทั้งสองทีมทำงานร่วมกันได้ แชร์ความรับผิดชอบร่วมกัน และส่งมอบซอฟต์แวร์ได้เร็วขึ้น ดีขึ้น และน่าเชื่อถือมากขึ้น

พูดให้เข้าใจง่ายขึ้น คิดว่ามันเหมือนวงดนตรี นักดนตรีแต่ละคนเล่นเครื่องดนตรีต่างกัน แต่ต้องฟังกัน ซ้อมพร้อมกัน และมุ่งไปสู่เป้าหมายเดียวกัน ถ้าต่างคนต่างเล่นโดยไม่ฟังกัน ผลที่ได้คือเสียงแหลกไม่ใช่เพลง 5555

สิ่งที่ DevOps เปลี่ยนแปลง

จาก "ทำเสร็จแล้วโยนข้ามกำแพงให้อีกทีม" กลายเป็น "เราทำด้วยกันตั้งแต่ต้นจนจบ"

ยุคเก่า: Dev → [ทำเสร็จ] → โยนให้ Ops → [ติดตั้ง] → พัง → โทษกัน 🔥 ยุค DevOps: Dev + Ops → วางแผนด้วยกัน → build → test → deploy → monitor → วนซ้ำ ♻️

ความแตกต่างที่เห็นได้ชัดคือ DevOps ทำให้กระบวนการทั้งหมดนี้เกิดขึ้นโดยอัตโนมัติ และเร็วมากขึ้น บริษัทอย่าง Amazon สามารถ deploy โค้ดขึ้น production ได้มากกว่า 1,000 ครั้งต่อวัน ในขณะที่แบบเดิมอาจทำได้แค่ปีละไม่กี่ครั้ง


หลักการ CALMS — แกนกลางของ DevOps

มีหลักการที่เรียกว่า CALMS ที่ใช้อธิบาย DevOps ได้ดีมาก

C — Culture (วัฒนธรรม)

สร้างบรรยากาศที่ทุกคนกล้าลองสิ่งใหม่ กล้าพัง และเรียนรู้จากความผิดพลาดโดยไม่กลัวถูกโทษ อันนี้สำคัญมาก เพราะถ้าวัฒนธรรมในองค์กรยังเป็น "ใครพังระวังตัว" DevOps จะไม่เกิดขึ้นเลย

A — Automation (ระบบอัตโนมัติ)

งานซ้ำๆ อย่างการ test โค้ด การ build และการ deploy ควรให้เครื่องทำ ไม่ใช่มนุษย์ เซฟเวลา เซฟความเครียด และลด human error ได้มากมาย

L — Lean (ลีน)

ลดขั้นตอนที่ไม่จำเป็นออก มุ่งเน้นส่งคุณค่าให้ผู้ใช้เร็วที่สุด แล้วค่อยปรับปรุงต่อ แทนที่จะรอทำให้ perfect แล้วค่อย release

M — Measurement (การวัดผล)

ตัดสินใจด้วยข้อมูล ไม่ใช่ความรู้สึก ถ้าไม่วัด ก็ไม่รู้ว่าดีขึ้นหรือแย่ลง

S — Sharing (การแบ่งปัน)

แบ่งปันความรู้ เครื่องมือ และบทเรียนที่ได้เรียนรู้ ทั้งภายในทีมและกับชุมชนภายนอก

💡 ถ้าจำ CALMS ไม่ได้ ก็แค่จำว่า DevOps คือการทำลายกำแพงระหว่าง Dev กับ Ops แล้วทำงานร่วมกันด้วยระบบอัตโนมัติ ก็พอ 5555


DevOps Engineer ทำอะไรในชีวิตจริงบ้าง

ตำแหน่ง DevOps Engineer คือคนที่คอยเชื่อมโลก Dev กับ Ops เข้าด้วยกัน งานของพวกเขาครอบคลุมหลายอย่างมาก เช่น

  • สร้าง CI/CD Pipeline — ระบบที่รัน test และ deploy โค้ดโดยอัตโนมัติทุกครั้งที่มีการ push code ใหม่
  • ดูแล Cloud Infrastructure — สร้างและจัดการ server บน AWS, GCP หรือ Azure
  • ทำ Containerization — ใช้ Docker และ Kubernetes จัดการ application ให้ทำงานได้สม่ำเสมอในทุก environment
  • ติดตั้ง Monitoring — ระบบแจ้งเตือนและ dashboard ที่ทำให้ทีมรู้ทันทีเมื่อระบบมีปัญหา
  • เขียน Infrastructure as Code — เขียน server และ network เป็นโค้ด เหมือนกับ version control ของ infrastructure

ฟังดูเยอะมากนะ ใช่ เยอะจริง แต่ในความเป็นจริง DevOps Engineer ส่วนใหญ่จะ specialize ในบางส่วน ไม่ได้ต้องเก่งทุกอย่างพร้อมกัน ค่อยๆสะสมไป

DevOps Engineer อยู่ใน top 3 ตำแหน่ง IT ที่มีเงินเดือนสูงที่สุดในโลกอย่างต่อเนื่อง ในไทยเงินเดือนระดับ senior อยู่ที่ประมาณ 100,000–200,000+ บาท


DevOps Lifecycle ดูเป็นอะไรได้บ้าง

ถ้าจะสรุปกระบวนการ DevOps ทั้งหมดออกมา หน้าตามันจะประมาณนี้

Plan → Code → Build → Test → Release → Deploy → Operate → Monitor ↑______________________________________________| (วนซ้ำต่อเนื่อง)

แต่ละขั้นตอนมีเครื่องมือเฉพาะที่นิยมใช้กัน ซึ่งเราจะค่อยๆไปลงลึกใน EP ต่อๆไปนะ EP นี้ขอแค่ให้เห็นภาพรวมก่อนว่ามันมีอะไรบ้าง

ขั้นตอน เครื่องมือยอดนิยม จะเรียนใน EP ไหน
Code / Version Control Git, GitHub, GitLab EP.3
Build / Test (CI) GitHub Actions, Jenkins, CircleCI EP.6
Containerize Docker EP.5
Deploy / Orchestrate Kubernetes, AWS ECS EP.7
Infrastructure Terraform, Ansible EP.8
Monitor Prometheus, Grafana, Datadog EP.9

สรุป EP.1

ก่อนจะไป EP ต่อไป ขอสรุปสั้นๆ ว่าที่เรียนมาใน EP นี้คืออะไรบ้าง

  • DevOps ไม่ใช่แค่ตำแหน่งงาน มันคือวัฒนธรรมและแนวปฏิบัติที่ทำให้ Dev กับ Ops ทำงานร่วมกันได้
  • ปัญหาเดิม คือ Dev อยากเปลี่ยนเร็ว Ops อยากให้นิ่ง เลยขัดกันตลอด
  • DevOps แก้ปัญหา ด้วยการ automate ทุกอย่าง และทำให้ทั้งสองทีมรับผิดชอบผลลัพธ์ร่วมกัน
  • CALMS คือหลักการหลักของ DevOps: Culture, Automation, Lean, Measurement, Sharing

🧠 ลองคิดดู: แอปหรือบริการที่คุณใช้ในชีวิตประจำวัน เช่น Grab, LINE หรือ Netflix — ทุกครั้งที่มี feature ใหม่ขึ้นมาโดยที่แอปไม่ได้ล่มเลย นั่นแหละคือ DevOps ทำงานอยู่เบื้องหลัง


EP ต่อไปจะเรียนอะไร

ใน EP.2 เราจะไปทำความรู้จักกับ Linux กับ Terminal กัน ซึ่งเป็น foundation ที่ DevOps Engineer ทุกคนต้องรู้ก่อนเลย ถ้ายังพิมพ์คำสั่งใน terminal ไม่เป็น ก็ยังไปต่อไม่ได้นะ แต่ไม่ต้องกลัว เดี๋ยวค่อยๆไปด้วยกัน

แล้วเจอกันใน EP.2 นะคะ 👋