10 alat pengurusan API terbaik

Dunia perniagaan moden bertenaga perisian dan didorong oleh API. Apa-apa aplikasi, sama ada awam atau swasta, memerlukan API yang hebat dan mudah untuk benar-benar berguna. Membangun dan memelihara API adalah kerja keras, jadi tidak hairanlah bahawa seluruh kelas perisian muncul di sekitar pengurusan API.

Sebilangan besar produk pengurusan API menyediakan sekumpulan ciri umum: perutean dan proksi, transformasi data dan URL, papan pemuka dan analitik, dasar dan sekatan, dan alat pembangun seperti penghasil dokumentasi. Di sini kita akan melihat 10 alat pengurusan API yang popular - projek sumber terbuka, produk komersial, perkhidmatan awan, dan campuran yang sama - yang menawarkan segala-galanya dari rangkaian perkhidmatan penuh untuk API hingga alat fokus untuk senario tertentu.

3 skala

Pada asalnya produk sumber tertutup, skala 3 diperoleh oleh Red Hat dan sumber terbuka setelah kira-kira dua tahun bekerja. Projek sumber terbuka boleh digunakan secara bebas di bawah lesen Apache, sementara Red Hat menawarkan pelaksanaan SaaS yang disokong secara komersial.

Ciri-ciri 3scale sesuai dengan penawaran lain dalam penggabungan ini. Anda akan menemui versi API, kawalan akses dan pembatasan kadar, kawalan keselamatan, dan analitik. 3scale juga menawarkan ciri mesra pemaju seperti portal pembangun dan CMS untuk membuat dokumentasi untuk API seseorang. 3scale juga menawarkan perkakas asli untuk mengewangkan API, seperti invois dan penyatuan dengan perkhidmatan pembayaran.

Sekiranya anda berhasrat untuk memasang sendiri skala 3 untuk pengeluaran, anda memerlukan Pangkalan Data Oracle dan OpenShift. Memandangkan bahawa walaupun pemasangan 3 skala minimum untuk ujian memerlukan Minishift, kluster OpenShift single-node, anda mungkin dilayan dengan baik menggunakan versi percubaan 90-hari percuma dari 3 skala jika anda ingin memulakan secepat mungkin.

Versi Pro bermula pada $ 750 sebulan untuk 5,000 akaun pembangun, 500,000 panggilan API setiap hari, dan hingga tiga API. Versi Enterprise (harga tersedia atas permintaan) menghapus sebahagian besar sekatan tersebut.

Duta Besar

Ambassador adalah sistem pengurusan API sumber terbuka yang dibina untuk bekerjasama dengan Kubernetes. Ambassador dilaksanakan di atas proksi Envoy, yang menangani pengambilan rangkaian untuk perkhidmatan mikro, jadi kebanyakan pengangkatan berat dilakukan oleh Envoy dan Kubernetes.

Set fitur Ambassador sesuai dengan kebanyakan alat pengurusan API lain di luar sana: penulisan semula URL dan perutean permintaan, penyaringan, pengesahan dan kawalan akses, pembatasan kadar dan waktu tunggu, dan penyatuan dengan alat pembalakan, penyelesaian masalah, dan keterlihatan.

Walau bagaimanapun, sebahagian besar ciri Ambassador berkisar pada pengurusan runtime dan penyatuan dengan Kubernetes dan alat Kubernetes lain (contohnya, Prometheus). Ambassador menyerahkan reka bentuk dan konfigurasi deklaratif API sepenuhnya kepada pengguna. Ciri seperti versi API tidak disokong secara asli; anda mesti menangani perkara seperti itu sendiri. Itu menjadikan Ambassador paling sesuai untuk bekerja dengan API sebagai bagian dari penggunaan Kubernetes, dan bukan sebagai penyelesaian pengurusan API umum.

Apiman

Apiman - sebelumnya "JBoss Apiman" - adalah projek sumber terbuka Red Hat yang dibina di Jawa. Walaupun masih dikendalikan oleh Red Hat, sebahagian besar pengembangan aktif Red Hat dalam pengurusan API nampaknya telah beralih ke produk Skala 3-nya.

