Skip to content

Volume 14 · Operational Runbooks

วัตถุประสงค์ของ Volume

Volume นี้เป็นคู่มือทีมปฏิบัติการ (operations / on-call) ใช้ดูแลระบบ VTRC ในขณะรันจริง ทุกบทระบุคำสั่งที่ใช้งานได้ทันที — restart service, deploy เวอร์ชันใหม่, debug ปัญหาที่เกิดซ้ำ, และ recover จาก failure

ผู้อ่านที่คาดไว้

  • ทีมปฏิบัติการที่ดูแล server และมีสิทธิ SSH เข้าเครื่อง production
  • นักพัฒนาที่ต้องช่วย debug ปัญหาฝั่ง production ในเวลาเร่งด่วน
  • ผู้ดูแลระบบใหม่ที่เข้ามารับตำแหน่งและต้องเข้าใจระบบอย่างรวดเร็ว

ผู้อ่านควรมีความรู้พื้นฐานเรื่อง Docker, docker-compose, Linux shell, SQL, และ Redis

วิธีใช้ Volume นี้

  1. ปกติ — เริ่มจากบท 13.1 (Service inventory) เพื่อรู้ว่ามี service ใดบ้าง, port ใด, log ที่ไหน
  2. ตอนเกิดเหตุ — ไปที่บท 13.8 (Debug playbooks) ซึ่งรวมสถานการณ์ที่พบบ่อยและขั้นตอนแก้ไข
  3. ก่อน deploy — อ่านบท 13.3 (Deploy) เพื่อรู้ขั้นตอนและ rollback path
  4. เตรียมตัวล่วงหน้า — บท 13.5 (Database), 13.6 (Redis), 13.9 (SSL), 13.10 (Backup) ควรอ่านและทดลองใน UAT ก่อนเกิดเหตุจริง

สิ่งที่จำเป็นต้องมีก่อนเริ่มงาน

  • สิทธิ SSH เข้า production server และ UAT server
  • สิทธิ sudo หรือ root บนบางคำสั่ง (เช่น docker, docker-compose)
  • กุญแจ SSH ที่ลงทะเบียนใน server
  • สิทธิเข้าถึง GCP project vtrc-nonprod สำหรับ pull image
  • สิทธิเข้าถึง Bitbucket repository สำหรับดู commit history
  • หมายเลขโทรศัพท์ของผู้ประสานงานฐานข้อมูล, ผู้ดูแล LDAP, และผู้ดูแล network

ขอบเขตที่ครอบคลุม

  • การดำเนินการรายวัน — start, stop, restart service
  • การ deploy เวอร์ชันใหม่สำหรับทั้ง 5 services
  • การอ่าน log และค้นหาต้นตอของปัญหา
  • การจัดการ database (MariaDB, MSSQL) และ Redis
  • การจัดการ user, session, JWT
  • debug playbook สำหรับ 10 สถานการณ์ที่พบบ่อย
  • การจัดการใบรับรอง SSL
  • การดูแล disk, backup, recovery

ขอบเขตที่ไม่ครอบคลุม

  • การตั้งค่า infrastructure ตั้งแต่ต้น — อยู่ใน Volume 12 (Infrastructure & Deployment)
  • รายละเอียดทางสถาปัตยกรรม — อยู่ใน Volume 2 (Architecture & Topology)
  • รายละเอียดช่องโหว่ด้านความปลอดภัย — อยู่ใน Volume 9 (Security & Authentication)
  • การวางแผนปรับปรุงระบบ — อยู่ใน Volume 15 (Modernization Plan)

คำเตือนที่สำคัญ

Volume นี้อ้างถึงคำสั่งและ path ที่ใช้จริงใน production ผู้อ่านต้อง:

  1. ทดลองใน UAT ก่อนเสมอ ถ้าเป็นไปได้ — โดยเฉพาะคำสั่งที่แก้ไขข้อมูล
  2. สำรองข้อมูลก่อน ทำการเปลี่ยนแปลงใด ๆ ที่กระทบ schema
  3. แจ้งผู้ใช้ล่วงหน้า ถ้าต้อง restart service ที่อาจทำให้ระบบไม่พร้อมใช้งานชั่วคราว
  4. บันทึกการกระทำ ทุกครั้งที่ทำการเปลี่ยนแปลง — ใคร, เมื่อใด, ทำอะไร, ผลอย่างไร

สถานะพื้นฐานของระบบที่ทีมต้องรู้

ข้อเท็จจริงผลกระทบต่อการดำเนินงาน
Node runtime ทุกตัวเลย End of Lifeความเสี่ยงด้านความปลอดภัย ต้องวางแผนยกระดับ
ไม่มี health check endpointต้องตรวจสอบสถานะ service ด้วยตนเองผ่าน log และ curl
ไม่มี log aggregationต้อง SSH เข้าทุก host เพื่ออ่าน log
ไม่มี CI/CD สำหรับ 3 reposการ deploy ทำด้วยมือทุกขั้นตอน
ใช้ docker-compose ไม่ใช่ Kubernetesการยกเครื่อง infrastructure ต้องวางแผนระยะยาว

โครงสร้าง Volume

  • บท 13.1 เป็นหน้าอ้างอิงเร็ว — ควร bookmark หรือ print ไว้
  • บท 13.2–13.3 คืองานปกติที่ทำบ่อย
  • บท 13.4–13.7 คืองานที่ต้องทำตอน debug หรือจัดการ configuration
  • บท 13.8 คือส่วนสำคัญที่สุดสำหรับเวลาเร่งด่วน — debug playbooks
  • บท 13.9–13.11 คืองานที่ต้องวางแผนล่วงหน้า