910 คำ
5 นาที
IT Foundation EP.08 — Dev/Deploy/Ops
สารบัญ
เปิดเรื่อง: โค้ดที่ไม่ได้ส่งถึงลูกค้า = ศูนย์ Dev Environment — โต๊ะทำงานของโปรแกรมเมอร์ วิวัฒนาการของ Editor ปัญหาอมตะ “เครื่องผมรันได้นะ” และ Docker The AI Revolution in Coding — จากคนเขียนโค้ด สู่คนกำกับ AI AI-Powered Editors (Cursor, GitHub Copilot) Vibe Coding — เขียนโปรแกรมด้วยภาษามนุษย์ AI Agents — ลูกน้อง AI ที่ทำงานแทนทั้งกระบวนการ Version Control — Time Machine ของโค้ด Git — Checkpoint ของนักพัฒนา Git vs GitHub — คนสับสนกันบ่อย Hosting Evolution — ที่อยู่อาศัยของโค้ด On-Premise vs Cloud Modern Hosting — Vercel / Netlify / Cloudflare Pages Deployment Evolution — ส่งของให้ถึงมือลูกค้า Manual (FTP) vs Automation (CI/CD) Deployment Strategies — Blue-Green กับ Canary Operations & Monitoring — ปล่อยแล้วไม่ใช่จบ Logs & Metrics — กล่องดำและหน้าปัดรถ Alerting — สัญญาณกันขโมย Recovery Plans — ซ้อมแผนกู้ภัย Recap — อนาคตของ Ops

Series: IT Foundation — พื้นฐาน IT สำหรับยุค AI (ภาษาคน)

  1. EP.01 — รากฐานคอมพิวเตอร์
  2. EP.02 — พื้นฐาน Computer Science
  3. EP.03 — ซอฟต์แวร์ทำงานยังไง
  4. EP.04 — Architectures
  5. EP.05 — Web Technologies
  6. EP.06 — Security พื้นฐาน
  7. EP.07 — Performance & Testing
  8. EP.08 — Dev/Deploy/Ops ← คุณอยู่ตรงนี้
  9. EP.09 — Security ขั้นสูง
  10. EP.10 — Project Management

เปิดเรื่อง: โค้ดที่ไม่ได้ส่งถึงลูกค้า = ศูนย์#

ลองนึกภาพตามครับ โปรแกรมเมอร์คนนึงนั่งเขียนโค้ดสวยเนี้ยบในโน้ตบุ๊กของตัวเอง โค้ดทำงานได้ดีสุดๆ บนเครื่องเขา แต่ถ้ามันยังอยู่แค่ในเครื่องเขา มันไม่มีมูลค่าทางธุรกิจเลยสักบาทเดียว

ตอนนี้เราจะพาไปดูเส้นทางชีวิตของโค้ดตั้งแต่ “เกิด” บนโต๊ะทำงานของ dev ไปจนถึง “เติบโต” บน cloud ที่ให้บริการคนทั้งโลก — วิถีชีวิตของทีม dev จริงๆ เป็นยังไง ใช้เครื่องมืออะไร AI เข้ามาพลิกเกมตรงไหน และเราเอาโค้ดขึ้นเซิร์ฟเวอร์โดยไม่ให้เว็บล่มได้ยังไง เรื่องพวกนี้คือ “งานเบื้องหลัง” ที่ผู้บริหารส่วนใหญ่มองไม่เห็น แต่ถ้าเข้าใจไม่กี่หลักการก็คุยกับทีม dev ได้รู้เรื่องขึ้นเยอะครับ

Dev Environment — โต๊ะทำงานของโปรแกรมเมอร์#

ก่อนจะสร้างตึก สถาปนิกต้องมีโต๊ะเขียนแบบก่อน โปรแกรมเมอร์ก็เหมือนกัน เครื่องมือเขียนโค้ด (Editor / IDE) คือโต๊ะทำงานของเขา