Apiman menumpukan perhatian pada asasnya — menerbitkan dan menguruskan API, menyediakan akses berdasarkan peranan ke fungsi tersebut, menetapkan kebijakan seputar penggunaan API, mengumpulkan metrik waktu berjalan dan penagihan, dan membuat struktur organisasi dari atas ke bawah untuk semua elemen tersebut.

Apiman dapat menetapkan kebijakan untuk API seputar keamanan, sumber daya (misalnya, pembatasan kadar), transformasi data, cache, dan pembalakan. Dasar dikonfigurasi melalui JSON, sehingga dapat dibaca dan diedit oleh manusia dan mesin. Dasar keselamatan dapat diterapkan dengan identiti atau peranan pengguna, dan API dapat dikendalikan secara longgar atau ketat. Anda boleh menerbitkan API dengan ID semakan di URL dan tidak ada kontrak yang berkaitan dengan penggunaannya; atau anda memerlukan kunci API dan mengurus bagaimana versi itu dikendalikan dengan teliti.

Sebilangan besar perkara di luar asas adalah tanggungjawab anda. Sebagai contoh, sementara sejumlah plug-in untuk Apiman tersedia, biasanya jumlah tambahan untuk fungsi Apiman, disediakan oleh penyelenggara projek teras.

DreamFactory

Platform pengurusan DreamFactory API dibina dengan kerangka Laravel di PHP. DreamFactory boleh didapati sebagai penawaran sumber terbuka percuma, atau dengan tahap sokongan komersial yang berbeza-beza (harga tidak diungkapkan). Ini adalah pilihan semula jadi bagi pembangun yang sudah melabur dalam PHP dan yang ingin menggali pelaksanaan sumber terbuka. DreamFactory juga menawarkan integrasi skrip sisi pelayan dengan Node.js dan Python.

Ciri "Datamesh" DreamFactory, tersedia di luar kotak dalam semua penjelmaannya, memungkinkan anda menggabungkan hasil dari beberapa panggilan pangkalan data yang beragam - termasuk ke produk pangkalan data yang berbeza - dan mengembalikan hasilnya sebagai satu panggilan API. Begitu juga, kemas kini jadual di pelbagai pangkalan data dapat digabungkan menjadi satu panggilan API.

Dokumentasi DreamFactory tidak mempunyai senarai tunggal, kanonik, dan boleh dicari dari semua perkhidmatan yang ada. Maklumat disusun mengikut kategori, jadi anda perlu melakukan penjelasan secara manual untuk mengetahui apa yang ada. Sebaliknya, dokumen tersebut merangkumi banyak video panduan untuk kes penggunaan tertentu, seperti menyiapkan aplikasi mudah atau menyambung ke pelbagai sumber data.

Kong

Kong adalah salah satu alat pengurusan API yang paling terkenal, yang pada awalnya dibuat oleh Mashape (dinamakan semula Kong) untuk memperkuat produk pasaran API sendiri. Kong tersedia dalam edisi sumber terbuka atau dalam kelas perusahaan, tawaran komersial (harga tidak diungkapkan) dengan tambahan fitur pengurusan, pemantauan, dan pembangun. Edisi perusahaan boleh dijalankan secara on-prem atau dalam perkhidmatan pilihan cloud. Dokumentasi untuk produk sumber terbuka dan perusahaan adalah banyak dan terperinci.

Kong menyediakan pengawal Ingress untuk integrasi Kubernetes, dan jaringan perkhidmatan untuk membolehkan fungsi Kong "disuntikkan" ke penyebaran perkhidmatan yang ada. Edisi perusahaan menawarkan portal pemaju yang bertujuan untuk memudahkan penciptaan API baru dan membuat pembangun baru mengetahui asas kod API anda.

Kong biasanya menggunakan pangkalan data, tetapi juga dapat berjalan dalam mod tanpa pangkalan data, menggunakan file konfigurasi JSON / YAML dan penyimpanan dalam memori. Ini terbaik jika anda hanya menjalankan satu simpul, minimum tetapi mahukan prestasi maksimum.

KrakenD

KrakenD, ditulis dalam Go, hanya memberikan keperluan kosong tetapi menunjukkan prestasi tinggi sebagai ciri utama. KrakenD dihantar sebagai satu, binari serba lengkap, seperti halnya kebanyakan aplikasi yang ada di Go. Sebagai alternatif, ia dapat disusun dari sumber, atau digunakan sebagai perpustakaan Go jika anda ingin membina aplikasi anda sendiri di sekitarnya.

KrakenD menggunakan fail konfigurasi, yang boleh digulung dengan tangan atau dihasilkan oleh mesin. Pembatasan kadar, manipulasi tindak balas, penerusan, penyahpepijatan titik akhir, langkah-langkah keselamatan protokol (misalnya, perlindungan terhadap klik klik), proksi, stubing, dan cache respons dalam memori semuanya disokong di luar kotak.

Contoh KrakenD dapat dikumpulkan untuk ketersediaan tinggi. Tidak diperlukan perisian tambahan untuk melakukan ini, hanya KrakenD sendiri. Anda juga boleh menyebarkan KrakenD di kluster Kubernetes tanpa banyak kerja tambahan. Pelbagai jenis perisian tengah pihak ketiga boleh didapati dari repositori KrakenD GitHub.

Sokongan perusahaan, termasuk perundingan dan latihan, tersedia dari pencipta KrakenD, walaupun harga tidak diungkapkan.

Platform MuleSoft Anypoint

Platform Anypoint MuleSoft dimaksudkan untuk menjadi penawaran yang lengkap - merangkumi reka bentuk API, pembinaan, hosting, pengurusan, integrasi, dan dukungan pemaju dalam satu produk komersial. 

Dengan Anypoint, anda dapat mengembangkan API dari awal, atau menggunakan kembali penyambung dan integrasi yang ada yang dibuat oleh pelanggan MuleSoft lain dan dikongsi di Anypoint Exchange. Penyambung tersedia untuk protokol generik (akses fail, HTTP, e-mel), modul bahasa untuk transformasi data (Java, JavaScript), perkhidmatan awan (Amazon AWS), aplikasi komersial (Salesforce, SAP), dan aplikasi sumber terbuka (MongoDB).

Bagi mereka yang membuat API yang akan digunakan oleh rakan kongsi atau orang ramai, Anypoint menyediakan Pengurus Komuniti API untuk membuat UI web - apa yang disebut oleh MuleSoft sebagai "portal" - untuk API tersebut. Dokumentasi interaktif, pemperibadian (termasuk ciri seperti menyesuaikan output berdasarkan geolokasi pengguna), dan analisis penggunaan API semuanya disertakan.

Anypoint menawarkan tiga rancangan harga, Emas, Platinum, dan Titanium, yang berbeza mengikut tahap sokongan pelanggan dan ciri perusahaan. Ketiga-tiga rancangan merangkumi API tanpa had dan mengenakan bayaran tambahan untuk penyambung “premium” (contohnya, penyambung kerangka utama IBM AS / 400).

Netflix Zuul

Zuul, projek sumber terbuka yang dibuat oleh jurutera di Netflix, dibina secara dalaman untuk menangani permintaan penghalaan ke perkhidmatan streaming video Netflix. Tidak ada tawaran Zuul komersial — sekurang-kurangnya, bukan dari Netflix — jadi anda harus memusingkan Zuul dan menguruskannya sendiri.

Zuul ditulis dalam Java, dan menggunakan alat Java yang umum — Gradle, Ivy, Maven — untuk bangun dan berjalan. Zuul menawarkan set fitur yang agak minimum dibandingkan dengan sistem pengurusan API lain, dengan fokus pada penyaringan dan pengiriman permintaan masuk ke seluruh perkhidmatan. Zuul memang menyediakan penemuan perkhidmatan, pengimbangan beban, penyatuan sambungan, dan fitur debug ("permintaan pasport"), tetapi tidak memiliki fungsi yang lebih canggih seperti pemaju on-boarding dan dokumentasi automatik.

Zuul adalah projek aktif dengan banyak ciri baru yang dirancang untuk versi masa depan. "Penapis brownout" yang akan datang, misalnya, akan mematikan fitur tertentu untuk membebaskan CPU semasa aktiviti yang tinggi.

Tyk

Tyk merangkumi banyak perkara secara lalai: gerbang API, alat analisis, portal dev, dan papan pemuka pengurusan. Ini juga termasuk fungsi untuk mengejek API sebelum diluncurkan secara formal, cache permintaan bawaan (yang dapat disertakan secara langsung dalam definisi API), dan templat respons untuk kod ralat HTTP yang berbeza.

Tyk tersedia dalam empat edisi, masing-masing untuk kes penggunaan yang berbeza. Edisi komuniti, keluaran sumber terbuka Tyk, hanya merangkumi pintu masuk, yang mengendalikan proksi, kawalan akses, transformasi, dan pembalakan. Anda boleh melancarkan fungsi anda sendiri secara langsung, atau dengan memanfaatkan ekosistem pemalam Tyk, dengan sokongan untuk pelbagai bahasa.

Edisi di tempat membolehkan anda menggunakan produk komersial yang lengkap di belakang firewall anda. Lesen gerbang tunggal - edisi pemaju, pada dasarnya - tersedia secara percuma, tanpa had panggilan API, walaupun API tidak dapat digunakan dalam tetapan komersial. Lesen untuk penggunaan komersial bermula pada $ 3000 setiap tahun.

Edisi cloud dan multi-cloud, tersedia untuk pelbagai perkhidmatan cloud yang popular, memberikan Tyk sebagai perkhidmatan yang dihoskan. Versi asas, satu-awan yang menyokong 1,000 panggilan API setiap hari tersedia secara percuma (selain dari caj penyedia perkhidmatan awan anda); rancangan pro-level bermula dari $ 450 sebulan.

Pengurus API WSO2

WSO2 API Manager pada dasarnya merupakan produk sumber terbuka, yang dibina dengan Java. Produk ini tersedia untuk penyebaran yang dihosting secara on-prem atau cloud dengan sokongan komersial, atau sebagai layanan yang dikendalikan oleh cloud.

Pelbagai pilihan penggunaan memungkinkan untuk beberapa senario pengurusan yang berbeza. Sebagai contoh, penyebaran WSO2 on-premis dapat menerapkan kebijakan dan konfigurasi lain melalui portal pembangun yang dihoskan oleh awan, dengan perubahan yang diselaraskan antara awan dan premis, atau ditolak secara berkala dari awan (untuk lingkungan yang perlu terkunci).

WSO2 mempunyai kira-kira 200 penyambung yang dapat digunakan untuk menghubungkan perkhidmatan luaran. Banyak ruji pemaju biasa: Slack, Splunk, Kafka, Redis, Amazon S3, dan sebagainya.

Ciri WSO2 lain, "API microgateway," memastikan bahawa jenis panggilan tertentu mendapat keselamatan tambahan dan latensi yang lebih rendah. Sebagai contoh, panggilan yang digunakan untuk mengatur gateway, atau panggilan yang diarahkan antara layanan mikro, dapat ditangani dengan cara ini.

Tambahan baru untuk WSO2 menambah integrasi dengan jaringan perkhidmatan Istio untuk Kubernetes. Istio tidak menguruskan API yang didedahkan oleh perkhidmatan mikro yang dikendalikannya, jadi WSO2 berintegrasi dengan proksi Envoy yang digunakan oleh Istio untuk melakukannya.

Harga untuk tawaran komersial WSO2 bermula dengan percubaan dua minggu percuma dengan sehingga satu juta panggilan API, berterusan pada $ 550 sebulan untuk 20 juta panggilan, dan meningkat dari sana untuk membuat konfigurasi khusus.