เมื่อผู้พัฒนามีความจำเป็นที่จะต้องแยกแอปพลิเคชั่นที่กำลังทำงานอยู่ออก ยกตัวอย่างเช่น ต้องการเพิ่มระบบงานใหม่ก่อนที่จะนำไปใช้งานจริงบน Production ซึ่งทาง Ruk-Com Cloud ได้มีการจัดเตรียมวิธีการดำเนินการนี้ไว้ให้เรียบร้อยแล้ว การโคลน Env คือการสร้าง Env ที่เหมือนกันกับ Env ที่ได้โคลนมาเพียงการกดสั่งงานเพียงไม่กี่ครั้ง
นอกจากนั้นถ้าหากพูดถึงระบบที่มีการทำงานจากทีมพัฒนาหลายฝ่ายแล้วระบบงานมีความซับซ้อน แนะนำให้ทำการโคลน Application ออกเป็นหลายๆชุด คือการดำเนินการทำ Application lifecycle โดยมีขั้นตอนการแยก Application ออกเป็น 3 ส่วนดังต่อไปนี้
- development – สำหรับนักพัฒนาในการสร้างแล้วปรับปรุงโปรแกรม
- testing – สำหรับนักตรวจสอบคุณภาพในการตรวจสอบและวิเคราะห์ปัญหาต่างๆของโปรแกรม
- production – สำหรับผู้ใช้งานทั่วไปโดยจะเป็นโปรแกรมเวอร์ชั่นที่สมบูรณ์ที่สุด
ด้านล่างนี้ เราได้จัดเตรียมคู่มือสำหรับ วิธีการโคลน Environment และ ตัวอย่างการใช้งานทั่วไป
หมายเหตุ: ให้พิจารณาและตรวจสอบตามขั้นตอนด้านล่างนี้ในการโคลน env ที่ Ruk-Com Cloud:
– containers ที่โคลนจะขึ้นอยู่กับ scaling mode, container ที่มาจากการโคลนนั้นจะถูกสร้างจาก base image (ตัวโปรแกรมต้นฉบับที่ยังไม่ได้ปรับแต่งการตั้งค่าของ Env ที่ทำการโคลน) เรียกรูปแบบนี้ว่า “stateless” หรือ เป็นการคัดลอกการตั้งค่าต่างๆมาจาก container หลักของการโคลนครั้งนั้นมาเลย เรียกรูปแบบนี้ว่า “stateful”
– คุณอาจจะพบการค้างของ continer ในระยะสั้น ระหว่างที่มีการโคลน nodes (สามารถดูรายละเอียดการทำงานได้ที่คู่มือ live migration)
– ในขณะที่มีการโคลน env ที่เกี่ยวกับ Windows-base Container จะหยุดทำงาน ดังนั้นเตรียมตัวให้พร้อมสำหรับการหยุดทำงานสั้น ๆ
วิธีการโคลน Environment
ขั้นตอนการโคลน Env สามารถทำตามขั้นตอนดังต่อไปนี้
1. เลือกที่ปุ่ม Clone Environment ของ Env ที่ต้องการโคลนที่แสดงอยู่ในภาพประกอบด้านล่างนี้:
2. หลังจากกดปุ่มจะมีป๊อปอัพแสดงขึ้นมา ให้กรอกชื่อของ Env หรือ ใช้ชื่อพื้นฐานที่มีอยู่แล้ว เมื่อตั้งชื่อเรียบร้อยแล้วกดที่ปุ่ม Clone.
3. ภายในไม่กี่นาที Environment ที่โคลนจะพร้อมใช้งาน
เคล็ดลับ: ในบางกรณีจำเป็นต้องมีการปรับเปลี่ยนเพิ่มเติมเพื่อให้สามารถโคลน Env ของคุณได้:
– IP addresses และ hostnames ของ nodes ที่โคลนจะมีการเปลี่ยนแปลงต่างจากของเดิมดังนั้นกรณีถ้ามีการกำหนดค่าไว้จะต้องแก้ไขค่าใหม่หลังจากการโคลนเสร็จสิ้น
– หากคุณประสบปัญหาในการโคลนสภาพแวดล้อมขนาดใหญ่ (เช่นมีข้อมูลมากกว่า 1TB ถูกเก็บไว้ในคอนเทนเนอร์) โปรดติดต่อผู้ให้บริการโฮสติ้งของคุณเพื่อขอความช่วยเหลือ
– Env ที่อยู่ในรูปแบบ collaboration (Env ที่มีผู้ใช้งานร่วมกัน) จะสามารถโคลนได้จากเจ้าของ Env เท่านั้น ผู้ที่มีสิทธิ์เป็นผู้ใช้งานร่วมจะไม่สามารถทำการโคลนได้
หลังจากดำเนินการโคลนเรียบร้อยแล้วคุณสามารถเข้าปรับแต่งในส่วนของโปรแกรม เวอร์ชั่น ปรับแต่งโครงสร้างต่างๆของระบบโดยที่ไม่มีผลกระทบกับ Env ที่โคลนมา
ตัวอย่างการใช้งานทั่วไป
เมื่อคุณสามารถทำการโคลนได้แล้ว เราได้ยกตัวอย่างการใช้งานหลังจากการโคลน Enviroment ตามตัวอย่างด้านล่างนี้
- เปลี่ยนแปลงชื่อโดเมน ของ Env ของคุณ
- การทำการ swap domains เพื่อเปลี่ยนเส้นทางการเข้าเว็บไซต์ให้ผู้ใช้งานของคุณเข้าใช้งานใน Env ใหม่ที่ได้โคลน
- การดำเนินการจัดทำ blue-green deployment เพื่อลดระยะเวลาในการ downtime หรือ ข้อผิดพลาดในขั้นตอนการ deploy
- ดำเนินการทดสอบ A / B (A/B testing) ของแอปพลิเคชัน (เช่นเปรียบเทียบเวอร์ชันต่างๆ) เพื่อกำหนดว่าอันไหนให้การดึงดูดผู้ใช้ที่ดีกว่า
- ดำเนินการทำ load balance เพื่อลดข้อผิดพลาด (failover protection ) ที่จะเกิดขึ้นกับระบบของคุณ
- ทำให้การเก็บข้อมูลจากหลายๆ env ไว้ใน Dedicated Storage Container เดียวกันในการจัดการพื้นที่จัดเก็บได้มีประสิทธิภาพมากขึ้น
- ใช้ Env ที่โคลนมา สำหรับจัดทำเป็น “snapshot” ที่ได้ตั้งค่าต่างๆไว้เรียบร้อยแล้ว
- คุณสามารถกำหนดค่าของข้อมูลจาก production ที่คุณได้โคลนมาโดยมั่นใจได้ว่าข้อมูลนั้นจะเป็นข้อมูลที่อยู่ใน testing/staging env จริงโดยไม่มีผลกระทบกับ production
กรณีการใช้งานเหล่านี้สามารถช่วยให้คุณได้รับประโยชน์สูงสุดจากการโคลน env