Tren API Gateway di Balik Fitur: Apache APISIX 3.0 vs. Kong 3.0

Yilia Lin

Yilia Lin

October 16, 2022

Products

Pada tanggal 28 September 2022, Kong merilis Kong Gateway 3.0 yang baru, yang mencapai beberapa fungsi baru dan peningkatan performa. Pada tanggal 21 September, Apache APISIX, proyek tingkat atas dari Apache Software Foundation, juga merilis versi pratinjau Apache APISIX 3.0, memperkenalkan sepuluh sorotan dalam hal ekosistem dan fitur.

Mari kita lihat lebih dekat Versi 3.0 dari dua proyek API Gateway open-source populer ini dan memahami tren perkembangan di balik pembaruan ini.

Mari kita lihat delapan sorotan dari Kong Gateway 3.0 terlebih dahulu.

Delapan Sorotan Kong Gateway 3.0

SorotanOSS/EnterpriseTipeTarget PenggunaPeningkatanJika APISIX mendukungCatatan
FIPS 140-2Versi EnterpriseKepatuhanPerusahaan keuangan dan pemerintah Amerika UtaraKepatuhanTidakTidak berlaku
Manajemen RahasiaKeduanyaKepatuhanPerusahaan keuanganOSS: variabel lingkungan

Enterprise: AWS Secrets Manager dan HashiCorp Vault
YaAPISIX mendukung HashiCorp Vault sejak Desember 2021 di OSS: feat(vault): vault lua module, integration with jwt-auth authentication plugin

Kong Februari 2022: feat(vaults) adds vaults beta support to kong
Pengurutan PluginVersi EnterpriseKegunaanPerusahaan besar dan menengah dengan skenario kompleksMeningkatkan fleksibilitas bisnis dengan pluginYaAPISIX Juni 2022: feat: allows users to specify plugin execution priority

Kong Juli 2022: feat(plugins) add support for ordering
Kong Manager 3.0Versi EnterpriseKegunaanPerusahaan menengah dan besar tanpa banyak tim teknisMengelola API lebih baik untuk pengguna perusahaanYaTidak berlaku
Dukungan Websocket MendalamVersi EnterpriseFungsiPengguna perusahaan yang menggunakan websocket secara mendalamMemverifikasi skema websocket dan membatasi ukuran frame websocketYa, sebagianKong Desember 2016: feat(proxy) supports websockets

APISIX mendukung proxy permintaan websocket, dan dapat digunakan dengan plugin seperti limit-conn pada Januari 2020: feature: upstream support websocket enable
OpenTelemetryKeduanyaFungsiPerusahaan besar dan menengah dengan rantai panggilan bisnis kompleksMeningkatkan observabilitasYaKong Juni 2022: feat(plugins) opentelemetry plugin

APISIX Januari 2022: feat: add opentelemetry plugin
Peningkatan PerformaKeduanyaPerformaVendor cloud, vendor SaaS yang berkembang pesatMengurangi biaya serverYaApache APISIX telah mengungguli API gateway lainnya dalam hal performa sejak dirilis sebagai open-source pada tahun 2019.
Mesin Routing BaruKeduanyaPerformaVendor cloud, vendor SaaS yang berkembang pesatMenyelesaikan masalah performa dengan banyak API dan mengurangi biaya serverYaKong Juli 2022: feat(router) new DSL based router support and tests fix

APISIX Agustus 2019: feature: supported to use router lua-resty-radixtree

Kita dapat menganalisis tiga tren dari sorotan Kong Gateway 3.0:

  1. Investasi Kong dalam keamanan dan kepatuhan di sektor keuangan relatif besar, yang dapat dianalisis dalam hal kepatuhan terhadap FIPS 140-2 dan manajemen rahasia.
  • Kepatuhan terhadap FIPS 140-2: FIPS 140-2 adalah standar keamanan komputer yang digunakan oleh perusahaan keuangan dan pemerintah Amerika Utara untuk menyetujui modul enkripsi. Kong Gateway 3.0 Enterprise Version dibangun berdasarkan BoringSSL dan akan menyesuaikan plugin agar kompatibel dengan persyaratan standar. Dukungan Kong terhadap FIPS 140-2 mencerminkan fase perkembangan Kong: setelah tujuh tahun iterasi, Kong secara bertahap fokus pada pengguna berbayar, cenderung memenuhi kebutuhan perusahaan keuangan dan pemerintah.

  • Manajemen Rahasia: Target pengguna dari fungsi ini juga adalah perusahaan keuangan. Kong Gateway 3.0 memungkinkan pengguna untuk menyimpan informasi sensitif dengan aman di AWS Secrets Manager dan HashiCorp Vault, yang dapat diakses oleh Kong saat runtime. Dengan cara ini, tingkat perlindungan keamanan yang lebih tinggi dapat dicapai.

  1. Dari tautan PR setiap sorotan, kita dapat mengetahui bahwa sebagian besar dari delapan sorotan Kong Gateway 3.0 telah diimplementasikan lebih awal oleh Apache APISIX.

  2. Kong Gateway 3.0 memiliki peningkatan performa yang relatif signifikan karena dua alasan:

  • Kong menambahkan lapisan cache pada routing, yang sangat meningkatkan performa untuk benchmark. Namun, masalahnya adalah cache menjadi tidak valid ketika alamat URL berubah. Untuk detailnya, periksa tautan kode di bawah ini: atc.lua

  • Kong menggunakan Rust untuk mengimplementasikan mesin routing baru, menggunakan DSL untuk meningkatkan ekspresivitas lapisan routing. Saat menerima dan mengirim permintaan HTTP, Anda dapat menulis ekspresi seperti ini:

    net.protocol == "https" && (http.method == "GET" || http.method == "POST")

    Dalam skenario di mana rute yang diminta cocok dengan host tertentu, ekspresi berikut dapat ditulis:

    (http.host == "example.com" && http.headers.x_example_version == "v2" ) || (http.host == "store.example.com" && http.headers.x_store_version == "v1")

    Kita dapat membandingkan dengan Apache APISIX. Apache APISIX mengimplementasikan fungsi ekspresi routing yang serupa menggunakan Lua-resty-radixtree pada Agustus 2019. Ekspresi APISIX mendukung variabel NGINX arbitrer dan memiliki operator yang lebih kaya. Selain perbandingan numerik dan string biasa, ekspresi reguler, array, dan penargetan IP juga didukung.

