skip to Main Content

Microservices

Microservices Architecture

DEFINISI MICROSERVICES

Pada microservices setiap aplikasi di bangun sebagai sekumpulan service dan setiap layanan berjalan dalam processnya sendiri. Masing-masing dari aplikasi tersebut saling berkomunikasi melalu API (Application Programing Interface).

Microservices berarti membagi aplikasi menjadi layanan yang lebih kecil dan saling terhubung. Di dalam microservices, masing-masing services atau layanan memiliki skema database tersendiri. Setiap services dapat menggunakan jenis database dan bahasa pemrograman yang paling sesuai dengan keperluan.

KARAKTERISTIK MICROSERVICES

  1. Banyak komponen.

Salah satu tujuan digunakannya microservices adalah agar suatu aplikasi dapat memiliki beberapa fitur yang optimal. Tiap fitur tentu saja memiliki komponen tersendiri untuk menjalankan layanannya. Oleh karenanya, dalam microservices akan terdapat banyak komponen yang digunakan.

  1. Ditujukan untuk kebutuhan bisnis.

Banyaknya fitur dalam suatu aplikasi berkaitan dengan tujuan bisnis yaitu dapat melayani konsumen semaksimal mungkin. Tanpa microservices, suatu aplikasi hanya dapat menjalankan aplikasinya secara optimal untuk satu tujuan besar, misal transaksi untuk produk rumah tangga.

Berbeda jika menggunakan microservices, hal tersebut bisa dioptimalisasi dengan menambahkan fitur-fitur pelengkap dari transaksi produk rumah tangga. Contoh dari hal itu adalah layanan membersihkan rumah. Dengan microservices, fitur baru tersebut dapat berjalan maksimal tanpa mengganggu tujuan utama dari aplikasi.

  1. Proses routing yang simpel.

Tujuan microservices adalah menyederhanakan suatu proses dalam aplikasi. Karena terbagi dalam fitur-fitur kecil, jika terjadi suatu permintaan, fitur tersebut tak perlu memproses terlalu lama untuk menyinkronkan dengan fitur lainnya. Seperti dijelaskan sebelumnya, hal ini terjadi karena microservices memungkinkan adanya fitur baru tanpa mengganggu fitur utama.

  1. Dapat berjalan sendiri (decentralized).

Dengan microservices, setiap fitur yang ada berjalan sendiri tanpa harus melakukan sinkronisasi dengan fitur-fitur lainnya. Itulah mengapa tiap fitur dalam aplikasi memiliki tim developer-nya sendiri yang berbeda dengan pengembang dari aplikasi utama.

  1. Mengurangi risiko kegagalan.

Meskipun berjalan sendiri, beragam fitur atau fungsi dalam aplikasi dapat saling mem-backup. Hal ini dapat membantu jika terjadi kegagalan dalam suatu fitur, terdapat backup melalui database yang tersedia.

  1. Selalu berubah.

Kemudahan yang diberikan microservices memudahkan suatu aplikasi beradaptasi dengan keadaan. Beragam jenis gadget, serta berbagai update yang diberikan tetap membuat suatu aplikasi dapat optimal karena adanya microservices.

KELEBIHAN MICROSERVICES

  • Aplikasi lebih aman dan sesuai dengan perkembangan.
  • Setiap service berdiri sendiri dan lebih mudah dimonitor.
  • Maintenance yang lebih mudah.
  • Tidak ada hambatan dalam menggunakan teknologi baru.
  • Pengembangan dapat dilakukan dari tiap service-nya tanpa mengganggu fitur utama.

KEKURANGAN MICROSERVICES

  • Jika terdapat perubahan entity pada database, entity pada service lainnya juga harus diubah.
  • Sering ditemukan kesulitan untuk menerapkan perubahan services, sehingga diperlukan perancangan yang matang.
  • Perlu automation yang tinggi dalam melakukan deployment.

 

MONOLITHIC vs MICROSERVICES

Microservice

SUMMARY

  • Microservices adalah pola arsitektur service-oriented di mana aplikasi dibangun sebagai kumpulan dari berbagai unit service kecil yang independen.
  • Arsitektur microservices adalah model arsitektur development yang memungkinkan pengembangan aplikasi sebagai kumpulan layanan otonom kecil yang dikembangkan untuk domain bisnis tertentu.
  • Dalam microservices, setiap unit dari aplikasi harus dibagi menjadi service kecil, dan harus dapat memberikan satu tujuan bisnis tertentu.
  • 2 tipe microservices:
    • Stateless
    • Stateful

Baca Juga : Pengenalan Android untuk Pemula


Penulis : Aditya Hikmat Tsauqi – Technical Consultant at PT Xsis Mitra Utama

DAFTAR PUSTAKA

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back To Top