DevOps และการส่งมอบ
การปล่อยซอฟต์แวร์ควรเป็นงานประจำ ไม่ใช่เหตุการณ์ใหญ่ เราทำให้เส้นทางจากคอมมิตไปสู่ระบบจริงเป็นอัตโนมัติ ทุกการเปลี่ยนแปลงถูกบิลด์ ทดสอบ และนำขึ้นระบบด้วยวิธีเดียวกัน และการย้อนกลับทำได้ในขั้นตอนเดียว
เครื่องมือ
การปล่อยเวอร์ชันที่เชื่อถือได้ด้วย Docker, Kubernetes และไปป์ไลน์ CI/CD อัตโนมัติ
Docker
ทุกบริการถูกแพ็กเป็นอิมเมจคอนเทนเนอร์ จึงทำงานเหมือนกันทั้งบนแล็ปท็อป ในสภาพแวดล้อมทดสอบ และบนระบบจริง อิมเมจแบบหลายขั้นตอนที่มีขนาดเล็กช่วยให้บิลด์เร็วและลดช่องทางการโจมตี
Kubernetes
สำหรับงานที่จำเป็นต้องใช้ ได้แก่ การอัปเดตแบบทยอย การปรับขนาดอัตโนมัติ การตรวจสุขภาพระบบ และการรีสตาร์ตอัตโนมัติ เมื่อ Kubernetes เกินความจำเป็นของโปรเจกต์ เราใช้บริการคอนเทนเนอร์แบบจัดการให้ที่เรียบง่ายกว่า
CI/CD
ไปป์ไลน์บน GitHub Actions, GitLab CI หรือ Azure DevOps ที่ตรวจโค้ด ทดสอบ บิลด์ และนำขึ้นระบบทุกครั้งที่มีการ merge พร้อมขั้นตอนอนุมัติก่อนขึ้นระบบจริง
วิธีที่เราใช้งาน
โครงสร้างพื้นฐานในรูปแบบโค้ด
เซิร์ฟเวอร์ เครือข่าย และบริการคลาวด์ถูกเขียนด้วย Terraform หรือ Bicep และเก็บไว้ในระบบควบคุมเวอร์ชัน จึงสร้างสภาพแวดล้อมใหม่ได้และทุกการเปลี่ยนแปลงผ่านการรีวิว
ปล่อยเวอร์ชันโดยไม่มีดาวน์ไทม์
การนำขึ้นระบบแบบทยอยและแบบ blue-green การเปลี่ยนฐานข้อมูลที่ยังเข้ากันได้กับเวอร์ชันก่อนหน้า และการย้อนกลับที่รวดเร็ว
การเฝ้าระวังและแจ้งเตือน
แดชบอร์ดและการแจ้งเตือนเรื่องความพร้อมใช้งาน ข้อผิดพลาด และเวลาตอบสนอง พร้อมคู่มือปฏิบัติงานเป็นลายลักษณ์อักษร ผู้ที่อยู่เวรจึงรู้ว่าต้องทำอะไร
ความปลอดภัยในไปป์ไลน์
การสแกนไลบรารีและอิมเมจคอนเทนเนอร์ การจัดการความลับ และสิทธิ์การนำขึ้นระบบแบบน้อยที่สุดเท่าที่จำเป็น ฝังอยู่ในทุกไปป์ไลน์
กำลังวางแผนโปรเจกต์บนสแต็กนี้อยู่ใช่ไหม?
บอกเราว่าคุณกำลังสร้างอะไร แล้วเราจะบอกว่าเราจะเริ่มต้นอย่างไร