วิวัฒนาการของ Editor#

  • ยุคแรก — Text Editor ธรรมดา (Notepad): เขียนทีละตัวอักษร พิมพ์ผิดจุดเดียวพังทั้งระบบ และหาจุดผิดยากมากเพราะไม่มีอะไรมาช่วยเตือนเลย
  • ยุคสอง — IDE แบบหนัก (Visual Studio): รวมทุกอย่างไว้ในโปรแกรมเดียว มีปุ่ม Run/Debug ในตัว ครบเครื่องแต่เปิดโปรแกรมทีรอกันเป็นนาที กินแรมมหาศาล
  • ยุคปัจจุบัน — Modern Editor (VS Code): มาตรฐานของตลาดตอนนี้ เบา เร็ว เปิดติดทันที มี Linter ขีดเส้นแดงเตือนเมื่อเขียนผิด มี Syntax Highlighting ทำให้โค้ดอ่านง่ายขึ้น

มุมผู้บริหาร: ทีม dev ทุกทีมควรใช้เครื่องมือที่มี Linter กับ Formatter ตั้งค่าไว้เหมือนกันทั้งทีม เพื่อให้โค้ดของทุกคน “หน้าตาเหมือนกัน” อ่านง่าย รีวิวง่าย เวลาคนลาออกก็รับช่วงต่อได้ไม่ต้องเริ่มใหม่

ปัญหาอมตะ “เครื่องผมรันได้นะ” และ Docker#

มีประโยคนึงที่ทีม dev พูดกันมา 30 ปี คือ “It works on my machine” — เครื่องผมรันได้ แต่พอขึ้น server ของจริงแล้วพัง

สาเหตุคือสภาพแวดล้อมของเครื่อง dev กับ server จริงมักไม่เหมือนกัน เวอร์ชัน Python ต่างกัน library ขาดตัวนึง ระบบปฏิบัติการคนละตัว เรื่องเล็กๆ พวกนี้ทำให้โค้ดที่รันได้บนเครื่องนึง รันไม่ได้อีกเครื่องนึง

Docker มาแก้ปัญหาด้วยแนวคิด “Container” คือห่อโค้ดกับสภาพแวดล้อมทั้งหมด (OS, library, config) ใส่กล่องมาตรฐานไปพร้อมกัน

อุปมาคล้ายกับ “ตู้คอนเทนเนอร์สินค้า” ในท่าเรือครับ ไม่ว่าจะเอาไปวางบนเรือ รถบรรทุก หรือรถไฟ ของข้างในยังเหมือนเดิมเป๊ะ Docker ก็ทำแบบเดียวกัน — ไม่ว่าจะรันบน Windows, Mac หรือ Linux โปรแกรมข้างในทำงานเหมือนกันเสมอ

The AI Revolution in Coding — จากคนเขียนโค้ด สู่คนกำกับ AI#

ในรอบ 2-3 ปีที่ผ่านมา วงการโปรแกรมเมอร์เปลี่ยนครั้งใหญ่ที่สุดในรอบ 20 ปี และการเปลี่ยนแปลงนี้ยังไม่หยุดครับ

AI-Powered Editors (Cursor, GitHub Copilot)#

ปัญหาเดิม: โปรแกรมเมอร์เสียเวลาประมาณ 50% ไปกับการ “จำไวยากรณ์” (ตัวอักษรวางผิดที่ตัวเดียวก็พัง) กับการ Google หาวิธีเขียนโค้ด

ทางแก้: AI Copilot — ผู้ช่วยอัจฉริยะที่ฝังอยู่ในเครื่องมือเขียนโค้ด เครื่องมือยอดนิยมตอนนี้คือ Cursor และ GitHub Copilot AI พวกนี้ “อ่านบริบท” ทั้งโปรเจกต์ได้ รู้ว่าโค้ดคุณเขียนสไตล์ไหน ใช้ library อะไร

เปรียบเทียบง่ายๆ คือจาก “พิมพ์ดีดเอง” กลายเป็น “มีเลขาส่วนตัว” คุณสั่งว่า “สร้างปุ่มสีแดงมุมขวาบน” AI พิมพ์โค้ดเสร็จให้ในวินาทีเดียว

มุมผู้บริหาร: จากข้อมูลที่เห็นในตลาด ทีมที่ใช้ AI Copilot เป็น productivity เพิ่มขึ้น 30-50% ทีมที่ยังไม่ใช้จะทำงานช้ากว่ามหาศาล แต่ต้องระวังเรื่องนึงคือ AI Hallucination — AI บางทีแต่งโค้ดที่ดูดีแต่จริงๆ ไม่ถูก ทีมต้องมีวินัยตรวจทานก่อนใช้เสมอ

