AppCarrier — FPT-IS Next Gen ServiceFPT-ISNEXT GEN SERVICE
Liên hệ tư vấn
Triển khai·Soạn: 22/07/2026·Đăng: 09:00 · 22/07/2026·4 phút đọc

Triển khai theo đợt: landing zone, CI/CD và một go-live không drama

Một lần go-live lớn dồn toàn bộ rủi ro vào một đêm. Chúng tôi làm ngược lại: dựng nền tảng chuẩn, tự động hoá phát hành, rồi đưa lên từng đợt có thể quay lui.

TK
Đội Triển khai — FPT-IS Next Gen Service
FPT-IS Next Gen Service
Triển khaiFPT-IS · Next Gen Service

Có một kiểu go-live diễn ra thế này: bắt đầu 22 giờ đêm thứ Bảy, một phòng họp đầy người, một danh sách việc trong đầu người trưởng nhóm, và một quyết tâm chung là “xong bằng mọi giá”. Nếu mọi thứ trơn tru thì đó là một đêm dài. Nếu không, đó là một buổi sáng Chủ nhật mà không ai biết nên tiến hay nên lùi.

Cách còn lại: coi cutover là một sự kiện có thể tập dượt, với điều kiện dừng được quyết trước khi bắt đầu. Nó không hào hùng bằng, nhưng nó lặp lại được.

Tập dượt là phần không được cắt khi thiếu thời gian

Buổi diễn tập không nhằm chứng minh mọi thứ sẽ chạy. Nó nhằm tìm ra thứ chưa ai nghĩ tới: một job cron còn trỏ về IP cũ, một secret hết hạn giữa quá trình, một bước cần quyền mà người trực đêm đó không có.

Nếu lịch bị nén và phải cắt một thứ, cắt phạm vi của đợt, đừng cắt buổi diễn tập. Một đợt nhỏ hơn nhưng đã tập dượt luôn an toàn hơn một đợt đủ mà chưa ai thử.

Go/no-go: quyết định phải được chốt khi mọi người còn tỉnh

Tiêu chí go/no-go viết vào tài liệu trước ngày cutover, và người có quyền quyết phải có mặt. Đặc điểm của một tiêu chí tốt là nó trả lời được bằng “đúng” hoặc “sai”, không cần tranh luận lúc 2 giờ sáng.

Một phương án quay lui chưa từng được chạy thử thì không phải phương án quay lui. Đó là một đoạn văn.

Di chuyển dữ liệu là chỗ khó thật, không phải chỗ cài đặt

Cài đặt và cấu hình có thể tự động hoá và lặp lại. Dữ liệu thì không quay lui dễ như vậy. Ba câu cần trả lời trước: đồng bộ một chiều hay hai chiều, chấp nhận độ trễ bao nhiêu, và kiểm tra tính đúng đắn bằng cách nào.

Phần kiểm tra thường bị làm hời hợt. So sánh số bản ghi là mức tối thiểu; nó không phát hiện được lỗi sai kiểu dữ liệu, sai encoding, hay mất bản ghi ở khoảng giữa. Nên có thêm kiểm tra theo checksum trên tập mẫu và một số truy vấn nghiệp vụ đối chiếu hai bên.

72 giờ đầu quan trọng hơn đêm cutover

Hệ thống lên được không có nghĩa là đã xong. Phần lớn vấn đề thật xuất hiện khi tải thật đi qua: một truy vấn chậm chỉ lộ ra ở giờ cao điểm, một job đêm chưa ai chạy trên môi trường mới, một hạn mức bị chạm khi lượng người dùng trở lại.

Cutover thành công là cutover mà sau đó không ai kể lại như một câu chuyện anh hùng. Nếu có chuyện để kể, thường là đã thiếu một buổi diễn tập.

#Landing zone#CI/CD#Migration#Go-live
← Tất cả bài viếtLiên hệ đội kỹ thuật

Bài liên quan

Related

Error budget: cách chúng tôi cân tốc độ phát hành và độ ổn định
SRE
Error budget: cách chúng tôi cân tốc độ phát hành và độ ổn định
Giảm nhiễu cảnh báo trước khi nghĩ đến machine learning
AIOps
Giảm nhiễu cảnh báo trước khi nghĩ đến machine learning
Di trú theo đợt: chia nhỏ để không đánh cược cả hệ thống
Migration
Di trú theo đợt: chia nhỏ để không đánh cược cả hệ thống