Pola arsitektur aplikasi di AWS
Mendeploy Aplikasi di AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Kenali instruktur Anda
Mengapa arsitektur yang tepat penting
Arsitektur adalah serangkaian
trade-off
, bukan satu jawaban benar
Tiga pertanyaan membentuk tiap pilihan:
Seberapa erat komponen
terkait (coupled)
?
Di mana
state
berada?
Komunikasi
sinkron atau asinkron
?
Cocokkan pola dengan
workload
, bukan tren
Rantai kegagalan di malam Jumat
API pembayaran lambat membekukan seluruh checkout
Semua layanan menunggu sinkron padanya
Solusinya arsitektur, bukan API yang lebih cepat
Mengapa pilihan arsitektur menentukan deployment
Pola yang Anda pilih membentuk cara aplikasi
menskalakan dan gagal
Desain yang erat putus saat beban naik
Pola yang tepat membuat deployment terprediksi
Kode sama, perilaku produksi sangat berbeda
Pola arsitektur inti
Monolithic
: satu unit deploy, mudah memulai
Microservices
: layanan independen, dideploy terpisah
Event-driven
: komponen bereaksi pada event, bukan panggilan langsung
Fanout
adalah subpola event-driven: satu event ke banyak konsumen
Stateful vs stateless
Stateless
: tidak menyimpan data klien antar-permintaan
Instans mana pun bisa menangani permintaan mana pun
Stateful
: instans mengingat interaksi sebelumnya
Stateless memungkinkan Anda
menskalakan horizontal
Pindahkan state bersama ke
DynamoDB
atau
ElastiCache
Tight vs loose coupling
Tight coupling
: pemanggil menunggu respons dari yang dipanggil
Satu layanan lambat menghentikan seluruh rantai
Loose coupling
: antrian
Amazon SQS
di antara layanan
Produsen tetap bekerja meski konsumen sedang down
Sinkron vs asinkron
Synchronous
: pemanggil memblokir dan menunggu hasil
Gunakan saat pemanggil butuh jawaban sekarang
Asynchronous
: pemanggil menyerahkan kerja lalu kembali
Gunakan untuk pekerjaan lambat, memuncak, atau tidak mendesak
Pola ketangguhan untuk panggilan pihak ketiga
Retry dengan exponential backoff
: jeda makin lama antar upaya
Circuit breaker
: hentikan panggilan ke layanan yang gagal sementara waktu
Dead-letter queue
: tampung pesan yang terus gagal
Kombinasikan; retry membabi buta memperparah gangguan
Ayo berlatih!
Mendeploy Aplikasi di AWS
Preparing Video For Download...