Apa itu API Gateway?

25 Agustus 2024

Penyusun

Gita Jackson

Staff Writer

Michael Goodwin

Editorial lead, Automation & ITOps

Apa itu API Gateway?

API Gateway adalah alat API Management yang bertindak sebagai perantara antara klien API (aplikasi pada perangkat pengguna) dan layanan backend (terletak di server). API gateway menyajikan satu titik masuk untuk panggilan API.

API, atau antarmuka pemrograman aplikasi, adalah seperangkat aturan atau protokol yang memungkinkan aplikasi perangkat lunak untuk berkomunikasi satu sama lain untuk bertukar data, fitur, dan fungsionalitas. Permintaan data dari klien ke API dikenal sebagai panggilan API.

API gateway menerima panggilan API (terkadang disebut permintaan API), merutekannya ke satu atau beberapa layanan backend, mengumpulkan data yang diminta, dan mengirimkannya ke klien dalam satu paket gabungan. Dia juga menyediakan analisis, lapisan perlindungan ancaman, dan keamanan lainnya untuk aplikasi.

Misalnya, pertimbangkan aplikasi web restoran. Dengan menggunakan laptop atau ponsel, pengguna dapat memasukkan satu permintaan dan dengan mudah mengakses menu restoran, foto dan ulasan, layanan pembayaran, dan peta untuk memeriksa lokasinya, meskipun semua informasi tersebut dikumpulkan dan dikirimkan dari layanan mikro backend atau API yang berbeda. Permintaan yang dikirimkan melalui aplikasi pengguna diterima dan dijalankan oleh API Gateway.

Nilai API Gateway

API gateway dapat diterapkan di cloud, lokal dan di lingkungan hybrid, dan merupakan komponen penting dari manajemen API dan keamanan API. API Gateway membantu organisasi memberikan pengalaman API yang konsisten, aman, dan memuaskan bagi pengguna.

API management adalah proses yang dapat diskalakan untuk membuat, menerbitkan, dan mengelola API dalam suatu perusahaan. API gateway meningkatkan dan menyederhanakan tugas manajemen seperti perutean permintaan, penyeimbangan beban, dan penanganan kesalahan. API gateway juga meningkatkan observabilitas API dengan menghasilkan log panggilan API dan memungkinkan penggunaan alat analisis terintegrasi.

Keamanan API mengacu pada praktik dan prosedur yang melindungi API dari penyalahgunaan, serangan jahat, dan ancaman keamanan siber lainnya. API gateway membantu menerapkan protokol keamanan API dan dapat digunakan untuk mengelola autentikasi, otorisasi, dan izin serta kontrol akses lainnya (dengan mengonfirmasi kunci API, atau mengintegrasikannya dengan protokol otorisasi seperti OAuth, misalnya), pembatasan kecepatan (untuk melindungi dari serangan, misalnya serangan denial-of-service terdistribusi), dan enkripsi sesuai dengan kebijakan keamanan API organisasi.

API gateway menyediakan fungsi tambahan untuk meningkatkan efisiensi dalam perusahaan, membantu memungkinkan kinerja tinggi dan ketersediaan tinggi untuk aplikasi dan layanan backend. Misalnya, API Gateway dapat digunakan untuk caching, sebuah proses di mana data yang umum direferensikan disimpan secara lokal. Ini membantu meningkatkan waktu respons dan mengurangi beban pada server. Mereka juga dapat mengompres respons yang besar menjadi file yang lebih kecil, sehingga mengurangi konsumsi bandwidth.

Mereka juga menyediakan kemampuan pembatasan kecepatan, yang menetapkan batas seberapa sering klien dapat mengirim permintaan ke suatu layanan dalam jangka waktu tertentu. Hal ini meningkatkan stabilitas, mencegah server menjadi kelebihan beban dan membantu memastikan bahwa klien memiliki akses yang sama ke API.

API Gateway dan kemampuannya membantu organisasi menyeimbangkan lalu lintas API dan beban kerja seiring skala organisasi. Dengan memusatkan fungsi-fungsi ini, API Gateway membantu merampingkan cara perusahaan mengembangkan, menerapkan, dan mengelola API. Gateway membantu meningkatkan kinerja, skalabilitas, dan ketersediaan aplikasi dan layanan, serta memungkinkan pengembang untuk lebih fokus pada logika bisnis inti daripada administrasi API.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Bagaimana cara kerja API Gateway?

