Belajar Microservices: Pengenalan

Bagian pertama dari seri belajar microservice

Photo by Arif Riyanto on Unsplash

Arsitektur Monolitik

Jika yang dibahas mengenai arsitektur aplikasi, maka kita mengesampingkan bahasa yang digunakan dalam membangun aplikasi.

Arsitektur monolitik
  1. Lebih mudah dan cepat dalam proses pengujian, semudah menjalankan aplikasi lalu melakukan pengujian manual maupun dengan bantuan perangkat lunak lain seperti Selenium
  2. Aplikasi lebih mudah dalam proses deploy, cara paling sederhana dengan menyalin kode ke server melalui Git atau dengan bantuan FTP client. Ketika proses telah selesai maka aplikasi yang kita buat sudah siap untuk dijalankan.
  3. Mudah dalam proses scaling, misalnya menjalankan beberapa salinan dari aplikasi dengan menggunakan bantuan load balancer.
  1. Akan terjadi kendala ketika menerapkan continuous deployment.
  2. Aplikasi tidak dapat dikembangkan dengan bebas karena adanya kendala dalam menerapkan suatu bahasa dan adanya kendala dalam penentuan spesifikasi hardware yang cocok.
  3. Jika suatu fitur mengalami gangguan maka fitur lain bisa saja terpengaruh, lebih parahnya aplikasi bisa crash sehingga mengganggu proses bisnis yang berjalan.

Arsitektur Microservice

Pemisahan suatu aplikasi yang besar menjadi beberapa aplikasi yang lebih sederhana, beberapa aplikasi yang di pisah akan saling berkomunikasi untuk melayani pengguna. Aplikasi yang lebih kecil dan sederhana dalam bahasan microservice akan disebut sebagai service.

Arsitektur Microservice
  1. Aplikasi yang semula rumit menjadi lebih sederhana dan mudah untuk dikembangkan.
  2. Setiap service berjalan dengan independent tidak tergantung dengan service lain, jika ada satu service mengalami gangguan maka kecil kemungkinan aplikasi akan mengalami crash.
  3. Performa service lebih handal karena setiap service dapat di install di hardware yang sesuai.
  4. Aplikasi dapat dibuat dengan berbagai macam bahasa dan framework sesuai dengan kebutuhan service.
  5. Dapat menggunakan berbagai jenis basis data penyimpanan.

Kesimpulan

Pemilihan penggunaan arsitektur sangatlah penting dalam pembuatan web service, baik monolitik maupun mikroservice memiliki kekurangan dan kelebihan masing — masing, aplikasi yang sederhana lebih cocok untuk menggunakan arsitektur monolitik, sedangkan aplikasi yang sekalanya besar sangat disarankan untuk menggunakan arsitektur microservice.

Software Engineer