Blue-Green Deployment ด้วย Traffic Distributor
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
วัตถุประสงค์
บทความนี้อธิบาย Blue-Green Deployment ด้วย Traffic Distributor บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง
ก่อนเริ่มดำเนินการ
- เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
- ตรวจสอบชื่อ Environment, Region และ Resource เป้าหมายก่อนบันทึกการเปลี่ยนแปลง
- สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production
การกระจาย Trafficคุณสามารถอัปเดตแบบที่เรียกว่า "invisible" ด้วยวิธี blue-green deployment ซึ่งจะไม่ทำให้ Application ของคุณหยุดทำงาน ความเป็นไปได้นี้จำเป็นอย่างยิ่งในความเป็นจริง ปัจจุบันมีการพัฒนาอย่างรวดเร็วและการทำงานพร้อมกันที่เพิ่มขึ้นอย่างรวดเร็วเนื่องจากคุณต้องอัปเดตโปรเจกต์ของคุณอย่างต่อเนื่องให้ตรงตามความต้องการเพื่อเอาชนะผู้ใช้ใหม่ โดยทั่วไปแล้วจะไม่ล้าหลังคู่แข่งและหากบำรุงรักษาบ่อยครั้งแล้วสื่งเหล่านี้ขัดจังหวะการทำงานของ Application และความพร้อมใช้งาน ก็จะส่งผลกระทบในทางลบต่อการบริการของคุณ
ดังนั้นเรามาดูวิธีการกำจัดปัญหาดังกล่าวและใช้การอัปเดต blue-green สำหรับ Application ของคุณโดยใช้วิธีการกำหนดเส้นทาง Traffic ที่เสนอ
1. สมมติว่ามี 2 environments (โดยมีชื่อ สีฟ้าและสีเขียวกำหนดไว้สำหรับแต่ละ env เพื่อความแตกต่างที่ดีขึ้น) Traffic Distributor ภายใน environment ที่แยกจากกันมีวัตถุประสงค์เพื่อกำหนดเส้นทาง Traffic ระหว่างกัน:

2. เพื่อที่จะอัปเดต Application บน backends เป็นเวอร์ชันล่าสุดโดยที่โปรเจกต์ทั้งหมดไม่หยุดทำงานควรทำกลับกัน ดังนั้นในขั้นตอนแรกให้ป้องกันไม่ให้ Traffic ไปที่ environment ใด environment หนึ่ง (เช่น Blue) โดยการกำหนดค่า Traffic Distributorส่วนเสริม

ในตัวอย่างนี้ให้เลื่อน Traffic ratio ไปที่ตำแหน่ง 0... 100 เพื่อให้แน่ใจว่าจะไม่สามารถเข้าถึง backend แรกได้อย่างแน่นอน
คลิกสมัครเพื่อดำเนินการ
3. เมื่อ Traffic ขาเข้าทั้งหมดได้รับการประมวลผลโดย environment ที่สองเท่านั้น (สีเขียว) คุณสามารถใช้การเปลี่ยนแปลงใดๆกับสีฟ้าได้โดยไม่ต้องเร่งรีบ เช่น deploy และทดสอบ Application เวอร์ชันใหม่:

4. ตอนนี้เนื่องจากคุณต้องอัปเดตโปรเจกต์บน Host ที่สองให้คุณทำซ้ำขั้นตอนที่ 2-3 ด้านบนและเปลี่ยนบทบาทของ environment (เช่น ตั้งค่าเลื่อน Traffic ratio ไปที่ตำแหน่งตรงข้าม 100 … 0) ซึ่งจะทำให้สำเนาโปรเจกต์ blue ประมวลผลคำขอทั้งหมดและ green - ดำเนินการบำรุงรักษาต่อไป

5. ขั้นตอนสุดท้ายเปิดเฟรมการกำหนดค่า Distributor อีกครั้งและส่งคืนน้ำหนักของ Server ที่ต้องการเพื่อกู้คืนการทำงานเดิม เช่น:

เมื่อดำเนินการครบแล้ว Application ของคุณก็จะได้รับการอัปเดตบน backends ทั้งสองในขณะที่ลูกค้าของคุณยังคงใช้บริการต่อไปได้โดยไม่หยุดชะงักระหว่างการดำเนินการทั้งหมด
