Hướng Dẫn Xử Lý Sự Cố Hệ Thống (Incident Response)

Tú Phạm - Tony
Eway Engineering
Published in
4 min readApr 8, 2019

Xử lý sự cố (XLSC) là một quá trình khắc phục sự cố không mong muốn khó có thể tránh khỏi trong quá trình phát triển phần mềm và phát triển hệ thống, hệ thống càng lớn, càng phức tạp, vận hành càng lâu thì rủi ro lại càng nhiều, điểm quan trọng khi xử lý sự cố là an toàn và chính xác, vì vậy bạn cần có quy trình xử lý sự cố, xây dựng team có kĩ năng XLSC và đảm bảo luôn học hỏi được từ các sự cố đã xảy ra để phát triển hệ thống và con người trong tổ chức.

Các Vị Trí Trong Đội XLSC

Incidents Commander — Chỉ Huy (IC)

Nhân sự chịu trách nhiệm về XLSC và thúc đẩy quá trình XLSC. Đây là nguồn tin xác thực cung cấp thông tin cái gì đang xảy ra và cái gì sẽ xảy ra khi quá trình diễn ra.
IC cần là nhân sự có khả năng liên lạc bằng cả văn bản lẫn giao tiếp tốt, hiểu biết sâu về hệ thống, tầm quan trọng của dịch vụ và cách các dịch vụ tương tác với nhau. IC cần hiểu nhiều chiến thuật / chiến lược XLSC để đưa ra quyết định nhanh và chính xác.

The Scribe — Người Ghi Chép (TS)

Nhân sự đảm bảo mọi hoàn cảnh, quyết định và dữ liệu trao đổi qua mọi kênh giao tiếp (Slack, email, …) đã được lưu lại chính xác để đảm bảo có thể phân tích sự cố sau.

Subject Matter Experts — Chuyên Gia (SME)

Nhân sự có chuyên môn hiểu biết rõ nhất về dịch vụ đang gặp sự cố, thường là nhân sự có kinh nghiệm phát triển, vận hành chính dịch vụ đó. SME cần trả lời 3 câu hỏi quan trọng nhất là:
Condition: Trạng thái hiện tại của dịch vụ
Action: Hành động nào cần thực hiện khi dịch vụ đang không trong trạng thái tốt, vận hành chính xác
Needs: Các hỗ trợ nào cần thiết để XLSC

Customer Support — Nhân Viên Hỗ Trợ Khách Hàng (CS)

Nhân sự hỗ trợ liên lạc với khách hàng khi xảy ra sự cố, thông báo thông tin cho khách hàng qua các kênh cá nhân (email, phone, …) và mạng xã hội (Facebook, Twitter, …), thường là thành viên của đội hỗ trợ khách hàng. CS còn có trách nhiệm cung cấp lại phản hồi của khách hàng cho IC và team trong quá trình XLSC.

Quy Trình XLSC

Khi Sự Cố Xảy Ra

IC nhanh chóng lên danh sách các nhân viên trực thuộc team XLSC, hỗ trợ toàn bộ team sử dụng đúng kênh giao tiếp nội bộ để liên lạc trong toàn bộ quá trình XLSC. Sau đó IC cùng hỗ trợ và thúc đẩy quá trình xử lý, đưa thông báo về sự cố qua kênh liên lạc phù hợp. Các liên lạc không cần thiết đến đội ngũ chuyên gia cần được giảm tối thiếu để tránh gây nhiễu và gia tăng xác xuất sai sót.
Sau khi nắm chắc được tình hình, team cùng thống nhất danh sách hành động để XLSC, IC là người ủy nhiệm các hành động cho từng nhân sự trong team và đứng ra điều phối, cung cấp thông tin trong quá trình XLSC.

Sau Khắc Phục Sự Cố

Với các sự cố lớn cả team cần ngồi lại dưới yêu cầu của IC trong tối đa x ngày làm việc (x<7) để đưa ra một biên bản XLSC (Post-mortem), sử dụng chi tiết các sự việc và mốc thời gian để tìm hiểu chuyện gì đã xảy ra dẫn đến sự cố, kèm theo đó là một loạt các bước để tránh sự cố tương tự có thể xảy ra trong tương lai.
Điểm quan trọng nhất của biên bản XLSC là không đượt mang tính chỉ trích cả nhân nhưng vẫn cần đủ thông tin cái gì đã xảy ra và làm thể nào bạn có thể nâng cấp hệ thống.

Biên Bản XLSC

Mẫu Biên Bản

Các Biên Bản Ví Dụ Từ

Biên sự cố được của các công ty hàng đầu thế giới : Google, Amazon, Facebook, Heroku, Netflix, Twillio, … Bao gồm từ những sự cố đơn giản do cấu hình đến sự cố phức tạp do hệ thống phần cứng, nguồn điện gây ra làm ảnh hưởng từ hàng triệu đến hàng tỷ người dùng Internet.

https://github.com/danluu/post-mortems

Cách Giảm Ảnh Hưởng Các Sự Cố Nghiêm Trọng

  1. Tổ chức việc trực vận hành hệ thống đầy đủ, chính xác, chuyên nghiệp
  2. Chủ động nhận diện và nâng cấp độ tin cậy của các thành phần quan trọng trong hệ thống
  3. Thực hành Chaos Engineering để hiểu về các phần yếu nhất của hệ thống và đưa ra kịch bản với từng tình huống

Ref:

  • Incident Management Guideline

https://www.qgcio.qld.gov.au/documents/incident-management-guideline

  • IT Operations And Maintenance Policy
  • Three Ways To Minimize The Impact Of High Severity Incidents

https://devops.com/three-ways-to-minimize-the-impact-of-high-severity-incidents/

--

--

Tú Phạm - Tony
Eway Engineering

Ceo @AdFlex, ex CTO @ Eway, Co-founder of DYNO, Google Developer Expert on Cloud Platform