API (Application Programming Interface) adalah cara dua atau lebih user, service atau aplikasi saling terhubung. Contohnya adalah RESTful API yang biasa digunakan website atau aplikasi mobile untuk dapat terhubung ke server.

API gateway berada di tengah-tengah antara client atau API consumer dan service-service yang tersedia dan berfungsi untuk menangani komunikasi API antar keduanya. API gateway dapat mendukung manajemen penggunaan API seperti autentikasi dan rate limiting.

<aside> 💡 API gateway berada di tengah antara client dan service-service yang tersedia untuk menangani komunikasi API. Selain itu, secara umum API gateway juga dapat menangani hal-hal seperti versioning API, autentikasi, sentralisasi logging, rate limiting, dan sebagainya.

</aside>

Berikut ini ilustrasi sederhana komunikasi API tanpa API Gateway vs dengan API Gateway.

Untitled

Untitled

<aside> 💡 API Gateway pada dasarnya berfungsi sebagai reverse proxy. Reverse proxy adalah server perantara yang menerima permintaan dari klien dan meneruskannya ke server back end, kemudian mengembalikan respon dari server back end tersebut kepada klien. Beberapa contoh reverse proxy yang umum digunakan antara lain Nginx dan Apache HTTP Server.

</aside>