ดีไซน์
วาดแผนผังลำดับการย้ายและย้อนกลับการปล่อย
แผนผังลำดับการปล่อยที่ทำให้เห็นลำดับการย้าย ช่วงเวลาที่เข้ากันได้ จุดตรวจสอบ ตัวกระตุ้นการย้อนกลับ และผู้รับผิดชอบการกู้คืนข้อมูลก่อนเปิดตัว
กระบวนการ
ทำตามลำดับนี้
- กำหนดเจ้าของและระบบการปล่อยกับการย้าย สภาพแวดล้อม เวอร์ชันปัจจุบันและเป้าหมาย คำถามของแผนภาพอย่างชัดเจน และข้อจำกัดด้านการสูญเสียข้อมูล ความปลอดภัย การเข้าถึง ความเป็นส่วนตัว และ downtime
- แยกลำดับที่วางแผนไว้ออกจากคำสั่งที่จะรันจริง ห้ามเข้าถึงระบบ production หรือรันคำสั่งย้าย ตรวจสอบ หรือย้อนกลับ
- กำหนดเงื่อนไขก่อนเริ่ม ผู้กระทำ สถานะเวอร์ชันหรือ schema และค่าคงที่ที่ต้องเป็นจริงก่อน cutover
- เรียงขั้นตอนไปข้างหน้าตามลำดับ รวมถึงข้อมูลสำรองหรือสแนปช็อต การตรวจความเข้ากันได้ การย้าย การเปลี่ยนแอป การตรวจสอบ และการสังเกต
- แตกกิ่งกรณีล้มเหลวหรือหยุดทุกจุดไปยังเส้นทางย้อนกลับหรือกู้คืน ทำเครื่องหมายขั้นตอนที่ย้อนกลับไม่ได้และผู้ตัดสินใจ และอย่ารับประกันการย้อนกลับหลังสูญเสียข้อมูล
- เพิ่มการตรวจสอบ การสังเกต การเข้าถึง ความปลอดภัย และความสมบูรณ์ของข้อมูล แล้วสร้างแผนภาพคงที่ที่เข้าถึงได้พร้อมคำอธิบายข้อความ; ห้ามซ้อมหรือทดสอบคำสั่ง
- แพ็กแหล่งแผนภาพที่พึ่งตนเองได้ สมมติฐานที่มีเวอร์ชัน ลิงก์ runbook ขอบเขตการครอบคลุม และผลไม่มีการรันอย่างชัดเจน แล้วหยุดก่อนการปล่อยหรือย้ายจริง
เตรียมสิ่งนี้
ข้อมูลที่แมวจะขอ
- เวอร์ชันการปล่อยและการย้าย
- แผนที่สภาพแวดล้อมและการพึ่งพา
- จุดผ่านความเข้ากันได้และการตรวจสอบ
- เจ้าของการย้อนกลับและเป้าหมายการกู้คืน
เราเตอร์ + playbook เดียว
จัดเส้นทางก่อน เลือกอันเดียว
Cat Paw โหลด playbook เดียวต่องาน ไม่ผสมหลายอัน เริ่มที่เราเตอร์นี้ เส้นทางที่เหลือเป็นตัวเลือกเฉพาะ workflow
- เราเตอร์:
diagram-design-pack skills/diagram-design-pack/release-migration-rollback-sequence-diagram/SKILL.md
เส้นเขต
ขอบเขตเดินทางไปกับพรอมต์
- ก่อนเริ่ม ให้ตรวจสอบเครื่องมือ บัญชี สิทธิ์ และพื้นที่ทำงานจริง ห้ามอ้างว่ามีเครื่องมือ บัญชี แหล่งข้อมูล หรือความสามารถที่ไม่พร้อมใช้งาน
- ใช้ Latch/target-workspace สำหรับโค้ดส่วนตัว ผลงาน การตรวจสอบสด หรือข้อมูลที่ไม่เป็นสาธารณะ หากไม่มีสิทธิ์เข้าถึง ให้หยุดที่ขอบเขตและรายงานสิ่งกีดขัด แทนการเดา
- หยุดเพื่อขออนุมัติอย่างชัดเจนก่อนการดำเนินการภายนอกที่มีผลกระทบ แล้วส่งกลับหลักฐาน ความเสี่ยงที่ยังไม่ได้แก้ไข สมมติฐาน และการดำเนินการใดที่ยังรอการอนุมัติ
เสร็จหมายถึง
จุดจบที่ตรวจได้
แผนภาพลำดับแบบคงที่ที่มีเวอร์ชันและเข้าถึงได้กำหนดสถานะเรียงลำดับ ช่วงความเข้ากันได้ จุดตรวจสอบ สาขาการกู้คืน จุดที่ย้อนกลับไม่ได้ และขอบเขตการครอบคลุม พร้อมผลไม่มีการรันอย่างชัดเจน
แหล่งที่มา
กระบวนการนี้มาจากไหน
- github.com/cathrynlavery/diagram-design/tree/dc1ace47b99a419e42d01a03cb6ace5346efa8ae/
- sre.google/sre-book/release-engineering/
- kubernetes.io/docs/concepts/workloads/controllers/deployment/
แหล่งที่มาตั้งรูปแบบของ workflow โพสต์ Reddit และชุมชน ถ้ามี ให้ถือเป็นเรื่องเล่าจากผู้ปฏิบัติ ไม่ใช่ข้อเท็จจริงสากล