Advantages of arsitektur monolitik :
Keuntungan utamanya adalah fast development speed dikarenakan mudahnya memiliki aplikasi yang berbasis one code for all.
Jika dijabarkan, berikut keuntungan detailnya :
- Easy deployment - Dikarenakan hanya memiliki satu file yang dieksekusi atau satu directory, maka dikatakan akan mempermudah deployment
- Development - Ketika aplikasi dibuat dengan one code maka disebut mudah untuk dikembangkan.
- Performance - Karena codenya tersentralisasi, maka satu API bisa melaksanakan fungsi yang sama yang banyak API lain lakukan dengan microservices.
- Simplified Testing - Karna monolitik dikatakan aplikasi satuan, unit tersentralisasi, maka end-to-end testing bisa dilakukan lebih cepat dibandingkan dengan aplikasi yang terdistribusi.
- Easy debugging - Dengan mengalokasikan seluruh code disatu tempat, maka akan lebih mudah untuk mengikuti perintah dan menemukan masalah.
Kekurangan dari arsitektur monolitik :
- Slower development speed - Untuk aplikasi besar, arsitektur ini akan membuat development lebih komplek dan lambat
- Scalability - Tidak bisa mempertimbangkan skala komponen secara individual.
- Reliability - Ketika menemukan error di salah satu module, maka akan berdampak pada aplikasi secara keseluruhan
- Barrier to technology adoption - Apapun perubahan pada framework atau bahasa akan memengaruhi aplikasi keseluruhan, saat melakukan perubahan juga akan terhitung mahal dan memakan waktu
- Lack of flexibility - Sebuah monolit dibatasi oleh teknologi yang sudah digunakan dalam monolit tersebut.
- Deployment - Perubahan kecil pada aplikasi monolitik membutuhkan redeployment seluruh monolit.