Praktik Keuangan untuk Memfasilitasi Transformasi Cloud-Native Menggunakan APISIX sebagai API Gateway
Yonghui Lu
January 13, 2023
Artikel ini berasal dari presentasi di ApacheCon Asia 2022 oleh Yonghui Lu, Direktur API Gateway di Essence Securities. Yonghui berbagi praktik API gateway berbasis cloud-native Essence Securities yang menggunakan Apache APISIX.
Ikhtisar
Tantangan
- Stack teknologi asli yang rumit, terdiri dari NGINX, Spring Cloud Gateway, dan sistem yang dikembangkan sendiri
- Kesulitan dalam manajemen sistem karena tidak ada stack teknologi yang seragam
- Pekerjaan yang berulang dan biaya tinggi dalam berbagai proyek bisnis
Tujuan
- Cloud-native dan mudah diintegrasikan dengan sistem bisnis Essence Securities
- Untuk mengelola deployment, monitoring, dan alerting
- Kinerja tinggi dan kemampuan untuk melakukan scaling out
- Kustomisasi fungsi dan integrasi cepat dengan sistem
- Memungkinkan fungsi yang kuat dan beragam seperti governance lalu lintas, keamanan, konversi protokol, otorisasi, autentikasi, dll.
Hasil
- Mempromosikan governance lalu lintas, mengelola lalu lintas yang meledak dengan aman
- Meningkatkan efisiensi dan kenyamanan R&D
- Memperkuat pengembangan cloud-native Essence Securities
- Meningkatkan keamanan data dan manajemen izin dengan membangun domain independen
Tentang Essence Securities
Essence Securities Co., Ltd. (Essence Securities) adalah salah satu perusahaan sekuritas terkemuka di Tiongkok. Sejak didirikan pada tahun 2006, Essence Securities dengan cepat menjadi salah satu dari 15 Perusahaan Sekuritas Teratas di Tiongkok dengan rekam jejak yang terbukti dalam memberikan layanan tertinggi kepada sektor swasta dan publik. Perusahaan ini memiliki empat anak perusahaan independen dan lebih dari 120 cabang ritel di 25 provinsi utama di seluruh negeri.
Bisnis inti Essence Securities meliputi broker sekuritas, konsultasi investasi sekuritas, layanan penasihat keuangan terkait perdagangan dan investasi sekuritas, underwriting dan sponsor sekuritas, investasi sekuritas, manajemen aset, dan bisnis lain yang disetujui oleh China Securities Regulatory Commission.
Mengapa Memilih APISIX?
Sejak tahun 2021, Essence Securities mulai memigrasikan aplikasi ke cloud dan melakukan rencana API gateway. Pada tahun 2022, perusahaan ini mulai terlibat dalam pembangunan API gateway. Setelah perbandingan yang cermat, Essence Securities memilih Apache APISIX di antara berbagai solusi API gateway karena beberapa keunggulan penting:
Kinerja Tinggi
Perusahaan sekuritas memiliki karakteristik khas: akan ada lonjakan lalu lintas selama jam sibuk. Apache APISIX adalah API gateway dengan kinerja tertinggi dengan QPS single-core sebesar 23.000, dengan rata-rata delay hanya 0,6 milidetik.
“Kami membutuhkan API gateway untuk menangani lalu lintas yang meledak, dan itu tidak akan menjadi bottleneck berikutnya. Setelah kami membandingkan beberapa API gateway berdasarkan OpenResty atau beberapa stack teknologi lainnya, Apache APISIX menonjol dengan keunggulan kompetitifnya dalam kinerja tinggi dan dapat memenuhi persyaratan kami untuk API gateway.” kata Yonghui.
Skalabel dan Ramah Pengembang
APISIX mendukung penggunanya dengan fungsi yang kaya. Di Essence Securities, rate-limiting, circuit breaker, otorisasi dan autentikasi, serta canary release adalah yang paling banyak digunakan.
Untuk ini, Essence Securities mengembangkan beberapa plugin sendiri untuk memenuhi kebutuhan internal kelompok bisnis. APISIX secara resmi mendukung banyak bahasa pemrograman, termasuk Java, Golang, Python, dan Lua. Agar konsisten dengan komunitas, Essence Securities memilih Lua. Hasilnya, seluruh proses pengembangan berjalan sangat lancar. Essence Securities juga akan mempertimbangkan untuk berkontribusi pada komunitas dengan plugin yang dikembangkan sendiri.
Skenario Virtual Machine dan Container
Saat ini, memigrasikan aplikasi ke cloud adalah strategi penting Essence Securities. Namun, ada cukup banyak skenario yang di-deploy pada virtual machine.
“Kami perlu mempertimbangkan kompatibilitas aplikasi dua keadaan ini saat memilih API gateway, meskipun rencana kami lebih pada container. APISIX memberikan banyak dukungan dalam kompatibilitas skenario.” kata Yonghui.
Jalur Pengembangan Cloud-Native
Apache APISIX sangat luar biasa dalam mendukung skenario cloud-native, sementara Essence Securities terus mengikuti tren cloud-native. Dengan menggunakan APISIX, APISIX Ingress Controller, dan Service Mesh, Essence Securities juga menantikan kemajuan dan pengembangan baru APISIX.
Komunitas yang Aktif
Sebagai proyek open-source, APISIX aktif dalam komunitasnya. Masalah dapat didiskusikan dan diselesaikan tepat waktu. Pada tahun 2022, hampir 40 acara komunitas APISIX baik secara langsung maupun online diselenggarakan oleh APISIX. Orang-orang yang familiar dengan APISIX merasa sangat antusias dengan kegiatan ini.
Bagaimana Essence Securities Mendapat Manfaat dari Menggunakan APISIX?
Berikut adalah arsitektur microservices Essence Securities, yang umum terlihat dalam skenario cloud-native.