API memungkinkan aplikasi berkomunikasi satu sama lain dan berbagi data baik di dalam maupun di luar lingkungan TI organisasi. Perusahaan modern dapat memiliki ribuan API dan gateway menyediakan titik fokus pusat, “pintu depan”, dan antarmuka standar yang membantu mengelola dan merutekan panggilan API dari satu lokasi. Sebuah organisasi mungkin memilih untuk menggunakan beberapa gateway, seperti yang dilakukan banyak organisasi, untuk memungkinkan protokol dan standar keamanan yang berbeda untuk diterapkan pada API atau pengguna yang berbeda, tetapi prinsip-prinsip yang sama berlaku.

Permintaan dan perutean

API gateway menerima semua panggilan yang diarahkan ke titik akhir API perusahaan, mengautentikasi panggilan, memprosesnya berdasarkan kebijakan organisasi, mengarahkannya ke layanan yang sesuai, lalu akhirnya menggabungkan dan mengembalikan hasilnya ke klien API yang membuat panggilan. Bahkan jika beberapa layanan diminta dan diakses melalui panggilan API, klien hanya menerima satu respons dengan semua data.

Komposisi API

API gateway menyediakan orkestrasi alur kerja karena menggabungkan informasi yang diminta dari beberapa layanan mikro, menggabungkan data, dan mengembalikannya ke pemohon dalam bentuk komposit.

Penerjemahan protokol dan data

API Gateway menangani terjemahan data dan protokol dalam kasus di mana perangkat klien dan layanan mikro menggunakan bahasa, format yang berbeda (misalnya, permintaan masuk menggunakan JavaScript atau JSON tetapi layanan mikro menggunakan XML) atau protokol (seperti permintaan HTTP versus permintaan gRPC).

Penyimpanan cache

Untuk informasi yang sering diminta, API Gateway mungkin menggunakan caching untuk mempercepat waktu respons untuk permintaan. Data ini disimpan dalam cache terpisah sehingga gateway dapat dengan cepat mengembalikannya tanpa perlu merutekan lalu lintas ke layanan tambahan.

Pemantauan dan pencatatan

API Gateway dapat memantau dan mencatat permintaan, respons, dan kesalahan API. Data analitik ini dapat digunakan untuk mendapatkan pemahaman yang lebih baik tentang lalu lintas dan kinerja API, meningkatkan pemecahan masalah, dan memperkuat keamanan.

AI Academy

Mencapai kesiapan AI dengan hybrid cloud

Dipandu oleh pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Mengapa menggunakan API gateway?

API sangat penting untuk aliran data dalam sistem modern dan API gateway membantu melindungi API dan aplikasi, membantu organisasi mengumpulkan data yang berharga, dan membantu memastikan kinerja API.

API Gateway dapat membuat proses lebih efisien. Semua API organisasi mungkin perlu menyelesaikan beberapa tugas umum di samping fungsi spesifiknya setiap kali ada panggilan ke API tersebut. Dalam ekosistem API-first, di mana API adalah blok bangunan di mana perangkat lunak dibangun, ini sangat umum.

Sebagai contoh, untuk mematuhi protokol keamanan API, setiap panggilan API mungkin perlu melalui proses otorisasi dan validasi. Atau untuk membantu memastikan bandwidth yang memadai, setiap API mungkin perlu dipantau untuk tingkat penggunaan dan lalu lintas. Jika API dimonetisasi, setiap panggilan mungkin perlu dialihkan ke layanan penagihan. API gateway dapat menangani semua tugas ini.

Beberapa panggilan API memerlukan sumber daya dari beberapa layanan mikro yang berbeda; API gateway memecah panggilan tersebut, merutekan permintaan ke layanan backend yang sesuai dan menggabungkan sumber daya yang diminta menjadi satu respons untuk klien. Hal ini mencegah klien dari keharusan mengirim panggilan API terpisah ke setiap layanan mikro, merampingkan proses dan mengurangi beban panggilan. Panggilan selalu pergi ke tempat yang sama dan gateway mengatur pengambilan dan pengembalian sumber daya.

Kemampuan ini sangat bermanfaat dalam lingkungan DevOps, di mana arsitektur layanan mikro sering digunakan untuk membantu tim mempercepat pengembangan dan terus menyediakan aplikasi dan layanan baru. Layanan mikro mengandalkan API untuk berkomunikasi dan gateway dapat digunakan untuk mengatur komunikasi ini. API gateway juga dapat membantu memastikan bahwa setiap panggilan menuju ke tempat yang benar ketika beberapa versi aplikasi berada di server yang sama.