Vibe Coding — เขียนโปรแกรมด้วยภาษามนุษย์#

คอนเซปต์ที่มาแรงมากปีนี้คือ Vibe Coding — เขียนโปรแกรมด้วย “ภาษาธรรมชาติ” (ไทย/อังกฤษ) บรรยายว่าอยากได้ “อารมณ์” หรือ “ฟีล” แบบไหน ไม่ต้องสนไวยากรณ์คอมพิวเตอร์เลย

กระบวนการคือ: คนบอก Vibe → AI เขียนโค้ด → คนปรับ Vibe → AI แก้โค้ด วนไปจนได้ผลลัพธ์ที่ต้องการ

ผมชอบอุปมาของฝรั่งว่า โปรแกรมเมอร์เปลี่ยนจาก “ช่างก่ออิฐ” (วางอิฐทีละก้อน) เป็น “ผู้กำกับหนัง” (บอกทีมงานว่าอยากได้ฉากแบบไหน) ทักษะที่สำคัญเปลี่ยนจาก “จำ syntax” ไปเป็น “สื่อสารให้ชัดเจน” และ “ตัดสินผลลัพธ์”

AI Agents — ลูกน้อง AI ที่ทำงานแทนทั้งกระบวนการ#

ขั้นถัดไปจาก Copilot คือ AI Agent — AI ที่ไม่ใช่แค่ช่วยพิมพ์ แต่ทำงานแทนได้ทั้ง loop: คิดแผน → เขียนโค้ด → ทดสอบ → แก้บั๊ก → ส่งงาน เครื่องมือที่มาแรงคือ Devin และ Replit Agent

ยังไม่สมบูรณ์แบบ แต่ทิศทางชัดเจนว่ากำลังไปที่นั่น สิ่งที่ทีมต้องเตรียมคือเรียนรู้ที่จะ “บริหาร” AI Agent ได้ ไม่ใช่แค่ “ใช้” มัน

Version Control — Time Machine ของโค้ด#

Git branch tree visualization — หลาย branch วิ่งขนาน, มี merge commits

หน้าตา Git branch graph — แต่ละสายคือ branch แยก, commit คือจุด, merge คือสายมาบรรจบกัน

นี่คือเครื่องมือที่ถ้าไม่เคยใช้ จะนึกไม่ออกว่าสมัยก่อนทีม dev เขาอยู่กันได้ยังไงครับ

Git — Checkpoint ของนักพัฒนา#

ปัญหาเดิม: เซฟไฟล์ชื่อ Final.zip แล้วอีกวันเป็น Final_v2.zip อีกอาทิตย์เป็น Final_FINAL_real.zip พอทำงานเป็นทีมแล้วไฟล์ทับกันมั่ว ของใครแก้ตรงไหนไม่รู้ พอพังก็ย้อนไม่ได้

ทางแก้: Git คือระบบบันทึกประวัติทุกการเปลี่ยนแปลงของโค้ด บันทึกได้ถึงระดับ “ใครแก้บรรทัดไหน เมื่อไหร่ เพื่อเหตุผลอะไร”

ผมชอบเปรียบ Git เป็น “Time Machine สำหรับโปรเจกต์” หรือใกล้ตัวกว่านั้นคือ “Checkpoint ในเกม” — ทุกครั้งที่คุณ “commit” คือเซฟเกมที่จุดนั้น ถ้าเล่นต่อไปแล้วพัง (โค้ดแตก) คุณก็แค่ “โหลด save” (revert) กลับมาจุดที่ยังใช้ได้ เล่นใหม่ได้เรื่อยๆ โดยไม่กลัวเสียของเก่า

นอกจากนี้ Git ยังมี Branch — เหมือนเกมที่เปิดหลาย save slot พร้อมกัน คุณทดลองทำฟีเจอร์ใหม่ใน slot นึง ถ้าเวิร์คก็ Merge รวมกลับเข้า save หลัก ถ้าไม่เวิร์คก็ทิ้ง slot นั้นไป save หลักไม่เสียหาย

Git vs GitHub — คนสับสนกันบ่อย#

