มารู้จักกับ Phoenix Server

แนวคิดของ phoenix server เป็นแนวคิดที่เริ่มต้นมาจากการที่ system operations ต้องทำใหม่ทุกครั้งที่ server มีการเปลี่ยนแปลงค่าคอนฟิกส์ต่างๆ เข้าไปหลังจากเกิดการใช้งานหรือมีการปรับเปลี่ยน customizion ต่างๆ การเปลี่ยนแปลงนี้จะตั้งกลับไปสู่ค่า configuration เดิมที่อ้างอิงตาม baseline configuration ที่เราตรวจสอลหรือทดสอบแล้วว่าสามารถนำมาใช้บน production หรือ environment อื่นๆ ได้

ประเด็นปัญหาเรื่องของการปรับแต่งค่าคอนฟิกส์แล้วเกิด configuration diff นั้นเป็นเรื่องปกติของนักพัฒนาและนักทดสอบโปรแกรมอยู่ปกติ การจัดการเรื่อง configuration diff พวกนี้จึงเริ่มขึ้น ซึ่งเครื่องมือที่ใช้กันอย่างแพร่หลายทุกวันนี้ ตัวอย่างเครื่องมือที่อำนวยความสะดวกในการ manage พวก configuration ไฟล์ต่างๆเช่น Puppet และ Chief  ก็ช่วยอำนวยความสะดวกได้ไม่น้อยเลยทีเดียว แต่บางครั้งก็ยัง spot ได้แค่เพียงบางจุด หรือ บางกลุ่มของ configuration ที่เราโฟกัสเท่านั้นส่วนอื่นนอกเหนือจากที่เรา managed แล้วก็ไม่สามารถ detect หรือกำหนดได้เลย สิ่งนี้ที่ทำให้ concept ของ phoenix server เกิดขึ้นมา และเมื่อถึงช่วงเวลาที่เหมาะสมมากคือช่วงเวลาที่โลกของ visualization ที่กำลังใช้งานกันอย่างแพร่หลาย phoenix ก็จะกลับถูกพูดถึงกันอีกครั้ง

หลักการคือเรามี Proven ‘s virtual machine ที่เตรียม environment และ application ตาม Baseline ไว้แล้ว อาจจะอยู่ในลักษณะของ template หรือหรือ image เมื่อเราจำเป็นตัองใช้งานเราจะทำการ clone หรือ spin up ขึ้นมาเพื่อใช้งาน และหลังจากใช้งานเสร็จแล้วก็ทำลายทิ้ง และเมื่อต้องการนำกลับมาใช้งานใหม่เราจะเริ่มต้นจากการ Spin up ‘s VM ที่เตรียมไว้ในแต่ละ Base line ต่างๆ ลักษณะ life cycle แบบนี้ เป็นลักษณะของวงจรมีชีวิตอยู่และเกิดใหม่จากเถ้าถ่านของ นก Phoenix ที่เคยเขียนไว้ในบทความ รู้จักนกฟินิกส์

 

Reference

http://martinfowler.com/bliki/PhoenixServer.html

Leave a Reply