API Gateway juga digunakan dalam model komputasi tanpa server dan pendekatan pengembangan cloud native lainnya. Dalam model tanpa server, infrastruktur dan layanan backend lainnya dijalankan sesuai permintaan dan diputar menggunakan API. Gateway dapat digunakan untuk mengelola fungsi ini.

Lingkungan IT modern adalah tentang integrasi, yang keberhasilannya sebagian besar bergantung pada API. Semakin kompleks lingkungan API dan semakin besar traffic yang diterima API, semakin besar pula nilai yang dapat diberikan oleh API Gateway.

API Gateway dan layanan mikro

Arsitektur layanan mikro adalah pendekatan pengembangan perangkat lunak di mana aplikasi terdiri dari bagian-bagian yang lebih kecil dan berfungsi secara independen. Fungsi-fungsi yang berbeda ini dapat diterapkan secara mandiri dan berkomunikasi melalui API. Mereka dirancang untuk memenuhi tujuan tunggal, dengan tujuan untuk dikelompokkan bersama sebagai blok bangunan dari program yang lebih besar.

Merutekan panggilan dari klien API ke masing-masing layanan mikro ini dapat dilakukan, tetapi tidak terlalu efisien dan memerlukan panggilan terpisah untuk setiap sumber daya. API gateway memungkinkan organisasi untuk mengembalikan sumber daya yang diminta dengan satu panggilan API.

Begini cara kerjanya: Gateway menerima panggilan API yang memerlukan komunikasi dengan beberapa layanan mikro. Ini memecah permintaan, merutekan setiap segmen ke sumber daya yang sesuai dan menggabungkan sumber daya ke dalam satu respons untuk klien API. Ketika sebuah organisasi meningkatkan jumlah API dan layanan mikro yang digunakan dalam fungsi bisnis, API gateway membantu mengurangi volume panggilan dan kompleksitas perutean panggilan dengan bertindak sebagai titik masuk tunggal yang terstandardisasi.

Mari kita bayangkan seorang klien ingin menarik informasi produk dari toko e-commerce yang dibangun menggunakan arsitektur layanan mikro. Detail produk yang ingin ditarik klien tersebar di beberapa layanan yang berbeda, layanan untuk informasi produk dasar, layanan untuk penetapan harga, layanan untuk inventaris, dan sebagainya.

API gateway menerima permintaan informasi produk, merutekannya untuk menarik data dari setiap layanan yang diperlukan untuk memenuhi permintaan tersebut dan kemudian mengumpulkan data tersebut dan mengirimkannya kembali ke klien sebagai satu respons lengkap.

API Gateway dan Kubernetes

Kubernetes dianggap sebagai standar industri untuk menerapkan dan mengelola layanan mikro kontainer. API gateway dapat berinteraksi dengan klaster Kubernetes yang dikontainer dengan berbagai cara.

Ketika diterapkan di depan lebih dari satu cluster Kubernetes, API gateway dapat berfungsi sebagai penyeimbang beban, mengarahkan lalu lintas ke cluster yang benar sehingga tidak ada satu instance yang kelebihan beban. Ketika digunakan di tepi cluster Kubernetes tunggal, API Gateway dapat bertindak sebagai pengontrol masuk. Pengontrol Ingress mengarahkan lalu lintas ke cluster Kubernetes, ke layanan yang diminta dan kemudian kembali keluar lagi. Saat diterapkan dalam cluster Kubernetes, API gateway dapat bertindak sebagai mesh layanan. Jaring layanan menangani traffic yang mengalir antara layanan Kubernetes Service, menawarkan penyeimbangan beban dan penemuan layanan dan biasanya digunakan untuk enkripsi menyeluruh.

Cara API Gateway meningkatkan API Management

Selain memungkinkan organisasi untuk merutekan dan menyeimbangkan lalu lintas API secara lebih efektif, API Gateway memperkuat API Management dengan membantu:

  • Menurunkan latensi
  • Meningkatkan keamanan
  • Mengurangi kompleksitas

Menurunkan latensi

API gateway dapat membantu mengoptimalkan perutean lalu lintas dan penyeimbangan beban di seluruh layanan backend dengan mengelola panggilan API melalui titik masuk terpusat. Langkah-langkah tersebut membantu mempertahankan latensi rendah. API Gateway menggunakan berbagai metode untuk manajemen lalu lintas API yang menggunakan bandwidth secara lebih efisien dan meningkatkan pengalaman pengguna.

