Skip links
View
Drag

Infrastructure as Code เมื่อโครงสร้างพื้นฐานกลายเป็นซอร์สโค้ด

กระบวนการพัฒนาซอฟต์แวร์ในมีกระบวนการควบคุมการพัฒนาด้วยเครื่องมือหลายอย่าง เช่น ระบบควบคุมเวอร์ชั่น (version control) อย่าง Subverion หรือ Git กันมานาน แต่กับโครงสร้างพื้นฐานอย่าง การเซ็ตอัพระบบปฎิบัติการ หรือการคอนฟิกค่าซอฟต์แวร์ต่างๆ กลับเป็นกระบวนการที่หลายครั้งแทบไม่มีการควบคุมอะไร ระบบมักถูกเซ็ตอัพโดยอาศัยความเชี่ยวชาญส่วนตัวของเจ้าหน้าที่ แม้องค์กรหลายแห่งจะมีนโยบายให้เจ้าหน้าที่ต้องบันทึกว่ามีการปรับปรุงแก้ไขอะไรในระบบบ้าง แต่บางครั้งก็เกิดการละเลยหรือตกหล่นไประหว่างทางได้เสมอ

แนวทาง Infrastructure as Code (IaC) เป็นกระบวนการจัดการโครงสร้างของระบบไอที ที่เลือกจะเก็บกระบวนการติดตั้งระบบต่างๆ เป็นโค้ด และมีการควบคุมเวอร์ชั่นแบบเดียวกับซอร์สโค้ดของซอฟต์แวร์ ไปจนถึงสามารถทดสอบว่าโค้ดที่เก็บไว้ยังทำงานได้ถูกต้องหรือไม่โดยง่าย

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

ซอฟต์แวร์ที่ช่วยอำนวยความสะดวกให้ปรับการคอนฟิกกลายเป็นโค้ด มีหลายตัว เช่น Ansible, Chef, หรือ Puppet ซอฟต์แวร์เหล่านี้ครอบคลุมโครงสร้างพื้นฐานขององค์กรทั้งการคอนฟิกเซิร์ฟเวอร์, อุปกรณ์เน็ตเวิร์ค, ไปจนถึงไฟล์วอลล์เลยทีเดียว

– – –

โดยคุณลิ่ว วสันต์ ลิ่วลมไพศาล

Chief Technology Officer, MFEC