หลายคนคิดว่า Git กับ GitHub คือของเดียวกัน จริงๆ แล้วไม่ใช่ครับ

  • Git = โปรแกรมที่อยู่ในเครื่องของคุณ (เหมือน “แอปกล้อง” ในมือถือ)
  • GitHub = เว็บไซต์ที่เอาไว้ฝากโค้ดของคุณไว้ออนไลน์ให้ทีมอื่นเข้าถึงได้ (เหมือน “Instagram” ที่เอาไว้ลงรูปจากกล้อง)

มุมผู้บริหาร: GitHub (หรือคู่แข่งอย่าง GitLab, Bitbucket) คือ “ตู้เซฟทรัพย์สินทางปัญญา” ของบริษัท โค้ดทั้งหมดอยู่ที่นั่น ต้องจัดการสิทธิ์การเข้าถึง (Access Control) ให้รัดกุม ใครออกจากบริษัทต้องถอดสิทธิ์ทันที มิฉะนั้นโค้ดของคุณอาจเดินออกไปพร้อมเขา

Hosting Evolution — ที่อยู่อาศัยของโค้ด#

พอเขียนโค้ดเสร็จ ต้องเอาไปติดตั้งไว้ที่ไหนสักแห่งเพื่อให้ลูกค้าเข้าใช้งานได้ “ที่นั่น” เรียกว่า hosting และวิวัฒนาการของ hosting ก็น่าสนใจ

On-Premise vs Cloud#

  • On-Premise: ซื้อเซิร์ฟเวอร์มาตั้งในห้อง server ของบริษัทเอง ดูแลเอง เปรียบเหมือน “สร้างบ้านเอง” — ลงทุนก้อนใหญ่ตอนแรก (CAPEX) ของเป็นของเราแน่นอน แต่ต้องซ่อมเอง เพิ่มขนาดเองยาก
  • Cloud (AWS, Azure, GCP): เช่าเครื่องจากผู้ให้บริการ จ่ายตามที่ใช้จริง เปรียบเหมือน “เช่าโรงแรม” — ไม่ต้องลงทุนเยอะ (OPEX) อยากได้เครื่องใหญ่ขึ้นกดปุ่มเดียวได้เลย

Cloud เป็นมาตรฐานของสตาร์ทอัพและบริษัทสมัยใหม่เกือบทั้งหมด คำศัพท์ที่เจอบ่อยในโลก AWS คือ EC2 (เครื่อง server), S3 (ที่เก็บไฟล์), RDS (ฐานข้อมูล), Lambda (รันโค้ดแบบจ่ายตามใช้)

Modern Hosting — Vercel / Netlify / Cloudflare Pages#

ยุคปัจจุบันมี platform ใหม่ที่ทำให้การเอาเว็บขึ้นออนไลน์ง่ายมาก เชื่อม GitHub ปุ๊บ พอกด save โค้ด เว็บก็อัพเดตเองทันที

เปรียบเหมือน “Serviced Apartment” ครับ — หิ้วกระเป๋าเข้าอยู่ได้เลย ไม่ต้องวางท่อน้ำ ติดแอร์ หรือยุ่งกับโครงสร้างตึกใดๆ ทั้งสิ้น platform จัดการให้หมด

สำหรับเว็บบล็อก เว็บ portfolio เว็บ landing page การตลาด Modern Hosting พวกนี้เป็นตัวเลือกที่ดีที่สุดในปี 2026 ราคาถูก เร็ว และปลอดภัยระดับที่เซ็ตเองแทบไม่ได้

Deployment Evolution — ส่งของให้ถึงมือลูกค้า#

“Deployment” คือกระบวนการเอาโค้ดจากเครื่อง dev ขึ้นไปอยู่บน server จริงให้ลูกค้าใช้งานได้

flowchart TB
    A[เขียนโค้ด + commit] --> B[Push ไป Git]
    B --> C{CI<br/>ทดสอบผ่าน?}
    C -->|ผ่าน| D[Build artifact]
    C -->|ไม่ผ่าน| X[แจ้งเตือน<br/>กลับไปแก้]
    D --> E[Deploy ไป staging]
    E --> F{Preview OK?}
    F -->|ใช่| G[Deploy production]
    F -->|ไม่ใช่| X
    G --> H[Monitoring<br/>เฝ้าดู logs/metrics]

    style A fill:#2b6cb0,stroke:#2c5282,color:#fff
    style G fill:#2f855a,stroke:#276749,color:#fff
    style H fill:#6b46c1,stroke:#553c9a,color:#fff
    style X fill:#c53030,stroke:#9b2c2c,color:#fff

