Kodeloka
  1. Kodeloka
  2. Kelas Git & CI/CD
  3. Materi

Arsitektur · Modul 19 dari 20

What are Microservices? Microservices Architecture & CI/CD

Arsitektur Microservices vs Monolith, tantangan deployment, strategi CI/CD independen per service, dan komunikasi inter-service.

1. Monolith vs Microservices

Pada arsitektur Monolith, seluruh modul (Auth, Payment, Inventory, Notification) digabung menjadi 1 basis kode tunggal dan rilis bersamaan. Ini menyebabkan pipeline build menjadi sangat lambat dan deployment berisiko tinggi.

Pada arsitektur Microservices, setiap layanan dipisah menjadi repositori/folder independen dengan database terpisah, bahasa pemrograman bebas (polyglot), serta memiliki Pipeline CI/CD terpisah.

2. Tantangan CI/CD pada Microservices & Solusinya

  • Independent Build & Deploy: Perubahan pada payment-service tidak boleh memicu re-build pada user-service.
  • Contract Testing (Pact): Memastikan perubahan API pada satu service tidak merusak interaksi dengan service konsumen.
  • Monorepo vs Polyrepo: Di Monorepo, gunakan Path Filtering di CI (misal: jalankan job hanya jika folder services/payment/** berubah).