Sebelum membangun microservices, kalian perlu menguasai REST API, SQL dasar, Docker, dan Git. Di episode ini kalian juga menyiapkan seluruh environment — Bun, Docker Compose, PostgreSQL, Redis, Kafka/Redpanda, dan API testing tool — untuk mengikuti seluruh series

Selamat datang di series Belajar Microservices! Series ini akan membawa kalian merancang, membangun, dan mengoperasikan aplikasi microservices secara nyata menggunakan studi kasus e-commerce tokokita — tujuh layanan (auth, product, cart, order, payment, notification, api-gateway) di atas TypeScript/Bun, PostgreSQL, Redis, dan Kafka. Total ada 28 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness.
Sebelum menulis kode pertama, ada skill dasar dan perangkat lunak yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena microservices pada dasarnya adalah distributed system: bukan satu aplikasi, melainkan banyak layanan kecil yang saling berbicara lewat jaringan. Tanpa dasar yang kuat, kalian akan tenggelam di laut log error dan masalah koneksi antar layanan.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan seluruh tooling, dan memverifikasi environment untuk pertama kali.
Semua komunikasi antar layanan berbalut HTTP. Kalian wajib memahami method GET, POST, PUT, PATCH, DELETE; status code 200, 201, 400, 401, 404, 422, 500; serta format pertukaran data JSON. Series ini diasumsikan kalian sudah pernah menulis endpoint REST — baik di Laravel, Express, Elysia, atau framework lain.
Setiap layanan memakai PostgreSQL miliknya sendiri. Kalian wajib memahami konsep tabel, primary key, foreign key, index, dan migration — bagaimana mengubah schema tanpa merusak data. Jangan khawatir jika belum hafal semua sintaks SQL; yang penting paham model relasionalnya.
Docker adalah fondasi menjalankan microservices di local environment. Kalian perlu paham perbedaan image vs container, kenapa volume dibutuhkan agar data bertahan, dan bagaimana container saling bicara lewat network. Buat latihan cepat:
docker run --rm hello-worldJika sudah pernah menjalankan perintah ini, dasar Docker kalian cukup untuk mengikuti series.
Kerja di microservices berarti kerja tim antar-service. Kalian wajib paham git clone, git add, git commit, git push, git pull, dan dasar branching. Semua code di series ini diorganisasi dalam satu monorepo.
Ini skill yang paling sering diremehkan. Pada sistem terdistribusi, satu request bisa melewati 5-6 layanan dan menghasilkan belasan log. Kebiasaan membaca log secara sistematis — dari yang paling awal, bukan yang paling akhir — akan menyelamatkan kalian berkali-kali di series ini.
Semua layanan ditulis dalam TypeScript dan dijalankan dengan Bun. Bun menyediakan runtime, bundler, test runner, dan package manager dalam satu binary.
curl -fsSL https://bun.sh/install | bashVerifikasi dengan bun --version — pastikan minimal versi 1.2. Jika kalian tetap ingin pakai Node.js LTS, seluruh materi tetap bisa diikuti dengan sedikit penyesuaian, tapi series ini memakai fitur Bun-native (misalnya Bun.serve dan test runner bawaan).
Microservices butuh banyak komponen infrastruktur (database, cache, message broker). Semua itu akan dijalankan lewat Docker Compose agar reproducible di semua mesin.
docker version
docker compose versionDocker Desktop (macOS/Windows) memuat Compose bawaan. Di Linux, install docker-compose-plugin sesuai distro. Harusnya docker compose version mencetak versi v2.x.
Saat masuk ke episode 3, kalian akan menjalankan tiga komponen ini lewat Compose:
Untuk saat ini cukup pastikan port 3000-3010, 5432, 6379, dan 9092 tidak dipakai service lain. Akses psql juga opsional tapi membantu. Di episode 3 kita akan menuliskannya di compose.yaml.
Fase 4 dan 5 membahas Kubernetes. Untuk saat ini opsional, tapi kalian bisa menyiapkan k3d atau kind lebih awal:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
brew install k3d # macOS
curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash # LinuxJangan paksakan di episode 0 jika waktu terbatas — k3d baru benar-benar dipakai di episode 17.
Untuk menguji endpoint antar layanan, pilih salah satu:
Series ini akan memakai curl dan Bruno sebagai alat utama testing.
VS Code adalah pilihan paling nyaman untuk TypeScript + Docker:
oven.bun-vscode) — integration runtime.compose.yaml.Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:
bun --version
docker version --format '{{.Server.Version}}'
docker compose version
git --versionChecklist lengkap yang harus terpenuhi:
bun --version mencetak versi minimal 1.2.Tip
Jika environment kalian sebelumnya hanya untuk monolith satu layanan, perlu diingat: di microservices kalian akan menjalankan banyak proses sekaligus. Biasakan diri membedakan log per container sejak dini — misalnya menamai container secara eksplisit (docker compose ps) agar tidak bingung saat ada 6 service berjalan. Keterampilan ini akan dipakai terus di semua episode.
Episode 0 menyiapkan seluruh fondasi teknis sebelum membangun microservices: skill REST API, SQL dasar, Docker, Git, dan kebiasaan membaca log — ditambah tooling Bun, Docker Compose, PostgreSQL, Redis, Kafka, dan API client.
Inti yang harus dibawa pulang:
Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa microservices — dari monolith, SOA, ledakan cloud & container pada 2014-2016, hingga modular monolith yang menjadi tren 2026. Pastikan environment kalian sudah siap, karena perjalanan Belajar Microservices baru saja dimulai!