Saturday, July 3, 2021

Monolithic vs Microservices

 

Monolithic vs Microservices
Monolithic vs Microservices


Arsitektur aplikasi monolitik ini menggunakan kode sumber dan teknologi yang serupa untuk menjalankan semua tugas-tugasnya.

Contoh: WordPress merupakan contoh paling mudah untuk menggambarkan arsitektur aplikasi yang bersifat monolitik, dimana dalam satu aplikasi kita dapat memiliki frontend sekaligus backend. 
Semua fitur security, performance, manajemen konten, statistik, semuanya dibangun dengan menggunakan PHP dan database MySQL, dalam kode sumber yang sama.

Perkembangan berikutnya adalah dengan memisahkan aplikasi
berdasarkan user role-nya.
  • Frontend yaitu aplikasi yang akan diakses oleh pengakses blog (user).
  • Backend yang digunakan oleh kontributor konten dan admin blog.
  • Bisa juga memisahkan halaman reporting, member dan lainnya, dengan tujuan agar satu fungsi tidak akan mengganggu fungsi lainnya.
Pada praktiknya pemisahan halaman ini dilakukan di level domain.
  • Misal subdomain www untuk frontend, subdomain admin untuk backend, subdomain report untuk reporting.
  • Setiap subdomain dapat dilakukan pemisahan server secara fisik.
  • Pemisahan ini dilakukan agar proses scaling dan debuging dapat dilakukan dengan mudah.
Microservices adalah aplikasi dipecah tidak sekedar hanya memisahkan antara backend dan frontend, melainkan dipecah menjadi service-service yang berfungsi secara spesifik. Apabila kita menjalankan layanan website blog, maka dengan pendekatan microservices aplikasi bisa di breakdown menjadi layanan khusus konten, statistik, reporting, searching, komentar dan lainnya.

  • Tetap pada saat kita memecah aplikasi menjadi layanan-layanan yang kecil, kita akan dihadapkan pada cluster aplikasi dengan stack teknologi yang beragam dengan jumlah yang banyak.
  • Mungkin di bagian konten kita menggunakan PHP dan Mysql, tetapi di fitur statistik kita menggunakan stack teknologi seperti Python, Memcached dan Mongodb, dan begitu juga dengan layanan lainnya dengan teknologi yang di adopsinya.


Artikel Terkait

Life with colorful experience


EmoticonEmoticon