เส้นทาง 05บทเรียน 1 / 8

รับผิดชอบบริการหลัง deployment

กำหนดสัญญาณบริการที่มีประโยชน์ การตัดสินใจระหว่าง incident การกู้คืน และการบำรุงรักษา แสดงความรับผิดชอบด้านการดำเนินงานให้ชัดเจนหลังการสร้างโค้ดสิ้นสุด

ผู้ปฏิบัติงาน10 minตรวจทานแล้ว

เผยแพร่โดย วิธีเขียนเนื้อหาของเรา

ตรวจความเข้าใจการตรวจ uptime ได้ HTTP 200 แต่ไฟล์ส่งออกไม่มีระเบียน เพราะ authorization ทำงานผิด สิ่งนี้แสดงอะไร?ทำแบบฝึกหัด
การตรวจ uptime ได้ HTTP 200 แต่ไฟล์ส่งออกไม่มีระเบียน เพราะ authorization ทำงานผิด สิ่งนี้แสดงอะไร?

สิ่งที่จะได้เรียนรู้

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

กำหนดบริการที่ผู้ใช้พึ่งพา

Deployment ทำให้ซอฟต์แวร์พร้อมให้ใช้งาน การดำเนินงานทำให้มันยังมีประโยชน์เมื่อผู้ใช้ dependency, traffic และข้อกำหนดเปลี่ยน เครื่องมือสร้างโค้ดไม่ได้ทำให้งานต่อเนื่องนี้หมดไป

สำหรับการส่งออกข้อมูลลูกค้าในสถานการณ์สมมติ ผู้ใช้ต้องการมากกว่าหน้าที่เข้าถึงได้ พวกเขาต้องการระเบียนที่มีสิทธิ์เข้าถึง ในรูปแบบที่กำหนด ภายในเวลาที่ยอมรับได้ และต้องการให้บริการป้องกันการเข้าถึงข้อมูลขององค์กรอื่น

ระบุผู้รับผิดชอบก่อนออก release บันทึกว่าใครตอบสนองนอกเวลาทำงาน หากเป็นส่วนหนึ่งของข้อผูกพันการให้บริการ ผู้ให้บริการภายนอกทำงานบางส่วนได้ แต่องค์กรยังต้องมีช่องทางตัดสินใจและสื่อสารที่ชัดเจน

เลือกสัญญาณที่ช่วยให้ลงมือได้

Service-level indicator หรือ SLI วัดคุณสมบัติของพฤติกรรมบริการที่กำหนดไว้ ส่วน service-level objective หรือ SLO ตั้งเป้าหมายสำหรับตัวชี้วัดนั้นในช่วงเวลาที่ระบุ เลือกเป้าหมายจากความต้องการของผู้ใช้และความสามารถด้านการดำเนินงาน

แนวทาง SRE ของ Google อธิบายวิธีนี้และการใช้ error budget เพื่อตัดสินใจด้านความเชื่อถือได้ อย่าคัดลอกเป้าหมายของบริการอื่นโดยไม่ตรวจสอบความหมาย แนวทาง SLO, ตัวอย่างนโยบาย error budget

สำหรับการส่งออก ให้กำหนดว่าคำขอที่เข้าเกณฑ์และสำเร็จหมายถึงอะไร แยกการปฏิเสธที่คาดหมายออกจากความขัดข้องของระบบ บันทึกข้อยกเว้นในการวัด เพื่อไม่ให้ตัวชี้วัดดีขึ้นเพียงเพราะซ่อนคำขอที่จัดการยาก

สัญญาณสิ่งที่ช่วยตรวจพบข้อจำกัดสำคัญ
การตรวจความพร้อมใช้งานจากภายนอกเข้าถึงบริการไม่ได้ไม่ได้ตรวจสอบ workflow ที่ต้องลงชื่อเข้าใช้
การส่งออกสำเร็จและ latencyคำขอที่เข้าเกณฑ์ล้มเหลวหรือใช้เวลานานเกินไปต้องนิยามความสำเร็จให้ชัดเจน
การตรวจว่าปฏิเสธคำขอที่ไม่มีสิทธิ์ขอบเขตสำคัญกลับมาทำงานผิดครอบคลุมเงื่อนไขที่ทดสอบ
สัญญาณทรัพยากรและ dependencyสาเหตุภายในที่เป็นไปได้ไม่ได้อธิบายผลกระทบต่อผู้ใช้ด้วยตัวเอง

หลีกเลี่ยงการบันทึกข้อมูลส่งออกทั้งหมดลง log เพื่อให้มองเห็นระบบมากขึ้น เก็บข้อมูลเท่าที่จำเป็นต่อการวินิจฉัย และป้องกันการเข้าถึงข้อมูลนั้น

เตรียมการตอบสนอง incident

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

แนวทางตอบสนอง incident ของ Google เน้นการประสานงานและการสื่อสารควบคู่กับการบรรเทาปัญหาทางเทคนิค การแก้ที่ถูกต้องทางเทคนิคยังอาจทำให้ผู้ใช้ไม่ได้รับข้อมูล หรือผู้ตอบสนองหลายคนเปลี่ยนระบบขัดแย้งกัน การตอบสนอง incident

Agent สรุป log หรือเปรียบเทียบสมมติฐานภายในขอบเขตข้อมูลที่อนุมัติได้ แต่ไม่ควรได้รับอำนาจใน production แบบไม่จำกัดเพียงเพราะ incident เร่งด่วน ใช้ช่องทางยกระดับที่กำหนดไว้สำหรับสิทธิ์เข้าถึงกรณีพิเศษ

ฝึกกู้คืนและจัดสรรทรัพยากรบำรุงรักษา

ทดสอบขั้นตอนกู้คืนด้วยข้อมูลสมมติที่เป็นตัวแทนของการใช้งาน ระบุสิ่งที่ rollback โค้ดย้อนกลับไม่ได้ รวมถึงระเบียนที่ลบหรือข้อความที่ส่งแล้ว บันทึกเวลาและข้อมูลที่ต้องใช้เพื่อกู้คืนบริการ

มอบหมายงานต่อเนื่อง ได้แก่ อัปเดต dependency ทบทวนสิทธิ์ ต่ออายุ certificate เมื่อเกี่ยวข้อง เปลี่ยนความจุ และแก้เอกสาร บริการที่ไม่มีกำลังคนสำหรับบำรุงรักษาจะสะสมภาระหลังงบเปิดตัวหมด

หลัง incident ให้เลือกการปรับปรุงที่แก้สาเหตุที่สังเกตพบ เชื่อมโยงกับการลงมือทำและการตรวจสอบ นี่ทำให้ lifecycle ครบวงจร: หลักฐานจากการดำเนินงานเปลี่ยนสิ่งที่ทีมจะกำหนดและสร้างต่อไป

ทำแบบฝึกหัด

เขียนบันทึกการดำเนินงานหนึ่งหน้าสำหรับการส่งออกข้อมูลลูกค้าในสถานการณ์สมมติ ระบุสัญญาณจากมุมมองผู้ใช้หนึ่งอย่าง เป้าหมาย ผู้รับ alert การตอบสนองแรกที่ปลอดภัย ขีดจำกัดการกู้คืน และผู้รับผิดชอบการบำรุงรักษา ระบุสิ่งที่ monitoring ตรวจไม่พบ

ดาวน์โหลดใบงาน (Markdown)
ตรวจความเข้าใจ ↑

เรียนต่อ

แหล่งข้อมูลและเนื้อหาอ่านเพิ่มเติม

เนื้อหาเกี่ยวข้องจาก Taiga