
Lời nói đầu
Mọi người chắc đã từng nghe “On-call là công bằng, chia đều thì ai cũng làm, ai cũng học”. Nói thì dễ hơn làm rồi, thực tế là nhiều công ty setup on-call rotation thành một vòng xoay kiểu đùn đẩy, và chịu thiệt nhất là mấy ông trực NOC.
Theo tôi thì On-call chỉ hoạt động đúng nghĩa nếu người trực có quyền từ chối các task không khẩn cấp. Chắc ai đã từng ngồi canh hệ thống rồi mới hiểu. Team tôi chia khá rõ, có đội vận hành và đội trực NOC riêng vì services cũng nhiều với lượng người dùng kha khá.
1. On-call không phải helpdesk
Thường thì tôi fix issue gấp lắm mới có mặt, còn không bình thường mấy giờ sáng là các em trong team.
Thỉnh thoảng gặp cảnh là đang on-call, alert chưa thấy đâu mà Slack đã ping:
- “anh ơi deploy giúp em cái hotfix này”
- “có anh nào add thêm giúp em user này vào group IAM nhé ạ”
- “team vận hành check log giùm em service với”
Mấy cái đó không phải incident, mà là yêu cầu vận hành bình thường. Nhưng vì engineer đang trực, nên người ta mặc định: “tiện tay thì làm luôn”. Và thế là on-call biến thành helpdesk 24/7.
2. Tách biệt “khẩn cấp” với “không khẩn cấp”
On-call chỉ phải xử lý những gì ảnh hưởng production ngay lập tức:
- Hệ thống sập
- Latency vượt SLA
- Data loss có nguy cơ xảy ra
- Security incident
Còn lại, tất cả đều nên chuyển thành ticket, đưa vào backlog, xử lý giờ hành chính.
Nếu không, kỹ sư trực sẽ bị ngốn sức cho những việc không đáng, mà khi sự cố thật sự xảy ra thì họ đã mệt rũ rời (xót thay mấy ông em)
3. On-call cần quyền lực, không chỉ là trách nhiệm
Nhiều nơi coi on-call là công việc không được từ chối. Nhưng một on-call engineer phải có quyền nói không với những task không critical.
Nếu không có quyền này, rotation chỉ là cách chia mệt mỏi cho nhiều người, chứ không tạo ra độ tin cậy thật sự.
4. Trải nghiệm của tôi và anh em
Sau vài lần bị abuse, team tôi đưa ra rule:
- On-call chỉ xử lý alert Sev1, Sev2.
- Sev3 trở xuống tạo ticket.
- Task vận hành bình thường thì assign sang backlog.
Từ đó, on-call rotation mới “sống” được. Người trực không còn cảm giác làm helpdesk, còn team dev cũng học được cách phân loại issue đúng mức, cái này tôi đánh giá cực kỳ quan trọng, không là bào sức khỏe lắm.
Lời kết
On-call không chỉ là chuyện chia ca trực, mà là cách tổ chức phân quyền và trách nhiệm. Muốn rotation bền vững, mọi người cần hiểu:
On-call là để giữ hệ thống sống, không phải để làm mọi việc vặt phát sinh.
Nếu người trực không có quyền từ chối task không khẩn cấp, thì đó không phải on-call đúng nghĩa.
Trích: Việt Đặng – DevOps Engineer tại Amiga solution

