Kupas: Arsitektur Microservices

Kupas: Arsitektur Microservices

Membangung aplikasi raksasa dengan aplikasi-aplikasi kecil yang saling terintegrasi.

Yok kita pas kupas lagi. Kali ini mengenai microservices, arsitektur yang lagi trending saat ini. Oya, ini arsitektur untuk pengembangan aplikasi ya, bukan arsitektur bangunan. Beda lagi. Kalau yang bangunan saya gak paham ahahaha...

Langsung kita cari tau aja lah kenapa sih microservices bisa trending. Gas gas gassss...

Apa itu service?

Biar nyambung, kita bahas dulu apa itu service. Jadi di dalam aplikasi, layanan yang berjalan sendiri dan digunakan untuk melakukan proses tertentu, itu disebut service. Untuk terhubung ke sebuah service, biasanya dengan menggunakan berbagai cara, salah satunya REST API, yaitu media transfer data pada sebuah service yang menggunakan protokol HTTP.

Kita tau ya, HTTP itu untuk web. Tepat sekali, REST API ini transfer datanya sama seperti web biasa. Makanya dia pake HTTP.

Apa itu microservices?

Microservices itu salah satu arsitektur yang digunakan untuk mengembangkan service dengan membaginya menjadi beberapa service yang lebih kecil dan saling terintegrasi. Dengan begini, service menjadi lebih fleksibel dan mudah dirawat. (Tapi harus banyak yang ngerjain, kalo gak, bisa pusing ๐Ÿ˜‚)

Seluruh service yang terdapat dalam microservices, disebut microservice. Mereka punya kegunaan berbeda satu sama lain. Bahkan tiap microservice seakan-akan sebagai service lain yang betul-betul independen.

microservices

Dari gambar di atas, kita bisa liat kalo di situ ada beberapa microservice. Tiap microservice di situ, punya tugas masing-masing. Misal, untuk login, untuk transaksi, untuk data utama, semuanya dipisah jadi microservice-nya sendiri-sendiri.

Kenapa memilih microservices?

Memang, kalau kita gunakan microservices, perhatian kita jadi terpecah sehingga kurang cocok kalau untuk project skala tim kecil. Tetapi, juga timnya besar, ini keuntungan yang akan didapat.

  • Membagi tim menjadi tim kecil untuk masing-masing microservice, misal tim A untuk microservice A, tim B untuk microservice B. Dengan begini, pekerjaan tiap tim menjadi lebih ringan dan fokus.
  • Tiap microservice bisa diperlakukan sebagai sebuah service yang berjalan sendiri. Mau dimatikan, dinyalakan, discaling (optimasi), bisa semua tanpa harus mengganggu service yang lain.
  • Kalau ada masalah, kita bisa cari di microservice yang terlibat, gak perlu bongkar semua service.
  • Microservice bebas dikembangkan menggunakan teknologi apa aja, gak harus sama dengan yang lain. Ini mempermudah tim supaya gak perlu belajar teknologi baru, apa yang dikuasai, pake itu aja.

Kesimpulannya, microservices ini sangat menguntungkan untuk project dan tim yang berukuran besar.

Bagaimana melakukan microservices?

Sebetulnya cara melakukan microservices mudah saja, cukup dengan membuat service baru, sudah jadi ahahaha... Tantangannya adalah saat kita perlu membuat semuanya terintegrasi. Misal ada microservice yang perlu data dari microservice lain. Kita perlu memikirkan bagaimana hal tersebut dilakukan, mulai dari metodenya, sampai komunikasi di level tim dengan tim yang lain.

Penutup

Itu dia sekilas kupasan dari microservices. Sekarang, arsitektur ini jadi populer karena memang kebutuhan aplikasi semakin besar.

Terima kasih sudah baca.

Kalau mau diskusi, komen aja. Kalau mau berteman, bilang aja ๐Ÿ˜Ž