Triển khai in-place và blue/green
Tự động hóa triển khai trên AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Sự cố 2 giờ sáng
Triển khai đồng loạt gặp sự cố
Mọi máy chủ chạy phiên bản lỗi
Khách hàng thấy lỗi trong 1 giờ
Rollback cần một lần triển khai đầy đủ nữa
Vì sao chiến lược triển khai quan trọng
Một bản phát hành lỗi có thể làm dịch vụ
ngừng hoạt động
Đồng loạt =
nhanh nhất, rủi ro nhất
Triển khai dần =
chậm hơn, an toàn hơn
Chiến lược quyết định
phạm vi ảnh hưởng
khi thất bại
Triển khai in-place
Triển khai lên
chính các instance
đang phục vụ lưu lượng
Theo lô
: chia đôi rồi chia đôi; hoặc từng máy một
Kiểm tra sức khỏe từng lô
trước khi chuyển tiếp
Rẻ; không cần hạ tầng bổ sung
Triển khai blue/green
Blue
= cụm production hiện tại
Green
= cụm mới hoàn toàn với phiên bản mới
Load balancer
chuyển lưu lượng
từ blue sang green
Cụm cũ
vẫn sẵn sàng
để rollback nhanh
Lambda và ECS hỗ trợ sẵn blue/green
Lambda: chuyển lưu lượng qua
con trỏ alias version
ECS: chuyển lưu lượng qua
replacement task set
Không cần nhân đôi cụm kiểu EC2
Bạn vẫn
chọn cấu hình triển khai
Chọn in-place hay blue/green
Ngân sách hạn chế,
bản vá ít rủi ro
→ in-place
Cần
zero downtime
hoặc rollback tức thì → blue/green
Máy chủ legacy đơn lẻ → chỉ còn
in-place
Lambda hoặc ECS →
blue/green có sẵn
Rollback trong CodeDeploy
Rollback =
triển khai lại bản sửa đổi thành công trước đó
Kích hoạt tự động khi
triển khai thất bại
Kích hoạt tự động khi có
cảnh báo CloudWatch
Blue/green rollback:
chuyển load balancer về lại
Cùng luyện tập nào!
Tự động hóa triển khai trên AWS
Preparing Video For Download...