Learning Hub
DevOps & Hạ tầng

Chiến lược deployment và rollback an toàn

6 phút đọc·Cập nhật 2026-09-09

Deployment strategy kiểm soát cách version mới nhận traffic và tốc độ giới hạn risk. Rolling, blue-green và canary đổi chác infrastructure cost, speed, observability và blast radius.

Deployment strategy kiểm soát cách version mới nhận traffic và tốc độ giới hạn risk. Rolling, blue-green và canary đổi chác infrastructure cost, speed, observability và blast radius.

Nhìn nhanh

Câu hỏi Câu trả lời thực tế
Dùng khi nào? Canary gửi 5% traffic tới checkout version mới, so error và latency signal rồi tăng traffic hoặc tự rollback.
Cần làm gì? Thiết kế release cho một service gồm entry criteria, health signal, traffic stage, database compatibility, abort threshold và rollback command đã rehearsal.
Biết là đúng bằng cách nào? Version trước vẫn deploy được, rollback đạt recovery objective, database change backward compatible và decision owner biết stop signal.
Lỗi hay gặp? Rollback code không thể hoàn tác data migration bất khả nghịch; dùng expand-migrate-contract và restore procedure đã test.
flowchart LR
  A[Câu hỏi] --> B[Chiến lược deployment và rollback an toàn]
  B --> C[Ví dụ nhỏ]
  C --> D[Bằng chứng]

Điểm quan trọng của sơ đồ là không dừng ở định nghĩa: hãy nối khái niệm với một ví dụ nhỏ và bằng chứng có thể quan sát.

Ví dụ đã phân tích

Canary gửi 5% traffic tới checkout version mới, so error và latency signal rồi tăng traffic hoặc tự rollback.

Trước khi làm, hãy viết dấu hiệu thành công. Sau đó chỉ thay đổi một yếu tố, quan sát kết quả và ghi lại assumption. Với Chiến lược deployment và rollback an toàn, cách này giúp tách điều bạn biết khỏi điều bạn chỉ đang đoán.

Thực hành trong 20–30 phút

Mục tiêu: Thiết kế release cho một service gồm entry criteria, health signal, traffic stage, database compatibility, abort threshold và rollback command đã rehearsal.

  1. Ghi lại trạng thái ban đầu và điều bạn dự đoán.
  2. Thực hiện phiên bản nhỏ nhất, không thêm công cụ chưa cần thiết.
  3. Thay đổi đúng một input hoặc constraint rồi chạy lại.
  4. Lưu command, screenshot, output hoặc checklist làm bằng chứng.

Kết quả mong đợi: Version trước vẫn deploy được, rollback đạt recovery objective, database change backward compatible và decision owner biết stop signal.

Sai ở đâu và sửa thế nào

Rollback code không thể hoàn tác data migration bất khả nghịch; dùng expand-migrate-contract và restore procedure đã test.

Khi kết quả khác dự đoán, đừng đổi nhiều thứ cùng lúc. Kiểm tra input, version, environment, quyền truy cập và log trước; sau đó lặp lại từ ví dụ nhỏ nhất.

Định nghĩa hoàn thành

  • Tôi giải thích được khái niệm bằng ngôn ngữ của mình.
  • Tôi đã hoàn thành ví dụ nhỏ và giữ bằng chứng.
  • Tôi biết một failure mode và cách kiểm tra nó.
  • Người khác có thể làm lại mà không phải đoán bước còn thiếu.

Đi sâu hơn

Mở resource hoặc repository đi kèm ở cuối trang khi bạn cần implementation đầy đủ. Hãy kiểm tra version hiện hành trước khi dùng command trong dự án thật.