Tags:
Node Thumbnail

Azure รายงานถึงผลวิเคราะห์เหตุการณ์บริการ Azure DevOps ในศูนย์ข้อมูลบราซิลใต้ (SBR) ล่มไปถึง 10.5 ชั่วโมงเมื่อวันที่ 24 พฤษภาคมที่ผ่านมา โดยสาเหตุหลักคือสคริปต์ที่พิมพ์ผิด

เหตุการณ์ครั้งนี้เกิดใน Sprint 222 ที่อัพเกรดไลบรารี Microsoft.Azure.Managment ที่เตรียมเลิกใช้งานไปเป็น Azure.ResourceManager ทำให้แพตช์มีขนาดใหญ่มาก และส่วนที่พิมพ์ผิดอยู่ในฟังก์ชั่นลบ snapshot ของฐานข้อมูล

ทีมงานเริ่ม deploy โค้ดที่ผ่านการทดสอบแล้วจากวงเล็กสุดหรือ Ring 0 ที่เป็นเซิร์ฟเวอร์ Azure DevOps ภายใน แต่เซิร์ฟเวอร์ภายในก็ไม่มี snapshot ฐานข้อมูลทำให้โค้ดไม่ถูกรัน หลังจากรันโค้ดอยู่ใน Ring 0 อยู่หลายวันก็ปล่อยโค้ดสู่ Ring 1 ที่ครอบคลุมถึงศูนย์ข้อมูล SBR เมื่อโค้ดพบ snapshot ที่เก่าพอก็รันโค้ดลบ snapshot เมื่อโค้ดรันขึ้นมาจริงๆ ก็ลบฐานข้อมูลโปรดักชั่นไปทั้งหมด 17 เซิร์ฟเวอร์

ทีมงาน Azure DevOps รู้ตัวภายใน 20 นาทีหลังระบบเริ่มล่ม จากนั้นก็ต้องขอความช่วยเหลือจากทีมงาน Azure SQL และกระบวนการกู้ฐานข้อมูลกินเวลาหลายชั่วโมงเพราะฐานข้อมูลบางตัวเก่าจนสร้างมาก่อนมีบริการ Geo-zone-redundant backup ทำให้การกู้คืนกินเวลานานกว่าปกติเมื่อสั่งกู้คืนแบบ Geo-zone-redundant backup

ทาง Azure ะบุว่า แก้ไขบั๊กนี้เรียบร้อยแล้ว, ชุดทดสอบจะทดสอบโค้ดส่วนที่ลบ snapshot เสมอ, และเพิ่ม Azure Resource Manager Locks เพื่อป้องกันการลบโดยไม่ตั้งใจอีก

ที่มา - Azure DevOps Status

No Description

Get latest news from Blognone

Comments

By: Be1con
ContributorWindows PhoneWindowsIn Love
on 14 June 2023 - 12:20 #1287019
Be1con's picture

เด็กฝึกงาน #ผิด


Coder | Designer | Thinker | Blogger