Membangun Microservice menggunakan API Gateway

Membangun Microservice menggunakan API Gateway

Pada artikel saya yg sebelumnnya Mengenal Arsitektur Microservices pada Aplikasi Modern saya telah membahas tentang Pengenalan Arsiteksur Microservice. pada artikel kali ini saya akan membahas tentang membangun microservice menggunakan api gateway.

Saat Anda memutuskan untuk membuat aplikasi dengan menggunakan arsitektur microservices, anda juga harus memikirkan bagaimana client-app (Mobile-App/Web-App) dapat berinteraksi dengan microservice yang anda buat. Pada arsitektur monolitic biasanya hanya terdapat 1 set endpoint (biasanya replicated dan load balanced). Namun Pada arsitektur microservices, setiap service mempunya endpoint sendiri yang saling berkomunikasi melalu endpoint tersebut.

API Gateway sendiri adalah merupakan gerbang dari beberapa API, bertugas sebagai management API, merge beberapa API, authentication API dan lain – lain. Pada dasarnya Microservice itu sendiri sebenarnya adalah kumpulan dari beberapa service atau kumpulan dari beberapa API. API ini biasanya berbentuk REST API menggunakan protokol http. Microservice sendiri sebenarnya berasal dari monolithic yang telah dipecah. Monolithic adalah aplikasi yang sehari – hari kita kembangkan, dimana semua module terdapat di dalam 1 aplikasi yang sangat besar.

Fungsi API Gateway adalah sbb:

– Throttling.
– Caching.
– Security (authentication and threat protection).
– API creation with built in, sometimes visual, editors.
– API management.
– Monitoring and analytics.
– Contract and service level agreement management.

Bisa kita lihat dari gambar diatas, jika client-app ingin consume API dari ‘service book’ atau semisal ingin consume API dari ‘service review’ makan client-app tidak mengconsume langsung dari service tersebut, melainnya harus consume lewat API gateway, dari API gateway akan diteruskan kepada masing-masing service. jika kita tidak menggunakan API GATEWAY maka client-app akan request 2x yaitu request ke ‘service book’ lalu request kembali ke ‘service review’. Biasanya model seperti ini akan membuat banyak latency di bagian client, nah untuk mengurangi hal tersebut maka kita cukup melakukan merge request API di bagian API gateway sehingga client hanya perlu melakukan request sekali ke API gateway.

Seperti yang telah kita tau, Manfaat utama menggunakan API Gateway adalah bahwa ia merangkum struktur internal aplikasi. Daripada harus menggunakan service khusus, client-app cukup berbicara dengan gateway. API Gateway meneruskan berbagai jenis permintaan klien lewat API tertentu. Ini mengurangi jumlah perputaran jalur antara client-app dan Back-End. Ini juga dapat menyederhakan code dari client-app. selain itu juga pada masalah secutiry, kita dapat mengimplementasikan secuity cukup dalam API Gateway nya saja. kalau semisal tidak menggunakan API gateway maka kita harus implementasi security pada tiap service tentu hal ini akan terlihat menjijikan dan pemborosan code :D.

Cukup sekian artikel apda kali ini, semoga bisa menjadi bahan pertimbangan dalam merancang arsitektur aplikasi yang ingin anda buat. dan jangan lupa sering kunjungi web ini karena saya akan sering membahas tentang teknologi-teknologi terutama tentang Back-End.

Software Developer | Backend Engineer | Contact Me : alfinandika@outlook.com

%d bloggers like this: