Penerapan canary dan linear
Mengotomatisasi Deployment di AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Satu rilis buruk, semua pengguna
Perubahan logika pembayaran diluncurkan instan ke 100% trafik
Bug muncul di beban nyata; setiap checkout gagal
Canary 10% akan menangkapnya dalam lima menit
Biaya melewatkan canary: uang nyata hilang
Apa itu penerapan canary
Kirim sebagian kecil
trafik ke versi baru terlebih dulu
Pantau metrik selama
periode tunggu tetap
Jika sehat,
alihkan sisanya
sekaligus
Pola umum:
10% selama 5 menit
, lalu 100%
Apa itu penerapan linear
Alihkan trafik dalam
kenaikan yang sama
Tunggu di antara tiap langkah
Contoh:
10% tiap 1 menit
selama 10 menit
Lebih mulus dari canary; total lebih lama
Canary vs. linear, berdampingan
Canary:
satu bagian, lalu semuanya
Linear:
banyak langkah kecil
Canary menangkap isu cepat; linear naik bertahap
Keduanya jeda jika
rollback dipicu
Konfigurasi CodeDeploy untuk Lambda
CodeDeployDefault.LambdaCanary10Percent5Minutes
: 10% selama 5 mnt, lalu 100%
CodeDeployDefault.LambdaLinear10PercentEvery1Minute
: +10% per menit
CodeDeployDefault.LambdaAllAtOnce
: seluruh trafik segera
ECS memiliki konfigurasi serupa berawalan ECS
Rollback otomatis dengan CloudWatch alarm
Lampirkan
CloudWatch alarm
ke grup penerapan
Alarm umum:
errors, duration, 5xx
Jika alarm masuk status
ALARM
, penerapan berhenti
CodeDeploy
rollback
ke versi sebelumnya
Memilih konfigurasi yang tepat
Patch rutin berisiko rendah →
AllAtOnce
Perubahan produksi berisiko tinggi →
Canary
Ingin kenaikan mulus dan stabil →
Linear
Selalu dipasangkan dengan
alarm
untuk auto-rollback
Ayo berlatih!
Mengotomatisasi Deployment di AWS
Preparing Video For Download...