Implementing ChatOps into our Incident Management Procedure
Bài tóm tắt Shopify 2018 3. Quy mô lớn Độ khó: Dễ
Shopify · 2018 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc
Bối cảnh
- Production engineer (PE) của Shopify được coi là chuyên gia xử lý sự cố, nhưng xử lý sự cố vẫn rối và mệt: gặp lỗi mới, bám vào triệu chứng, quên các thói quen tốt khi bị áp lực.
- Shopify có lịch trực riêng cho IMOC (incident manager on call) và một chatbot hỗ trợ IMOC.
Thay đổi chính
- Mô hình vai trò rút gọn từ Incident Command System (ICS):
- IMOC chỉ huy: lo liên lạc, giữ cho việc xử lý tiến lên, leo thang khi cần, theo dõi đến cùng. IMOC trực để điều phối, không trực để sửa; sửa là việc của chuyên gia từng thành phần.
- SRM (Support Response Manager) lo liên lạc ra bên ngoài với merchant.
- Nhóm vận hành: các chuyên gia thành phần trực tiếp sửa.
- Quy trình: alert page → xác nhận → IMOC mở sự cố → liên lạc, tìm và đẩy bản sửa → đóng sự cố, viết tài liệu gián đoạn dịch vụ → điều tra, họp RCA → hoàn thành mọi action item thì sự cố mới thực sự kết thúc.
- Bot Spy (dựa trên Lita, Ruby; nối với Slack, PagerDuty, StatusPage, GitHub qua webhook):
spy page,spy pager ackđể gọi và nhận page ngay trong chat.spy start incidentgắn sự cố vào kênh #war-room, tự báo SRM, hiện các vấn đề đang mở trước đó. Mục đích: một chỗ thảo luận duy nhất, tránh nhiều cuộc thảo luận song song.spy incident tldr: ai trong công ty cũng hỏi được đang có sự cố gì, ai tham gia, bắt đầu khi nào.- Thao tác khắc phục từ kênh chat: cân lại traffic, failover data center, blackhole job, khoá deploy. Ai cũng thấy thao tác nào đã chạy.
spy incident stopsinh tài liệu gián đoạn dịch vụ từ các ghi chú gắn emoji 📝.
- Chăm sóc IMOC: nhắc cập nhật status page nếu sự cố kéo dài; nếu IMOC đã xử lý quá một khoảng thời gian định trước, bot gọi nhóm IMOC vào hỗ trợ (chống kiệt sức).
Vì sao
- Theo Shopify, các bước xử lý sự cố không nên dựa vào trí nhớ của người đang chịu áp lực; bot nhắc và làm hộ các bước lặp lại.
- Gom thảo luận và thao tác vào một kênh giúp mọi người cùng hiểu tình hình, tránh nhầm lẫn ai đang làm gì.
Bài học cho SWE
- Tách vai chỉ huy khỏi vai sửa: người chỉ huy giữ bức tranh chung và liên lạc, không chui vào debug (Xử lý sự cố và on-call).
- Đưa thao tác giảm thiểu (failover, khoá deploy) vào kênh chat vừa nhanh vừa để lại dấu vết công khai (Tự động hoá vận hành và auto-remediation).
- Mệt mỏi của người trực là rủi ro vận hành; có thể phát hiện bằng thời lượng và tự gọi người thay.
Liên quan
- Shopify 2018 (cùng năm: pod và failover data center mà Spy gọi được)
- Airbnb 2022 · Booking.com 2017 · Dropbox 2021
- Xử lý sự cố và on-call · Tự động hoá vận hành và auto-remediation
Được nhắc tới trong
Công ty (1)
Bài tóm tắt (4)