-
Otoritas dan Autentikasi: Sebelum menggunakan APISIX, otoritas dan autentikasi dikontrol oleh beberapa microservices, yang mengakibatkan banyak pekerjaan pengembangan yang berulang.
-
Governance Lalu Lintas: Essence Securities mewujudkan governance lalu lintas dengan mengintegrasikan APISIX, di mana skenario yang paling khas adalah rate-limiting dan canary release. Sebelum menggunakan APISIX, fungsi-fungsi ini diwujudkan oleh NGINX, yang memerlukan modifikasi conf dan restart node. Sebaliknya, dashboard yang terlihat APISIX dan fitur hot-reloading membawa kenyamanan yang signifikan bagi governance lalu lintas Essence Securities.
-
Canary Release: APISIX fleksibel dalam canary release, yang dapat dicapai berdasarkan porsi dan karakteristik lalu lintas, mencakup header permintaan, parameter permintaan, cookie, dan sebagainya. Misalnya, Essence Securities perlu memproksi lalu lintas pengguna ke server versi canary-release berdasarkan ID pengguna.
-
Observabilitas: Sebelumnya, Essence Securities perlu mewujudkan manajemen observabilitas melalui metrik, tracing, dan log. Sangat menantang untuk membuat governance multi-dimensi menjadi kenyataan. Namun, hanya dengan mengaktifkan tiga plugin dengan konfigurasi sederhana dapat mencapai efek yang sama setelah menggunakan APISIX. Kemajuan yang luar biasa!
Inovasi Berbasis APISIX
CAS single sign-on
Essence Securities menggunakan CAS (Central Authentication Service) sebagai metode autentikasi standarnya, yang cocok untuk menempatkan autentikasi pada gateway.
Essence Securities memperluas APISIX dan menambahkan fungsi baru, CAS single sign-on. Ada beberapa keuntungan dalam melakukan hal ini.
Menempatkan CAS pada lapisan gateway dapat mengakses CAS dan memperkenalkan fungsinya dengan mudah. Misalnya, ada layanan sertifikasi terpadu untuk mengambil informasi pengguna.
Selain itu, CAS mengatur informasi pengguna ke header permintaan dan membawanya ke layanan upstream untuk menyimpan status login pengguna. Dengan demikian, tidak perlu login ke sistem lain secara berulang, menghemat banyak waktu pengguna dan meningkatkan kenyamanan.

