Scalability for Beginners

9 artikel dalam 3 bagian — baca secara berurutan.

I — Konsep Dasar

2 articles
  1. 01Kenapa Aplikasi Berhenti Scale? Memahami Bottleneck Sebelum MengatasinyaBottleneck umum yang bikin aplikasi berhenti scale, perbedaan vertical dan horizontal scaling, dan kenapa "ukur dulu, baru optimasi" jadi prinsip utama sepanjang seri ini.
  2. 02Anatomi Sistem yang Scalable: Load Balancer, Caching, dan Connection PoolingKomponen-komponen inti sebuah sistem yang scalable — load balancer, stateless application, caching layer, dan connection pooling — dibedah satu per satu sebelum masuk ke praktik.

II — Praktik

6 articles
  1. 03Praktik: Mengukur Dulu, Baru OptimasiMembangun skrip load test sederhana, mengukur baseline `task-tracker-api`, lalu mendorongnya sampai titik patah untuk menemukan bottleneck nyata lewat log — bukan tebakan.
  2. 04Praktik: Caching dengan RedisMenambahkan caching layer dengan Redis lewat cache-aside pattern, TTL, cache invalidation eksplisit, dan mengukur dampaknya nyata lewat before/after benchmark.
  3. 05Praktik: Database ScalingMigrasi dari SQLite ke Postgres, cara index mengubah Seq Scan jadi Index Scan, dan mengatur ukuran connection pool yang tepat — plus temuan mengejutkan tentang bottleneck yang tersembunyi di tempat lain.
  4. 06Praktik: Async & Concurrency yang BenarMembongkar bottleneck tersembunyi di thread pool FastAPI, membuktikan bedanya lewat demo blocking vs async terisolasi, dan kenapa `async def` yang salah pakai justru lebih buruk dari `def` biasa.
  5. 07Praktik: Horizontal Scaling dengan Docker & Load BalancerContainerize `task-tracker-api`, menjalankan tiga instance sekaligus di belakang Nginx lewat Docker Compose, membuktikan round-robin dan cache yang konsisten, dan mengukur dampaknya lewat load test paralel.
  6. 08Observability: Tahu Kapan Harus ScaleStructured logging berformat JSON, metrics dengan Counter dan Histogram lewat Prometheus, jebakan cardinality explosion, dan menghubungkan angka metrics ke keputusan scaling yang nyata.

III — Best Practices

1 article
  1. 09Best Practices & Next StepsKesalahan umum dalam scaling, checklist debug untuk sistem yang lambat di production, dan roadmap lanjutan setelah menguasai fondasi caching, database, concurrency, dan observability.