Mengintegrasikan APISIX Declarative CLI dengan API7 Enterprise

March 20, 2024

Products

Apa Itu ADC?

ADC (APISIX Declarative CLI), diperkenalkan oleh API7.ai, adalah alat konfigurasi deklaratif yang bertujuan untuk membantu pengguna dalam mengimplementasikan kemampuan GitOps di lingkungan non-Kubernetes. Pengguna dapat dengan mudah mengintegrasikannya ke dalam pipeline CI/CD mereka untuk mengelola siklus hidup API, memfasilitasi pembaruan dan rilis.

Dalam iterasi saat ini, ADC telah diintegrasikan dengan APISIX untuk memfasilitasi ekspor dan sinkronisasi sumber daya APISIX.

Apa Itu API7 Enterprise?

API7 Enterprise dibangun di atas APISIX, menyediakan kemampuan manajemen API yang lebih baik, termasuk pengelompokan gateway dan versi layanan, bertujuan untuk menawarkan solusi manajemen API yang komprehensif untuk perusahaan. Ada beberapa perbedaan dibandingkan dengan manajemen API berbasis GitOps, karena pengguna dapat dengan mudah mengelola fungsionalitas API7 Enterprise melalui antarmuka Web UI.

Beberapa pengguna sangat ingin mengadopsi mode GitOps di API7 Enterprise untuk lebih baik mengelola siklus hidup API secara penuh. Mereka bertujuan untuk menyimpan semua definisi API sebagai file konfigurasi deklaratif dan memastikan kebenaran deklarasi API melalui mekanisme tinjauan kode pada Pull Requests. Mereka juga menggunakan CI di repositori untuk melihat pratinjau penerapan API di lingkungan pengembangan sebelum merilisnya ke lingkungan produksi.

ADC telah membangun kerangka kerja untuk mengelola konfigurasi deklaratif dan menyelesaikan tugas deteksi perubahan dan sinkronisasi pada sumber daya API. Oleh karena itu, jelas bahwa dukungan ADC di API7 Enterprise akan menjadi arah pengembangan.

API7 enterprise integrates with ADC

Fitur Baru dari ADC Versi 0.7

Untuk mendukung API7 Enterprise, beberapa peningkatan kunci pada ADC telah diperkenalkan ke dalam ADC, seperti yang diuraikan di bawah ini.

Backend API7 Enterprise

Kami telah merilis versi baru ADC dengan dukungan awal untuk penggunaannya di backend API7 Enterprise. Fungsi inti seperti dump, diff, dan sync sekarang tersedia di backend API7 Enterprise.

Dengan dukungan backend baru ini, pengguna dapat langsung mengekspor sumber daya API dari APISIX dan menyinkronkannya dengan API7 Enterprise, memfasilitasi migrasi konfigurasi lama dari APISIX untuk memanfaatkan sepenuhnya fitur-fitur tingkat perusahaan yang kuat yang disediakan oleh API7 Enterprise.

Grup Gateway

API7 Enterprise menawarkan kemampuan manajemen lanjutan untuk beberapa instance gateway. Pengguna dapat mengalokasikan instance gateway ke grup gateway yang berbeda untuk mencapai isolasi konfigurasi di lingkungan yang berbeda. Misalnya, kluster gateway yang berbeda dapat dibuat untuk tujuan pengembangan dan produksi, memungkinkan layanan untuk dipublikasikan secara terpisah ke grup gateway yang berbeda untuk memenuhi berbagai kebutuhan. Selain layanan, plugin global dan sertifikat TLS juga dikelola melalui grup gateway.

Manajemen grup gateway adalah fitur baru kunci dari API7 Enterprise, dan ADC menyediakan dukungan untuk itu. Saat menggunakan perintah inti ADC, pengguna dapat menentukan flag baris perintah bernama gateway-group, yang menginstruksikan ADC untuk mengambil dan menyinkronkan sumber daya yang ditentukan pengguna dari grup gateway tersebut.

Penyaringan Sumber Daya Berdasarkan Label

Di versi sebelumnya ADC, konfigurasi API sepenuhnya ditarik dan disinkronkan dari Admin API. Namun, bahkan jika kita melakukan modifikasi kecil pada konfigurasi API, sistem masih meminta kita untuk menyediakan semua file konfigurasi deklaratif, meskipun beberapa di antaranya tidak berubah. Kegagalan untuk menyediakan file konfigurasi yang tidak berubah ini akan menyebabkan sistem menganggap sumber daya yang tercantum di Admin API tetapi tidak disediakan pada baris perintah sebagai dihapus, sehingga menghapusnya dari lingkungan produksi. Hal ini dapat mengkompromikan keadaan konfigurasi yang diharapkan dan memengaruhi pemrosesan lalu lintas, yang tidak diinginkan.

Untuk mengatasi masalah ini, kami sekarang menyediakan penyaring sumber daya berbasis label. Penyaring ini memungkinkan pengguna untuk menentukan satu atau lebih pasangan kunci-nilai label yang harus dipenuhi oleh sumber daya melalui flag baris perintah bernama label-selector. Setiap sumber daya lokal dan jarak jauh yang tidak memenuhi persyaratan penyaring label ini akan diabaikan, secara efektif mencegah gangguan yang tidak disengaja pada konfigurasi gateway.

Pandangan untuk Fitur Baru

Selain fitur baru yang disebutkan di atas, kami masih mengeksplorasi area baru untuk meningkatkan fungsionalitas ADC dan memberikan nilai lebih besar kepada pengguna. Beberapa contoh termasuk:

  • Menyediakan mekanisme plugin untuk memungkinkan pengguna menyesuaikan backend gateway API. Pengguna dapat mengekspor konfigurasi deklaratif ADC dari gateway API mana pun dan mendefinisikan konfigurasi API melalui ADC untuk diterapkan ke gateway API mana pun.

  • Menawarkan kemampuan pemrograman yang dapat di-skrip untuk menyediakan hook bagi pengguna untuk memeriksa dan memodifikasi konfigurasi ADC pada tahap tertentu. Ini akan membantu mengimplementasikan pemeriksaan baseline keamanan untuk API tertentu dan mencegah skenario tidak aman yang umum.

  • Menyediakan konverter definisi API selain OpenAPI untuk memperkaya ekosistem alat API yang dapat dimanfaatkan oleh ADC.

ADC 0.7 hanya tersedia untuk penggunaan internal di API7 Enterprise dan belum dirilis secara publik. Fitur ini akan disumbangkan ke komunitas open-source Apache APISIX pada kuartal kedua tahun ini.

Tags: