Pilih Monolithic Atau Microservices ?

pilih monolithic atau microservices

Saat ini, microservices dikenal luas untuk pembagian aplikasi menjadi layanan yang lebih kecil dan saling berhubungan. Ini berbeda dari monolitik yang merupakan kebalikan dari microservices. Monolithic juga bisa diartikan sebagai satu. Arsitektur monolithic adalah arsitektur untuk membuat aplikasi di mana semua komponen tidak terpisah satu sama lainnya.

Setiap microservice adalah aplikasi kecil yang memiliki arsitektur heksagonal sendiri yang terdiri dari logika dan berbagai adaptor (bahasa pemrograman, dll.). Sementara pendekatan monolitik bekerja dengan baik untuk banyak organisasi dan aplikasi, microservices menjadi semakin populer di kalangan organisasi yang membutuhkan kelincahan dan skalabilitas yang lebih besar.

Untuk lebih jelasnya, mari kita kupas dengan lebih mendalam lagi.

MONOLITHIC

monolithic-architecture

Nah jika kamu sering atau setidaknya pernah membuat aplikasi, pasti kamu mengenal infrastruktur aplikasi seperti diatas.

Untuk mempermudah penjelasan, mari kita asumsikan bahwa gambar diatas adalah server. Di server ini, ada banyak layanan seperti: layanan untuk antarmuka pengguna, layanan pemrosesan data, dan sebagainya. Jika ada yang masih belum jelas maka gampangnya adalah sama seperti di server, ada layanan server web, layanan database, dan sebagainya.

MICROSERVICES

microservices

Tidak seperti monolithic, infrastruktur microService membagi layanan-layanan yang ada menjadi bagian-bagian yang lebih kecil. Misalkan ada server khusus untuk memproses layanan antrian, layanan hosting khusus untuk antarmuka pengguna, server khusus untuk manajemen database, dan sebagainya.

Jika kita bandingkan maka bisa kita bedakan sebagai berikut :

Monolithic

  • Jika aplikasi makin kompleks dan penggunanya makin banyak, kenaikan biaya yg dibutuhkan lebih besar daripada jika menggunakan microservices
  • Satu server untuk handle semua layanan
  • Tidak bisa menggunakan module module yang tidak terinstall pada server utama. misalkan mau menggunakan no-sql atau sql, nodejs atau php
  • Proses update aplikasi akan berimbas ke seluruh aplikasi.
  • Seluruh Code atau component menjadi 1 server.
  • Untuk scaling hanya bisa mengupgrade resource server saja.
  • Latensi komunikasi antar modul sangat rendah karena berada dalam server yang sama.

MicroService

  • 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. misalkan kamu bisa membuat aplikasi dengan beberapa bahasa pemrograman.
  • Proses update aplikasi hanya melingkupi layanan yang terkait.
  • Codenya berbasis layanan. Kamu harus memiliki dokumentasi yang lebih dari pada infrastruktur Monolithic
  • Proses Scalingnya bisa menggunakan beberapa metode, scaling up dan scaling side
  • Ada kemungkinan komunikasi antar modulenya mengalami kegagalan. Untuk itu kamu harus selalu mempersiapkan cara handlenya.

Datacomm Cloud Business sebagai provider cloud terkemuka di Indonesia terus melakukan inovasi untuk memberikan layanan terbaik bagi pelanggannya, salah satunya adalah dengan Datacomm Azure Stack (DAS) yang mendukung teknologi container sehingga implementasi microservices bisa berjalan dengan lebih baik, Anda bisa menggunakan layanan Datacomm Azure Stack (DAS) dengan support dan lokasi Datacenter lokal, 24×7 NOC dan SOC monitoring.

Sumber refernsi : article.microservices.com, juraganhosting.com, dzone.com, medium.com

Leave a Reply

Your email address will not be published. Required fields are marked *

*
*