Ada sebuah fakta pada microservice arsitektur, yaitu setiap layanan akan mengekspos endpoint lebih detail. Hal ini tentu akan mempengaruhi cara klien atau layanan luar yang memberikan layanan pada layanan mikro.
Ada beberapa cara di dunia luar mengakses service-service yang ada pada microservice. Salah satunya dengan pengaksesan langsung atau direct access pada service-service yang dimiliki.
Ada juga cara lain yaitu melalui suatu layanan sebagai pintu utama untuk mengakses layanan-layanan pada layanan mikro. Service inilah disebut sebagai API Gateway .
Apa Itu API Gateway?
API Gateway berfungsi sebagai gerbang dari beberapa API yang bertindak jadi titik masuk tunggal untuk grup microservices yang ditentukan serta berfungsi sebagai management API, merge beberapa API, authentication API dan sebagainya.
API Gateway adalah pemrograman berada di depan application programming interface (API) yang menangani terjemahan protokol. Pemrograman ini sangat berguna jika klien yang dibuat dengan microservices memakai beberapa API yang berbeda.
Microservices itu sendiri dapat diartikan sebagai kumpulan dari beberapa service atau kumpulan dari beberapa API yang biasanya berbentuk REST API dan menggunakan protokol HTTP.
Penyebab hal ini karena client biasanya hanya mengakses 1 URL REST API, sementara microservices memiliki banyak service REST API. Oleh karena itu, untuk mengatasi masalah itu maka perlu menggunakan API Gateway.
Terdapat banyak contoh API Gateway yang beredar di pasaran seperti express gateway, kong, tyk, API Umbrella dan lainnya.
Jenis-Jenis API
-
API RESTful
Build API RESTful dioptimisasi untuk beban kerja nirserver dan backend HTTP dengan API HTTP. API HTTP menjadi pilihan terbaik untuk membangun API yang hanya memerlukan fungsionalitas proxy API. Jika API Anda memerlukan fungsionalitas proxy API dan fitur manajemen API untuk satu solusi, API Gateway juga menawarkan API REST.
-
API WEBSOCKET
Build aplikasi komunikasi dua arah secara real time, contohnya aplikasi obrolan dan dasbor streaming, dengan API WebSocket. API Gateway memelihara koneksi berkelanjutan bertujuan menangani transfer pesan antara layanan backend dan klien Anda.
Baca juga:
Keuntungan API Gateway
Terdapat sejumlah keuntungan API Gateway, yaitu:
- Pengembangan API Lebih Efisien
Gunakan berbagai versi API yang sama secara bersamaan dengan API Gateway, sehingga memungkinkan Anda secara cepat mengulang, menguji, dan merilis versi baru. Anda membayar untuk panggilan ke API dan transfer data keluar, serta tak ada biaya minimum atau komitmen di muka.
- Kinerja dengan Segala Skala
Beri pengguna akhir latensi serendah mungkin untuk permintaan dan respons API dengan memanfaatkan jaringan global lokasi edge. Kemudian batasi lalu lintas dan otorisasi panggilan API untuk memastikan operasi backend menahan lonjakan lalu lintas dan sistem backend tak usah dipanggil.
- Hemat Biaya untuk Skala Besar
API Gateway menyediakan model harga bertingkat untuk permintaan API. Dengan harga Permintaan API rendah 0,90 USD per juta permintaan di tingkat tertinggi, Anda bisa mengurangi biaya saat penggunaan API meningkat per wilayah di seluruh akun AWS Anda.
- Pemantauan Lebih Mudah
Pantau metrik kinerja dan informasi tentang panggilan API, latensi data, dan tingkat kesalahan dari dasbor API Gateway, sehingga memungkinkan Anda memantau panggilan ke layanan secara visual .
- Kendali Keamanan jadi Fleksibel
Kendalikan akses ke API Anda dengan aman dengan AWS Identity and Access Management (IAM). Jika Anda menggunakan token OAuth, API Gateway bisa memberi dukungan OIDC dan OAuth2 native. Untuk mendukung persyaratan otorisasi kustom, Anda bisa menjalankan pengotorisasi Lambda.
- Opsi API RESTful
Bagi API RESTful menggunakan API HTTP atau API REST. API HTTP adalah cara terbaik mem-build API untuk sebagian besar kasus penggunaan—API HTTP sampai 71 persen lebih murah dibanding API REST. Jika penggunaan Anda butuh fungsionalitas proxy API dan fitur manajemen dalam satu solusi, Anda dapat menggunakan API REST.