Manual (FTP) vs Automation (CI/CD)#

ยุคก่อน dev จะ ลากไฟล์ขึ้น server ด้วยมือ ผ่านโปรแกรม FTP เสี่ยงมากครับ — ลากผิดไฟล์ เผลอลบของเก่า อัพโหลดไม่ครบ เรื่องเหล่านี้เกิดเป็นประจำ และพอเว็บล่มก็หาสาเหตุยากเพราะไม่มีบันทึก

ยุคปัจจุบันใช้ CI/CD ซึ่งเหมือน “สายพานการผลิตอัตโนมัติ” ในโรงงาน:

  • CI (Continuous Integration): หุ่นยนต์ตรวจโค้ด — พอ dev commit โค้ดใหม่ ระบบจะรัน test ให้อัตโนมัติ ถ้าไม่ผ่านจะไม่ให้ไปต่อ
  • CD (Continuous Deployment): หุ่นยนต์ส่งของขึ้น server — พอ CI ผ่านแล้ว ระบบจะ deploy ขึ้น server ให้อัตโนมัติ ไม่ต้องมีมนุษย์มาลากไฟล์

มุมผู้บริหาร: กฎเหล็กในวงการคือ “ห้าม deploy ด้วยมือเด็ดขาด” ทุก release ต้องผ่าน pipeline เท่านั้น เพราะมือมนุษย์พลาดเสมอ แต่หุ่นยนต์พลาดน้อยกว่ามาก และทุกการ deploy ถูกบันทึกไว้ตรวจย้อนได้

Deployment Strategies — Blue-Green กับ Canary#

พอระบบใหญ่ขึ้น การ deploy ตรงๆ เสี่ยงเกินไปเพราะถ้าเวอร์ชันใหม่พัง ลูกค้าทั้งหมดจะเจอบั๊กพร้อมกัน จึงมีเทคนิค:

  • Blue-Green Deployment: สร้าง server 2 ชุดคู่กัน (สีน้ำเงินกับเขียว) ลูกค้าใช้ชุดน้ำเงินอยู่ เรา deploy เวอร์ชันใหม่ขึ้นชุดเขียว เทสจนมั่นใจ แล้วค่อย “สลับป้ายทางเข้า” ให้ลูกค้ามาที่ชุดเขียวพร้อมกัน ถ้าพังก็สลับกลับไปชุดน้ำเงินได้ทันที (Zero Downtime)
  • Canary Deployment: ตั้งชื่อตาม “นกขมิ้นในเหมืองถ่านหิน” สมัยก่อนที่คนงานใช้นกเป็นตัวทดสอบอากาศ เราปล่อยเวอร์ชันใหม่ให้ลูกค้าแค่ 5% ก่อน ถ้าไม่มีบั๊ก (นกยังไม่ตาย) ค่อยขยายเป็น 25%, 50%, 100% ตามลำดับ

Operations & Monitoring — ปล่อยแล้วไม่ใช่จบ#

นี่คือส่วนที่ผู้บริหารส่วนใหญ่มองข้าม พอเว็บออนไลน์ดูเหมือนทุกอย่างเรียบร้อย แต่จริงๆ เพิ่งเริ่มต้นครับ ระบบต้องมีคน “เฝ้า” 24 ชั่วโมง

Logs & Metrics — กล่องดำและหน้าปัดรถ#

สองอย่างนี้คู่กันเสมอ แต่หน้าที่ต่างกัน:

  • Metrics = “หน้าปัดรถยนต์” — บอกสถานะปัจจุบันแบบสรุป เช่น CPU กี่ %, RAM เหลือเท่าไหร่, คำขอเข้ามากี่ครั้งต่อวินาที เอาไว้ดู “ยังไหวไหม” แบบ real-time
  • Logs = “กล่องดำบนเครื่องบิน” — บันทึกทุกเหตุการณ์ละเอียดยิบ ใครเข้ามาตอนไหน ทำอะไร error ขึ้นเพราะอะไร เอาไว้หาสาเหตุ “ตอนเครื่องตก”

เครื่องมือยอดนิยมในตลาดคือ Datadog, Grafana (ดู metrics เป็น dashboard สวยๆ) และ ELK Stack (เก็บและค้น log)

Alerting — สัญญาณกันขโมย#

คุณไม่มีทางนั่งจ้องหน้าจอ dashboard ได้ 24 ชั่วโมง ทางแก้คือตั้ง “สัญญาณกันขโมย” — ถ้า CPU เกิน 90% เกิน 5 นาที หรือ error rate พุ่งทะลุ threshold ระบบจะยิงแจ้งเตือนเข้า Slack, Teams หรือแม้กระทั่งโทรเข้ามือถือทีม on-call (PagerDuty)

สโลแกนของวงการคือ “รู้ก่อนลูกค้าด่า” — ลูกค้าร้องเรียนเมื่อไหร่ = คุณแพ้แล้ว เราต้องรู้ปัญหาและแก้ก่อนลูกค้าจะรู้ตัวด้วยซ้ำ

Recovery Plans — ซ้อมแผนกู้ภัย#

คำศัพท์สำคัญคือ:

  • Backup: สำรองข้อมูลเป็นประจำ เก็บหลายที่ (ถ้า server หลักพัง ยังมีสำเนาอยู่)
  • Snapshot: ถ่ายภาพนิ่งของ server ทั้งเครื่อง ณ เวลาหนึ่ง ย้อนกลับไปได้ทั้งก้อน
  • RTO (Recovery Time Objective): “เราต้องกู้ระบบกลับมาให้ได้ภายในกี่นาที” เป็นข้อตกลงกับฝั่งธุรกิจ
  • DR Drill (Disaster Recovery Drill): ซ้อมแผนพังจริง จำลองว่า data center ไหม้ แล้วทีมต้องกู้ระบบขึ้นมาได้ภายในเวลาที่กำหนด

ทีม ops ที่ไม่เคยซ้อม = ทีมดับเพลิงที่ไม่เคยจับสายยาง วันเกิดเหตุจริงจะมือสั่นครับ

Recap — อนาคตของ Ops#

ตอนนี้เราเห็นภาพครบลูปแล้ว ผมสรุปเป็น 5 ขั้นตอนของยุคปัจจุบันให้:

  1. Vibe: บอก AI ว่าอยากได้ฟีเจอร์แบบไหน
  2. Verify: โปรแกรมเมอร์ตรวจโค้ดที่ AI เขียน แล้ว commit ลง Git
  3. Automate: ระบบ CI/CD ดึงโค้ดไป build และ test อัตโนมัติ
  4. Deploy: ถ้าผ่าน test ก็ขึ้น cloud อัตโนมัติด้วย Blue-Green หรือ Canary
  5. Observe: เฝ้าด้วย logs/metrics และรอ alert ถ้ามีปัญหา

สังเกตว่าใน 5 ขั้นตอนนี้ “คน” ทำงานแค่ 2 ขั้น (Vibe + Verify) ที่เหลือเป็นหน้าที่ของเครื่องทั้งหมด นี่คือทิศทางที่ทีมเทคในปี 2026 กำลังเคลื่อนไป — คนใช้เวลาไปกับการ “ตัดสินใจ” และ “ตรวจสอบ” ส่วน AI กับระบบอัตโนมัติจัดการงานซ้ำๆ ให้

ตอนนี้คุณพอเห็นภาพแล้วว่าทำไม “Deploy บ่อยๆ ทีละนิด” ถึงดีกว่า “Deploy ทีเดียวก้อนใหญ่ปีละครั้ง” และทำไมการลงทุนใน CI/CD กับ monitoring คุ้มค่ามาก — เพราะมันคือกลไกที่ทำให้ทีมปล่อยของได้บ่อย กล้าทดลอง และค้นพบปัญหาก่อนลูกค้า

EP ต่อไปเราจะกลับไปลึกขึ้นในเรื่อง Security ขั้นสูง ที่ไม่ใช่แค่ “ตั้งรหัสผ่านยาวๆ” แต่พูดถึงระดับ Zero Trust, Encryption และ Compliance มาตรฐานโลกครับ

EP.09 — Security ขั้นสูง