Salah satu metode tersebut adalah pembatasan tingkat. Kebijakan pembatasan laju menentukan jumlah permintaan (kuota permintaan) yang dapat dibuat oleh klien tertentu ke API selama periode waktu tertentu. Hal ini membantu memastikan bahwa pengguna memiliki akses yang sama ke API dan melindungi layanan backend agar tidak kelebihan permintaan.

Request throttling adalah jenis pembatasan yang mengatur tingkat permintaan yang mengenai server. Ini mencegah lonjakan dan membantu organisasi mempertahankan kinerja dan stabilitas.

API gateway juga dapat melakukan penyeimbangan beban dinamis dengan terus memantau lalu lintas ke layanan backend. API gateway dapat menentukan kesehatan server berdasarkan metrik waktu nyata dan menyesuaikan cara merutekan panggilan ke layanan backend.

Meningkatkan keamanan

API rentan terhadap serangan keamanan siber seperti serangan denial-of-service terdistribusi (DDoS). Serangan DDoS membebani server dengan permintaan dan lalu lintas berbahaya, sehingga menyebabkannya crash. API Gateway mendukung pembatasan kecepatan dan teknik lain untuk membantu menggagalkan serangan DDoS.

API Gateway juga dapat membantu mengamankan API dengan memantau penggunaan API dan menyediakan log lalu lintas. Beberapa API Gateway juga menyediakan laporan dan analitik tentang permintaan yang dibuat ke API mana pun dalam infrastruktur organisasi, yang memungkinkan organisasi untuk mengidentifikasi lalu lintas yang mencurigakan sebelum serangan terjadi.

API gateway tidak hanya membantu dalam manajemen lalu lintas dan menyediakan koneksi yang aman ke API, tetapi juga dapat dikonfigurasikan untuk menyediakan autentikasi API dan otorisasi permintaan, sehingga mengurangi kerentanan API organisasi. Sebagai contoh, API gateway digunakan untuk memverifikasi kunci API ketika panggilan diterima dari klien sebelum memberikan akses ke sumber daya. Untuk keamanan yang lebih baik, API gateways dapat digunakan bersama dengan alat seperti firewall aplikasi web (WAF), yang memonitor, memfilter, dan memblokir lalu lintas HTTP yang berbahaya.

Mengurangi kompleksitas

API Gateway memusatkan aliran panggilan API, meningkatkan visibilitas dan kemampuan penemuan layanan. Mereka juga menyediakan cara bagi API yang menggunakan protokol dan format data yang berbeda untuk berkomunikasi satu sama lain.

Banyak API web menggunakan gaya arsitektur yang disebut REST (transfer status representasional, digunakan dalam REST API), meskipun protokol lain, seperti SOAP (protokol akses objek sederhana) dan API WebSocket juga digunakan. Baik di dalam organisasi, atau panggilan eksternal yang diarahkan ke API internal organisasi, adalah hal yang umum untuk memiliki API dengan berbagai protokol dan format data yang perlu berkomunikasi satu sama lain dan meminta sumber daya dari layanan backend yang sama.

Mengonversi setiap permintaan secara manual akan membutuhkan waktu yang sangat lama; API gateway membantu mengatasi masalah ini dengan melakukan penerjemahan data dan protokol, secara otomatis menerjemahkan permintaan dan respons ke dalam format yang diperlukan.

API gateway juga memudahkan pengembang untuk menerapkan iterasi dan menggunakan API karena gateway dapat mengelola beberapa versi API secara bersamaan. Pengembang kemudian dapat menguji beberapa versi API satu sama lain sebelum penerapan atau mempertahankan contoh versi API yang lebih lama untuk contoh penggunaan tertentu.