Sebagian besar dari delapan sorotan dalam versi Kong Gateway 3.0 ini lebih condong ke versi enterprise. Dua gambar berikut dapat mencerminkan tren perkembangan teknologi Kong dengan lebih intuitif.

Rasio versi OSS dan Enterprise dalam 8 sorotan Kong Gateway 3.0

Sorotan yang didukung oleh Apache APISIX di Kong Gateway 3.0

Fitur yang dirilis dalam Kong Gateway 3.0 fokus pada pemerintah, industri keuangan, dan perusahaan besar yang lebih peduli tentang kepatuhan keamanan.

Analisis Delapan Sorotan Apache APISIX 3.0

API Gateway open-source Apache APISIX merilis pratinjau versi 3.0, yang melibatkan sepuluh sorotan versi 3.0 Apache APISIX. Penulis memilih delapan poin paling kritis untuk dianalisis. Delapan sorotan ini semuanya untuk versi open-source, fokus pada peningkatan ekosistem dan teknologi.

SorotanTipeTarget PenggunaPeningkatanJika Kong mendukung
Dukungan Penuh ARM64EkosistemPerusahaan yang bermigrasi ke cloud dalam skala besarMengurangi biaya serverYa, sebagian
Klien gRPCPerformaPersyaratan optimisasi APISIXOptimisasiTidak
Dukungan Penemuan Layanan yang DitingkatkanEkosistem, FungsiBisnis yang bergantung pada microservicesTidak
Kerangka xRPCEkosistem, FungsiPerusahaan internetMengurangi biaya serverTidak
Observabilitas pada L4FungsiPerusahaan besar dan menengah dengan fungsi bisnis kompleksMeningkatkan observabilitasTidak
Dukungan Gateway APIEkosistemPerusahaan internetMengelola API lebih baik untuk pengguna perusahaanYa
Lebih Banyak Plugin: OpenFunction, ClickHouse, Elasticsearch, SAML, CASEkosistem, FungsiPerusahaan internetVariabel lingkungan untuk OSS, AWS Secrets Manager, dan HashiCorp Vault untuk EnterpriseTidak
Bidang AIKecerdasanPerusahaan internetMasalah performa dengan banyak API dan mengurangi biaya serverTidak

Informasi lain yang bisa kita dapatkan dari tabel di atas adalah bahwa Apache APISIX meningkat dalam hal ekosistem dan aspek fungsional. Di antara sorotan ini, ada dua poin utama sebagai berikut.

  • Bidang AI: Selain bidang data dan bidang kontrol, Apache APISIX menambahkan bidang AI dalam versi 3.0, yang meringankan tekanan penggunaan dan O&M (operasi dan pemeliharaan) bagi pengembang aplikasi dan operasi melalui pembelajaran dan analisis lalu lintas API dan konfigurasi. Misalnya, dua skenario berikut dapat dioptimalkan secara otomatis oleh bidang AI:

    1. Menemukan API tanpa autentikasi dan mengirim peringatan risiko kepada manajer.
    2. Mempercepat pemrosesan dengan melewati tahap yang tidak diperlukan untuk API yang hanya dikonfigurasi dengan plugin pada tahap akses, seperti autentikasi identitas.

    Bidang AI membawa kemungkinan baru dalam pemrosesan lalu lintas. Di masa depan, pemanasan otomatis layanan upstream dan deteksi ancaman keamanan semuanya dapat diproses melalui bidang AI.

  • Dukungan penuh untuk ARM64: ARM64 telah menjadi arsitektur server yang sangat mainstream untuk vendor cloud. Berbagai vendor cloud telah mulai meluncurkan server berbasis arsitektur Arm seperti AWS Graviton dan GCP Tau T2A. Apache APISIX telah melakukan uji regresi CI yang komprehensif pada ARM64 untuk memastikan kelancaran saat pengguna menjalankan Apache APISIX di bawah arsitektur Arm. Pengguna sangat peduli tentang ini. Perbandingan performa arsitektur ARM dengan GCP dan AWS telah menerima hampir 100 komentar di Hacker News.

Kesimpulan

Kong Gateway 3.0 telah membuat kemajuan baru dalam kepatuhan, kegunaan, fungsi, dan performa, lebih fokus pada kepatuhan keamanan perusahaan. Semua fungsi yang diperkenalkan oleh Apache APISIX 3.0 adalah open-source sambil lebih memperhatikan ekosistem dan eksplorasi teknologi baru.

Mari kita tunggu dan lihat bagaimana Kong dan Apache APISIX akan beriterasi dan berkembang di masa depan!

Tags: