10 alat manajemen API terbaik

Dunia bisnis modern didukung oleh perangkat lunak dan digerakkan oleh API. Aplikasi apa pun, baik publik atau pribadi, membutuhkan API yang kuat dan nyaman agar benar-benar berguna. Membangun dan memelihara API membutuhkan kerja keras, jadi tidak heran jika seluruh kelas perangkat lunak bermunculan seputar pengelolaan API.

Sebagian besar produk manajemen API menyediakan fitur yang sama: perutean dan proxy, transformasi data dan URL, dasbor dan analitik, kebijakan dan pembatasan, dan alat pengembang seperti pembuat dokumentasi. Di sini kita akan melihat 10 alat manajemen API populer — proyek sumber terbuka, produk komersial, layanan awan, dan campuran yang sama — yang menawarkan segalanya mulai dari rangkaian layanan lengkap untuk API hingga alat terfokus untuk skenario tertentu.

3 skala

Awalnya merupakan produk sumber tertutup, 3scale diakuisisi oleh Red Hat dan bersumber terbuka setelah sekitar dua tahun bekerja. Proyek open source dapat digunakan secara bebas di bawah lisensi Apache, sementara Red Hat menawarkan implementasi SaaS yang didukung secara komersial.

Fitur 3scale sejalan dengan penawaran lain dalam ringkasan ini. Anda akan menemukan versi API, kontrol akses dan pembatasan kecepatan, kontrol keamanan, dan analitik. 3scale juga menawarkan fitur ramah pengembang seperti portal pengembang dan CMS untuk membuat dokumentasi untuk API seseorang. 3scale juga menawarkan perkakas asli untuk memonetisasi API, seperti pembuatan faktur dan integrasi dengan layanan pembayaran.

Jika Anda ingin menginstal 3scale sendiri untuk produksi, Anda memerlukan Oracle Database dan OpenShift. Mengingat bahwa penginstalan 3 skala minimal untuk pengujian memerlukan Minishift, kluster OpenShift node tunggal, Anda mungkin akan mendapatkan layanan terbaik dengan menggunakan versi uji coba gratis selama 90 hari dari 3 skala jika Anda ingin memulai secepat mungkin.

Versi Pro mulai dari $ 750 per bulan untuk 5.000 akun pengembang, 500.000 panggilan API setiap hari, dan hingga tiga API. Versi Perusahaan (harga tersedia berdasarkan permintaan) menghapus sebagian besar batasan tersebut.

Duta besar

Ambassador adalah sistem manajemen API open source yang dibangun untuk bekerja dengan Kubernetes. Ambassador diterapkan di atas proxy Envoy, yang menangani abstraksi jaringan untuk layanan mikro, sehingga sebagian besar pekerjaan berat dilakukan oleh Envoy dan Kubernetes.

Rangkaian fitur Ambassador sejalan dengan sebagian besar alat manajemen API lain di luar sana: penulisan ulang URL dan perutean permintaan, pemfilteran, autentikasi dan kontrol akses, pembatasan kecepatan dan batas waktu, serta integrasi dengan alat logging, pemecahan masalah, dan visibilitas.

Namun, sebagian besar fitur Ambassador berkisar pada manajemen runtime dan integrasi dengan Kubernetes dan alat Kubernetes lainnya (misalnya, Prometheus). Ambassador menyerahkan desain dan konfigurasi deklaratif API sepenuhnya kepada pengguna. Fitur seperti pembuatan versi API tidak didukung secara bawaan; Anda harus menangani hal-hal seperti itu sendiri. Itu membuat Ambassador paling cocok untuk bekerja dengan API sebagai bagian dari penerapan Kubernetes, bukan sebagai solusi manajemen API umum.

Apiman

Apiman — sebelumnya “JBoss Apiman” —adalah proyek open source Red Hat yang dibangun di Jawa. Meskipun masih dikelola oleh Red Hat, sebagian besar pengembangan aktif Red Hat dalam pengelolaan API tampaknya telah beralih ke produk 3Scale-nya.

Apiman berkonsentrasi pada dasar-dasarnya — menerbitkan dan mengelola API, menyediakan akses berbasis peran ke fungsi-fungsi tersebut, menetapkan kebijakan seputar penggunaan API, mengumpulkan metrik runtime dan penagihan, dan membuat struktur organisasi top-down untuk semua elemen tersebut.

Apiman dapat menyetel kebijakan untuk API seputar keamanan, sumber daya (misalnya, pembatasan kecepatan), transformasi data, caching, dan logging. Kebijakan dikonfigurasi melalui JSON, sehingga dapat dibaca dan diedit oleh manusia dan mesin. Kebijakan keamanan dapat diterapkan berdasarkan identitas atau peran pengguna, dan API dapat dikontrol secara longgar atau ketat. Anda dapat menerbitkan API dengan ID revisi di URL dan tidak ada kontrak yang terkait dengan penggunaannya; atau Anda dapat meminta kunci API dan mengelola dengan cermat bagaimana versinya.

Hampir semua hal di luar dasar adalah tanggung jawab Anda. Misalnya, meskipun sejumlah plug-in untuk Apiman tersedia, mereka umumnya berjumlah ekstensi kecil untuk fungsionalitas Apiman, yang disediakan oleh pengelola proyek inti.

DreamFactory

Platform manajemen DreamFactory API dibangun dengan kerangka kerja Laravel di PHP. DreamFactory tersedia sebagai penawaran open source gratis, atau dengan berbagai tingkat dukungan komersial (harga tidak diungkapkan). Ini adalah pilihan alami bagi pengembang yang sudah berinvestasi di PHP dan yang ingin menggali implementasi open source. DreamFactory juga menawarkan integrasi skrip sisi server dengan Node.js dan Python.

Fitur "Datamesh" DreamFactory, tersedia langsung di semua inkarnasinya, memungkinkan Anda menggabungkan hasil dari beberapa panggilan database yang beragam — termasuk ke produk database yang berbeda — dan mengembalikan hasilnya sebagai panggilan API tunggal. Demikian pula, pembaruan tabel di beberapa database dapat digabungkan menjadi satu panggilan API.

Dokumentasi DreamFactory tidak memiliki daftar tunggal, kanonik, yang dapat dicari dari semua layanan yang tersedia. Informasi tersebut diatur menurut kategori, jadi Anda perlu melakukan penelusuran manual untuk mencari tahu apa yang tersedia. Sisi baiknya, dokumen tersebut menyertakan banyak video petunjuk untuk kasus penggunaan tertentu, seperti menyiapkan aplikasi sederhana atau menghubungkan ke berbagai sumber data.

Kong

Kong adalah salah satu alat manajemen API paling terkenal, awalnya dibuat oleh Mashape (berganti nama menjadi Kong) untuk menjalankan produk API marketplace-nya sendiri. Kong tersedia dalam edisi sumber terbuka atau dalam penawaran komersial tingkat perusahaan (harga tidak diungkapkan) dengan fitur manajemen, pemantauan, dan pengembang tambahan. Edisi perusahaan dapat berjalan di lokasi atau di layanan cloud pilihan. Dokumentasi untuk produk open source dan perusahaan sangat banyak dan terperinci.

Kong menyediakan pengontrol Ingress untuk integrasi Kubernetes, dan mesh layanan untuk memungkinkan fungsionalitas Kong "dimasukkan" ke dalam penerapan layanan yang ada. Edisi perusahaan menawarkan portal pengembang yang bertujuan memudahkan pembuatan API baru dan membuat pengembang baru terbiasa dengan basis kode API Anda.

Kong biasanya menggunakan database, tetapi juga dapat berjalan dalam mode tanpa database, menggunakan file konfigurasi JSON / YAML dan penyimpanan dalam memori. Ini paling baik jika Anda hanya menjalankan satu node minimal tetapi menginginkan kinerja maksimal.

KrakenD

KrakenD, yang ditulis dalam Go, hanya memberikan hal-hal yang paling mendasar tetapi memuji kinerja tinggi sebagai fitur utama. KrakenD hadir sebagai biner tunggal yang berdiri sendiri, seperti halnya sebagian besar aplikasi bawaan Go. Alternatifnya, ini dapat dikompilasi dari sumber, atau digunakan sebagai perpustakaan Go jika Anda ingin membangun aplikasi Anda sendiri di sekitarnya.

KrakenD menggunakan file konfigurasi, yang dapat digulung tangan atau dihasilkan mesin. Pembatasan kecepatan, manipulasi respons, penerusan, debugging endpoint, langkah-langkah keamanan protokol (misalnya, perlindungan terhadap clickjacking), proxy, stubbing, dan cache respons dalam memori semuanya didukung di luar kotak.

Instans KrakenD dapat dikelompokkan untuk ketersediaan tinggi. Tidak diperlukan perangkat lunak tambahan untuk melakukan ini, hanya KrakenD itu sendiri. Anda juga dapat menerapkan KrakenD di seluruh cluster Kubernetes tanpa banyak pekerjaan tambahan. Bermacam-macam middleware pihak ketiga dapat diperoleh dari repositori GitHub KrakenD.

Dukungan perusahaan, termasuk konsultasi dan pelatihan, tersedia dari pencipta KrakenD, meskipun harga tidak diungkapkan.

Platform MuleSoft Anypoint

Platform Anypoint MuleSoft dimaksudkan untuk menjadi penawaran yang lengkap — ini mencakup desain API, konstruksi, hosting, manajemen, integrasi, dan dukungan pengembang dalam satu produk komersial. 

Dengan Anypoint, Anda dapat mengembangkan API dari awal, atau menggunakan kembali konektor dan integrasi yang ada yang dibuat oleh pelanggan MuleSoft lain dan dibagikan di Anypoint Exchange. Konektor tersedia untuk protokol umum (akses file, HTTP, email), modul bahasa untuk transformasi data (Java, JavaScript), layanan cloud (Amazon AWS), aplikasi komersial (Salesforce, SAP), dan aplikasi sumber terbuka (MongoDB).

Bagi mereka yang membuat API yang akan digunakan oleh partner atau publik, Anypoint menyediakan API Community Manager untuk membuat UI web — yang disebut MuleSoft sebagai "portal" —untuk API tersebut. Dokumentasi interaktif, personalisasi (termasuk fitur seperti menyesuaikan keluaran berdasarkan geolokasi pengguna), dan analitik penggunaan API semuanya disertakan.

Anypoint menawarkan tiga paket harga, Gold, Platinum, dan Titanium, yang bervariasi menurut tingkat dukungan pelanggan dan fitur perusahaan. Ketiga paket termasuk API tak terbatas dan biaya tambahan untuk konektor "premium" (misalnya, konektor mainframe IBM AS / 400).

Netflix Zuul

Zuul, proyek open source yang dibuat oleh para insinyur di Netflix, dibuat sendiri untuk menangani permintaan perutean ke layanan streaming video Netflix. Tidak ada penawaran Zuul komersial — setidaknya, bukan dari Netflix — jadi Anda harus menjalankan Zuul dan mengelolanya sepenuhnya sendiri.

Zuul ditulis di Java, dan menggunakan alat Java umum — Gradle, Ivy, Maven — untuk memulai dan menjalankannya. Zuul menawarkan rangkaian fitur yang relatif minimal dibandingkan dengan sistem manajemen API lainnya, dengan fokus pada pemfilteran dan pengiriman permintaan masuk ke seluruh layanan. Zuul memang menyediakan fitur penemuan layanan, load balancing, penggabungan koneksi, dan debugging ("permintaan paspor"), tetapi kekurangan fungsi yang lebih canggih seperti orientasi pengembang dan dokumentasi otomatis.