Manfaat API tambahan meliputi:

    • Memperluas aplikasi lama: Bisnis masih menggunakan aplikasi lama yang berisi data penting, menjalankan fungsi penting, dan memberikan nilai, namun aplikasi tersebut tidak ditulis untuk API. Teknologi yang lebih lama seperti itu dapat mengalami kesulitan dalam menangani peningkatan jumlah panggilan dari teknologi yang lebih baru, seperti aplikasi mobile, SaaS atau IoT. Mereka juga bisa sulit diakses. Alih-alih mengambil tanggung jawab terhadap migrasi cloud yang rumit, tim DevOps dapat menambahkan fungsionalitas API, termasuk manfaat seperti pembatasan kecepatan dan throttling, untuk membantu memodernisasi dan memperluas fungsionalitas aplikasi lama.

    • Cache layanan mikro: API Gateway dapat membantu mengoptimalkan panggilan API, seperti pada caching layanan mikro. Menyimpan respons terhadap panggilan API dapat membantu menghindari beban yang tidak perlu pada layanan backend. Respons yang di-cache dapat digunakan saat permintaan serupa diterima, meningkatkan kinerja dan mengurangi biaya.

    • Memantau dan melacak analitik aplikasi: Karena API gateway mengontrol semua lalu lintas masuk aplikasi, maka perangkat lunak dapat dengan mudah memantau dan menghasilkan laporan tentang visibilitas, tren, dan insight lain tentang penggunaan API. Perangkat lunak gateway juga dapat membuat catatan lalu lintas yang membantu penyedia API memahami dan memperbaiki masalah infrastruktur.

    Tantangan API Gateway

    Meskipun API Gateway dapat membantu menyelesaikan masalah perutean yang rumit, menambahkan perangkat lunak manajemen baru ke organisasi mana pun juga dapat menimbulkan tantangan baru. Tantangan umum meliputi:

    • Masalah skalabilitas
    • Titik kegagalan tunggal
    • Ketergantungan gateway/vendor lock-in

    Masalah skalabilitas

    Sementara API Gateway dapat membantu mengatur infrastruktur API dan menurunkan latensi, jika API Gateway menerima lebih banyak permintaan daripada yang dikonfigurasikan untuk dikelola dan tidak memiliki cukup sumber daya untuk menangani lalu lintas, API Gateway dapat meningkatkan latensi sebagai gantinya.

    Organisasi harus memastikan bahwa API Gateway disediakan dan dikonfigurasikan untuk memenuhi lingkungan API dan permintaan lalu lintas perusahaan. Ketika perusahaan meningkatkan jumlah API dan layanan yang digunakan pada waktu tertentu, sumber daya harus diskalakan dan disediakan dengan tepat untuk mencegah pengguna mengalami gangguan dalam layanan.

    Titik kegagalan tunggal

    Satu titik masuk juga berarti ada satu titik kegagalan. Sentralisasi API memiliki banyak sekali keuntungan, tetapi sisi negatifnya adalah gateway itu sendiri menjadi vektor potensial untuk serangan atau penyusupan. Masalah gateway dapat mempengaruhi semua aspek perusahaan yang bergantung pada akses ke API dan layanan backend.

    Ketergantungan gateway

    Setelah organisasi memilih API gateway yang memenuhi kebutuhan spesifik mereka dan membangun lingkungan API di sekitar API gateway tersebut, mungkin akan mahal dan memakan waktu untuk pindah ke vendor lain.

    Selain itu, meskipun gateway dapat membuat penggunaan API lebih hemat biaya, gateway juga memerlukan pemantauan dan pengelolaan, yang membutuhkan waktu dan biaya. Dalam beberapa kasus, sebuah organisasi mungkin memilih untuk meng-host sendiri gateway sumber terbuka, daripada menggunakan layanan terkelola, untuk memiliki kontrol yang lebih baik atas berbagai opsinya. Jika organisasi memilih opsi yang di-host sendiri, ini akan menambah biaya overhead keseluruhan untuk tim pengembangan.

    Solusi terkait
    IBM webMethods Hybrid Integration

    Otomatisasi yang didukung AI meningkatkan ketangkasan di seluruh API, aplikasi, acara, file, dan B2B/EDI.

    Jelajahi IBM webMethods Hybrid Integration
    Perangkat lunak dan solusi integrasi

    Buka potensi bisnis dengan solusi integrasi IBM, yang menghubungkan aplikasi dan sistem untuk mengakses data penting dengan cepat dan aman.

    Jelajahi solusi cloud integration
    Layanan konsultasi cloud 

    Buka kemampuan baru dan pendorong ketangkasan bisnis dengan layanan konsultasi IBM cloud. Temukan cara menciptakan solusi berkreasi bersama, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.

    Jelajahi layanan cloud
    Ambil langkah selanjutnya

     

    IBM webMethods Hybrid Integration menawarkan antarmuka dan panel kontrol terpadu untuk pola integrasi , aplikasi, API, B2B, dan file, dan meningkatkan ketangkasan di seluruh lokasi, lingkungan, dan tim.

     

     

    Jelajahi IBM webMethods Hybrid Integration Lihat penggunaannya