Skalabilitas Aplikasi Web

11
Skalabilitas Aplikasi Web Mohammad Anwari [email protected] 2015.08.11

Transcript of Skalabilitas Aplikasi Web

Page 1: Skalabilitas Aplikasi Web

Skalabilitas Aplikasi Web

Mohammad [email protected]

2015.08.11

Page 2: Skalabilitas Aplikasi Web

SkalabilitasVertikal vs. HorizontalSkalabilitas vs. PerformaPerencanaan Kapasitas

● Data masuk/keluar● Jumlah dan waktu pakai pengguna● Bandwith masuk/keluar● Memahami batas atas sumber daya● Statistik (rata-rata dan puncak)

Page 3: Skalabilitas Aplikasi Web

● Infrastruktur● Arsitektur aplikasi● Basis data

Tiga area skalabilitas

Page 4: Skalabilitas Aplikasi Web

Infrastruktur

● Arsitektur layanan○ Storage, computing, db, surel○ Load balancing○ H/A○ Caching○ Layanan aset statis, cdn, kompresi

● Multisite vs single point of failure

Page 5: Skalabilitas Aplikasi Web

Arsitektur aplikasi

● Microservices vs. monolitik● Pemrosesan di sisi klien vs. sisi peladen● Worker process vs. standalone● Async vs. sync● Pemilihan framework ● Single page vs. multipage● Data caching● Memahami titik kritis aplikasi

Page 6: Skalabilitas Aplikasi Web

Load balancer

Statics API

Data

Pola arsitektur

Page 7: Skalabilitas Aplikasi Web

Load balancer

Statics

API

DB

API

FS

Contoh arsitektur

Page 8: Skalabilitas Aplikasi Web

Basis data

● Optimasi indeks● Teknik paging● Stored procedures vs. pemrosesan di klien● Master/slave vs. monolitik● Partitioning vs. sharding

Page 9: Skalabilitas Aplikasi Web

Arsitektur master/slave

Master Slave Slave

Page 10: Skalabilitas Aplikasi Web

Analisis masalah

● Lakukan benchmark○ wrk / ab○ Chrome/Firefox developer tools

● Lakukan pengukuran di tiga area tadi● Telusuri penyebabnya saat area

penyelidikan sudah mengerucut● Refaktor

Page 11: Skalabilitas Aplikasi Web

1 detik 0.7 detik 0.3 detik

DB App Infrastruktur