- Monolithic
- Jika aplikasi makin kompleks dan penggunanya makin banyak, kenaikan biaya yang dibutuhkan lebih besar daripada jika menggunakan microservices.
- Satu server untuk menangani semua layanan.
- Tidak bisa menggunakan modul yang tidak terinstall pada server utama, misalnya akan menggunakan no-sql atau sql, nodejs dan lain sebagainya.
- Proses update aplikasi akan berimbas ke seluruh aplikasi.
- Seluruh code atau component menjadi satu server.
- Latensi komunikasi antar modul sangat rendah karena berada dalam server yang sama.
- MicroServices
- Aplikasi scalable, secure dan reliable.
- Setiap layanan memiliki infrastruktur sendiri.
- Karena setiap layanan memiliki infrastruktur sendiri, bisa dengan mudah membuat aplikasi tanpa memikirkan hubungan / ketergantungan module dengan layanan yang lain.
- Proses pembaruan aplikasi hanya melingkupi layanan yang terkait.
- Codenya berbasis layanan. harus memiliki dokumentasi yang lebih dari infrastruktur Monolithic
- Proses Scalingnya bisa menggunakan beberapa metode, scaling up dan scaling side
- Ada kemungkinan komunikasi antar modul-nya mengalami kegagalan. Untuk perlu dan harus selalu mempersiapkan cara handlenya.