Zuul adalah proyek aktif dengan banyak fitur baru yang direncanakan untuk versi mendatang. Misalnya, "filter brownout" yang akan datang, akan menonaktifkan fitur tertentu untuk membebaskan CPU selama periode aktivitas tinggi.

Tyk

Tyk menyertakan banyak hal secara default: gerbang API, alat analitik, portal pengembang, dan dasbor manajemen. Ini juga mencakup fungsionalitas untuk meniru API sebelum dirilis secara resmi, cache permintaan bawaan (yang dapat disertakan langsung dalam definisi API), dan template respons untuk kode kesalahan HTTP yang berbeda.

Tyk tersedia dalam empat edisi, masing-masing untuk kasus penggunaan yang berbeda. Edisi komunitas, rilis sumber terbuka Tyk, hanya menyertakan gateway, yang menangani proxy, kontrol akses, transformasi, dan logging. Anda dapat menggulirkan fungsionalitas Anda sendiri secara langsung, atau dengan memanfaatkan ekosistem plug-in Tyk, dengan dukungan untuk berbagai bahasa.

Edisi lokal memungkinkan Anda menggunakan produk komersial berfitur lengkap di belakang firewall Anda. Lisensi gerbang tunggal — pada dasarnya edisi pengembang — tersedia gratis, tanpa batas panggilan API, meskipun API tidak dapat digunakan dalam setelan komersial. Lisensi untuk penggunaan komersial mulai dari $ 3000 per tahun.

Edisi cloud dan multi-cloud, tersedia untuk berbagai layanan cloud populer, menyediakan Tyk sebagai layanan yang dihosting. Versi dasar awan tunggal yang mendukung 1.000 panggilan API per hari tersedia secara gratis (terlepas dari berapa pun biaya penyedia layanan awan Anda); paket pro-level mulai dari $ 450 per bulan.

Manajer API WSO2

WSO2 API Manager pada intinya adalah produk open source, dibangun dengan Java. Produk tersedia untuk penerapan di lokasi atau di-host di cloud dengan dukungan komersial, atau sebagai layanan yang dikelola di cloud.

Berbagai opsi penerapan memungkinkan sejumlah skenario manajemen yang berbeda. Misalnya, penerapan WSO2 di lokasi dapat menerapkan kebijakannya dan konfigurasi lainnya melalui portal pengembang yang dihosting di awan, dengan perubahan yang disinkronkan antara awan dan lokasi, atau didorong secara berkala dari awan (untuk lingkungan yang perlu terkunci).

WSO2 memiliki sekitar 200 konektor yang dapat digunakan untuk menghubungkan layanan eksternal. Banyak yang merupakan kebutuhan pokok pengembang umum: Slack, Splunk, Kafka, Redis, Amazon S3, dan seterusnya.

Fitur WSO2 lainnya, "API microgateway", memastikan bahwa jenis panggilan tertentu menerima keamanan tambahan dan latensi yang lebih rendah. Misalnya, panggilan yang digunakan untuk mengelola gateway, atau panggilan yang dirutekan antara layanan mikro, dapat ditangani dengan cara ini.

Add-on baru untuk WSO2 menambahkan integrasi dengan mesh layanan Istio untuk Kubernetes. Istio tidak mengelola API yang diekspos oleh layanan mikro yang dikelolanya, jadi WSO2 terintegrasi dengan proxy Envoy yang digunakan oleh Istio untuk melakukannya.

Harga untuk penawaran komersial WSO2 dimulai dengan uji coba gratis selama dua minggu dengan hingga satu juta panggilan API, berlanjut pada $ 550 per bulan untuk 20 juta panggilan, dan naik dari sana ke konfigurasi yang dipesan lebih dahulu.