Penerapan in-place dan blue/green

Mengotomatisasi Deployment di AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Gangguan pukul 2 dini hari

2.00

  • Deploy serentak bermasalah
  • Semua server menjalankan versi rusak
  • Pelanggan melihat error selama satu jam
  • Rollback butuh deploy penuh lagi
Mengotomatisasi Deployment di AWS

Mengapa strategi deploy penting

2.1

  • Rilis buruk dapat membuat layanan down
  • Serentak = tercepat, paling berisiko
  • Bertahap = lebih lambat, lebih aman
  • Strategi mengendalikan blast radius saat gagal
Mengotomatisasi Deployment di AWS

Deploy in-place

in-place

  • Deploy ke instance yang sama yang melayani trafik
  • Satu batch sekali: setengah lalu setengah; atau satu per satu
  • Cek kesehatan tiap batch sebelum lanjut
  • Murah; tanpa infrastruktur tambahan
Mengotomatisasi Deployment di AWS

Deploy blue/green

  • Blue = armada produksi saat ini
  • Green = armada baru dengan versi baru
  • Load balancer mengalihkan trafik dari blue ke green
  • Armada lama tetap tersedia untuk rollback cepat

blue-green

Mengotomatisasi Deployment di AWS

Lambda dan ECS bersifat blue/green secara bawaan

  • Lambda: trafik dialihkan via alias version pointer
  • ECS: trafik dialihkan via replacement task set
  • Tanpa duplikasi armada ala EC2
  • Anda tetap memilih konfigurasi deploy

ecs

Mengotomatisasi Deployment di AWS

Memilih in-place vs. blue/green

  • Anggaran ketat, patch berisiko rendah → in-place
  • Butuh tanpa henti atau rollback instan → blue/green
  • Server legacy tunggal → in-place satu-satunya opsi
  • Lambda atau ECS → blue/green sudah bawaan

decide

Mengotomatisasi Deployment di AWS

Rollback di CodeDeploy

rollback

  • Rollback = mendeploy ulang revisi sukses sebelumnya
  • Picu otomatis saat kegagalan deploy
  • Picu otomatis saat alarm CloudWatch
  • Rollback blue/green: balikkan load balancer
Mengotomatisasi Deployment di AWS

Ayo berlatih!

Mengotomatisasi Deployment di AWS

Preparing Video For Download...