authz - casbin authentication plugin
Plugin autentikasi APISIX authz-casbin adalah plugin otorisasi berbasis Lua Casbin. Plugin ini mendukung skenario otorisasi yang kuat berdasarkan model RBAC (role-based access control).
Plugin ini mendukung penyimpanan file CSV, konfigurasi plugin APISIX, dan penyimpanan kebijakan dengan mengonfigurasi metadata.
Berikut adalah contohnya.

Di Essence Securities, ada konsep penting: domain. Pengguna akan memiliki izin yang berbeda di berbagai domain. Misalnya, karyawan A adalah manajer domain A tetapi mungkin hanya menjadi penonton di domain B.

Saat mendefinisikan permintaan, kebijakan, dan peran, domain harus ditunjukkan. Oleh karena itu, Essence Securities memodifikasi casbin untuk mencocokkan skenario seperti itu. Plugin ini bergantung pada repositori Lua, yang mendukung RBAC dengan domain. Akibatnya, persyaratan di atas dapat dipenuhi hanya dengan memanggil antarmuka yang sesuai dari repositori Lua, yang sangat mudah. Cara ini dapat sangat meningkatkan keamanan data dan manajemen izin.
Observabilitas
APISIX menyediakan pemantauan multi-dimensi seperti metrik, tracing, dan pengumpulan log. Semua fungsi ini dapat dicapai dengan konfigurasi sederhana.
Setelah mengaktifkan plugin Prometheus, metrik seperti delay permintaan, bandwidth, dan tingkat transmisi kode status HTTP dapat diamati. Ini dapat berguna dalam pemecahan masalah.
Mengenai analisis tracing, ketika upstream terhubung dengan Skywalking, tracing panggilan lengkap dapat dilacak setelah mengaktifkan Skywalking.
Essence Securities berencana untuk menggali lebih banyak nilai dari pengumpulan log. Mendorong log akses ke kafka dapat membantu Essence Securities menganalisis dan menghitung data.
Rencana Masa Depan
Multi-tenancy
Sebelumnya, sistem Essence Securities memiliki cluster independen untuk mengurangi risiko kesalahan dan memisahkan informasi pengguna. Apache APISIX menggunakan etcd untuk pusat konfigurasinya, yang cocok untuk tahap saat ini.
Cluster bersama membantu dalam manajemen sumber daya yang terpadu dan meningkatkan efisiensi O&M. Essence Securities akan menggabungkan cluster independen dengan multi-tenancy untuk memperbesar kemampuan manajemennya.
Pasar Aplikasi
Essence Securities akan menyediakan banyak microservices sebagai produk kepada pengguna, seperti platform logging, monitoring, alerting, dan pusat data, yang manajemen terpusatnya dapat diwujudkan oleh APISIX.
Setelah memperkenalkan lapisan gateway, banyak governance API gateway ditambahkan, seperti autentikasi, otorisasi, dan governance lalu lintas.
Pemantauan Data Observabilitas
Plugin kafka-logger APISIX dapat membantu Essence Securities mendorong log akses gateway ke kafka. Kafka dapat membersihkan, memformat, dan menghitung informasi tersebut dan kemudian memperoleh statistik yang lebih berharga, seperti Top N panggilan, permintaan abnormal, dan delay permintaan.
“Atau kita bisa mendapatkan distribusi kode status, distribusi IP klien, statistik lalu lintas, distribusi jam puncak dan non-puncak lalu lintas, deteksi lalu lintas abnormal, dll. Bagian ini sangat penting untuk memperluas kemampuan observabilitas sistem kami.” kata Yonghui.
Essence Securities juga menantikan lebih banyak kerja sama dengan APISIX Ingress Controller dan Service Mesh.
Mencari Dukungan APISIX?
Apache APISIX adalah API gateway cloud-native open-source, dinamis, skalabel, dan berkinerja tinggi untuk semua API dan microservices Anda. Disumbangkan ke Apache Software Foundation oleh API7.ai, APISIX telah berkembang menjadi proyek open-source Apache tingkat atas.
Apakah Anda ingin mempercepat pengembangan Anda dengan percaya diri seperti Essence Securities? Untuk memaksimalkan dukungan APISIX, Anda memerlukan API7. Kami menyediakan dukungan mendalam untuk APISIX dan solusi manajemen API berdasarkan kebutuhan Anda!
Hubungi kami sekarang: https://api7.ai/contact.