<aside>
đ đ Category: Microservices
</aside>
What are Microservices?
Microservices adalah pendekatan arsitektur untuk mengembangkan aplikasi sebagai
kumpulan
layanan kecil yang independen, di mana setiap layanan menjalankan proses sendiri dan
berkomunikasi
menggunakan mekanisme lightweight (biasanya HTTP/REST API).
<aside>
âšī¸ Key Principle: Setiap microservice fokus pada satu business capability,
dapat di-deploy secara independen, dan memiliki database sendiri.
</aside>
Monolithic vs Microservices
- Semua code dalam satu aplikasi
- Single database
- Deploy seluruh aplikasi sekaligus
- Scaling harus keseluruhan aplikasi
- Technology stack terpusat
- Aplikasi terdiri dari banyak services kecil
- Database per service
- Deploy per service secara independen
- Scaling per service sesuai kebutuhan
- Technology stack yang beragam
Karakteristik Microservices
- [x] Componentization via Services - Aplikasi dipecah menjadi services
yang dapat di-deploy independen
- [x] Organized around Business Capabilities - Tim diorganisir berdasarkan
business domain, bukan technical layer
- [x] Products not Projects - Tim memiliki service dari development hingga
production
- [x] Smart endpoints and dumb pipes - Gunakan komunikasi sederhana
(HTTP/REST)