Halo semuanya! Teman-teman, pada 21 Februari, kami meluncurkan kursus
“Backend PHP Developer” . Untuk mengantisipasi peluncuran kursus, kami ingin berbagi dengan Anda terjemahan dari satu materi yang menarik. Selamat membaca!
Pada bulan Oktober, pada konferensi NGINX Conf 2018, kami mengumumkan
modul kontrol API baru
untuk pengontrol NGINX . Dengan produk ini, kami memperkuat posisi kami sebagai
gateway API yang paling banyak digunakan di industri - jutaan situs sudah menggunakan NGINX Open Source dan NGINX Plus untuk mentransfer lalu lintas secara aman antara aplikasi server dan konsumen API yang disediakan oleh aplikasi ini.

Tetapi menangani permintaan klien secara efisien hanya satu aspek dari API yang berhasil (meskipun sangat penting). Anda juga perlu mengelola API Anda sepanjang siklus hidup mereka, termasuk menentukan dan menerbitkannya, dan melindungi dan mengelola lalu lintas. Anda perlu melacak dan memecahkan masalah kinerja untuk memastikan kepuasan pelanggan, dan menganalisis lalu lintas untuk memaksimalkan nilai bisnis. Manajemen API yang komprehensif sangat penting untuk adopsi yang cepat dan kesuksesan API Anda yang berkelanjutan.
Manajemen API mencakup seluruh siklus hidup API Anda(Pada gambar: mulai dari searah jarum jam atas - Definisi dan publikasi, Keamanan, Manajemen lalu lintas (API gateway), Pemantauan dan dukungan berkelanjutan, Analisis jumlah akses ke API. Adaptasi (Portal-Dev);
di tengah - Manajemen API)
Seperti banyak pelanggan kami, Anda mungkin menemukan bahwa konsep dan terminologi yang tumbuh terlalu banyak di sekitar solusi API cukup menakutkan. Di blog ini, kami membahas konsep API kunci dan mengeksplorasi hubungan manajemen API dengan gateway API.
Konsep kunciAPI manajemen memiliki konsep dan terminologi sendiri:
- API Internal - API internal hanya tersedia untuk aplikasi lain (dan pengembangnya) dalam perusahaan, tetapi tidak untuk pengguna eksternal. API internal membantu membuka data dan memupuk kolaborasi antara unit fungsional dalam perusahaan. Berikut adalah contoh yang baik: sebelum memberikan bantuan kepada pelanggan, tim dukungan teknis perusahaan harus menentukan apakah pelanggan memiliki kontrak dukungan yang valid. Informasi ini sudah disimpan dalam sistem manajemen hubungan pelanggan perusahaan (CRM) seperti Salesforce. Alih-alih menggandakan informasi dalam basis datanya sendiri, aplikasi dukungan pelanggan memanggil API CRM internal.
- API Eksternal - API Eksternal tersedia untuk pengguna di luar perusahaan Anda. Mereka menyediakan alat untuk membangun kemitraan dengan pengembang pihak ketiga, serta seluruh ekosistem bisnis Anda dari pemasok, distributor, pengecer, dan bahkan pelanggan. API eksternal juga memungkinkan perusahaan untuk menghasilkan sumber pendapatan baru menggunakan model bisnis inovatif. Google maps adalah contoh yang bagus. Banyak situs web dan aplikasi pihak ketiga menyematkan peta Google untuk membantu pengguna akhir menentukan lokasi toko atau mendapatkan petunjuk arah. Akses ke peta untuk pengguna akhir tidak dikenakan biaya apa pun, tetapi setelah sejumlah klik tertentu Google membebankan biaya dari situs atau aplikasi untuk setiap panggilan API.
- Definisi dan publikasi . Solusi manajemen API menyediakan antarmuka intuitif untuk mendefinisikan API yang bermakna, termasuk jalur dasar (URL), sumber daya, dan titik akhir.
- Sumber daya penting untuk definisi API apa pun; mereka adalah abstraksi informasi dimana API melakukan operasi. Contoh sumber daya adalah dokumen dan ID pelanggan. API dipanggil untuk mendapatkan informasi ini.
- Titik akhir menunjukkan di mana sumber daya berada. API memiliki URL dasar tempat jalur titik akhir ditambahkan. Semua titik akhir API merujuk ke URL dasar.
- Misalnya, di titik akhir API,
https://app.enterprise.com/v1/inventory/
, /v1
adalah jalur dasar, dan /inventory
adalah sumber dayanya. - Solusi manajemen API memungkinkan penulis API untuk menerbitkan API di berbagai lingkungan, seperti yang dimaksudkan untuk produksi, pengujian, atau persiapan. Ini memastikan konsistensi untuk setiap lingkungan dan mencegah kesalahan konfigurasi. Solusi ini juga mengotomatiskan pembuatan API baru dan modifikasi yang sudah ada.
- Gateway API - Seperti disebutkan sebelumnya, gateway API melindungi dan menyediakan lalu lintas antara backend Anda dan konsumen API Anda. Fungsi Gateway mencakup otentikasi panggilan API, permintaan routing ke backend yang sesuai, penerapan batas kecepatan untuk mencegah kelebihan sistem Anda atau mengurangi serangan DDoS, membongkar lalu lintas SSL / TLS untuk meningkatkan kinerja dan menangani kesalahan serta pengecualian.
- Microgateway - banyak solusi memiliki bidang data yang terpusat dan terkait erat (gateway API) dan bidang kontrol (alat manajemen API). Semua panggilan API harus melalui bidang kontrol, yang menambahkan penundaan. Gateway API dalam pendekatan arsitektur ini tidak efisien ketika memproses lalu lintas di lingkungan terdistribusi (misalnya, lalu lintas intra-layanan di lingkungan layanan mikro atau memproses lalu lintas IoT untuk mendukung analisis waktu nyata). Oleh karena itu, untuk manajemen lalu lintas, ketika konsumen dan penyedia API berada dalam jarak dekat, vendor solusi yang ketinggalan zaman telah memperkenalkan komponen perangkat lunak tambahan - gerbang mikro untuk memproses panggilan API.
- Analisis API - Ketika API Anda menjadi populer, Anda perlu memastikan mereka memberikan nilai kepada pengguna Anda serta memenuhi tujuan bisnis Anda. Di sinilah analitik menjadi kritis. Solusi manajemen API memberikan wawasan kritis melalui visualisasi (seperti dasbor dan laporan) tentang metrik dan penggunaan API, memberi tahu Anda (sebagai contoh) API mana yang lebih sering atau kurang sering digunakan, bagaimana perubahan lalu lintas API dari waktu ke waktu, dan pengembang mana adalah konsumen API terbaik. Analisis API memungkinkan pemilik bisnis API, kadang-kadang disebut "Manajer Produk API", untuk mendapatkan wawasan tentang kinerja program API.
- Analytics juga penting untuk pemecahan masalah. Solusi manajemen API memberikan pemahaman mendalam tentang kinerja untuk setiap API. Metrik ini memungkinkan tim infrastruktur dan operasi untuk melacak dan menyelesaikan masalah kinerja dan keamanan. Berikut adalah contoh pertanyaan yang dapat dijawab oleh seorang analis:
- Apa status dan waktu operasi semua instance gateway API saya?
- Kapan kita melihat perlambatan untuk API?
- Kapan kesalahan HTTP terjadi untuk API?
- Bagaimana keadaan dan waktu aktif semua instance gateway API saya?
- Kapan kami mengamati perlambatan untuk API?
- Kapan kesalahan HTTP terjadi untuk API?
- Keamanan API - Keamanan adalah aspek penting dari infrastruktur API. Tanpa perlindungan yang andal, siapa pun dapat mengakses data dan API Anda dan memperkenalkan perilaku jahat dengan memanggil permintaan ke API yang tidak aman. API keamanan mencakup elemen-elemen berikut:
- Otentikasi - Otentikasi mengacu pada proses menentukan identitas penelepon dengan andal. Kunci API adalah mekanisme standar untuk mengautentikasi dan mengidentifikasi pelanggan yang ingin mengakses API. Solusi manajemen API menyediakan penyedia API dengan antarmuka untuk menghasilkan kunci API, yang kemudian dapat diteruskan ke pengembang pihak ketiga untuk digunakan dalam panggilan API. OAuth adalah mekanisme otentikasi yang banyak digunakan.
- Otorisasi - Otorisasi mengacu pada proses menentukan hak istimewa atau tingkat akses mana yang diberikan kepada pengguna. Salah satu cara untuk mengotorisasi pengguna adalah melalui JSON Web Tokens (JWT). JWT adalah token akses yang mengklaim (klaim adalah terminologi JWT untuk hak istimewa individu). Misalnya, JWT yang disajikan oleh aplikasi klien dapat mencakup pernyataan yang memungkinkan akses ke satu sumber daya tertentu. Jika aplikasi klien mencoba mengakses sumber daya lain, kesalahan HTTP 403 Forbidden dikembalikan kesalahan dikembalikan.
- Kontrol akses berbasis peran (RBAC) - RBAC mengacu pada definisi peran pengguna dengan hak khusus. Misalnya, karyawan Infrastruktur & Operasi umumnya tidak bertanggung jawab untuk membuat dan menerbitkan API, tetapi hanya untuk pemantauan dan pemecahan masalah. Dengan demikian, mereka diberi peran yang hanya memiliki hak istimewa ini. Demikian pula, hanya Manajer Produk API yang diberi peran yang memiliki akses ke analisis API.
- Batas kecepatan - batas kecepatan mengacu pada pengenaan batas pada jumlah permintaan yang dapat dilakukan oleh agen yang meminta selama periode waktu tertentu (misalnya, 10.000 permintaan per detik). Batas kecepatan mencegah kelebihan sistem backend Anda dan membantu mengurangi serangan DDoS. Solusi manajemen API menyediakan antarmuka untuk menentukan batas kecepatan yang kemudian diterapkan oleh gateway API. Batas kecepatan juga memungkinkan Anda menawarkan tingkat layanan multi-level (misalnya, pelanggan Emas dapat membuat 10.000 permintaan per detik, dan pelanggan Perak dapat menghasilkan 5.000).
- Portal untuk pengembang . Portal pengembang adalah situs online tempat Anda menerbitkan sumber daya yang membantu Anda dengan cepat menyesuaikan konsumen API Anda, seperti katalog API eksternal, dokumentasi lengkap, dan contoh kode. Portal pengembang juga memungkinkan pengembang pihak ketiga untuk mendaftarkan aplikasi mereka dan menerima kunci API dan JWT. Beberapa solusi juga menyediakan mekanisme untuk interaksi antara pengembang yang menggunakan API Anda. Portal pengembang yang dirancang dengan baik sangat penting untuk keberhasilan program API Anda.
Kelola API NGINX: Memanfaatkan Gateway Industri-Terkemuka GatewayNGINX sudah menjadi
gateway API yang paling banyak digunakan di industri - dalam survei terbaru kami, 40% pelanggan kami dilaporkan menggunakan NGINX sebagai gateway API.
Modul kontrol API NGINX controller baru, yang akan segera dirilis, menggabungkan kekuatan dan efisiensi NGINX Plus sebagai gateway API dengan fungsionalitas tingkat manajemen baru. Kontroler NGINX memungkinkan tim Infrastruktur & Operasi dan DevOps untuk mendefinisikan, mempublikasikan, melindungi, melacak, dan menganalisis API, sambil mempertahankan kontrol atas pengembangan API. Pemantauan dan peringatan komprehensif membantu memastikan ketersediaan, kinerja, dan keandalan aplikasi. Pengontrol NGINX memberikan pemahaman mendalam tentang metrik utama, yang memungkinkan tim Infrastucture & Operations dan DevOps pertama-tama menghindari masalah kinerja dan dengan cepat memperbaiki semua masalah yang muncul.
Pendekatan kami untuk mengelola API berbeda dari solusi tradisional. Tidak seperti solusi ini, gateway NGINX Plus API (data plane) tidak memerlukan koneksi permanen ke NGINX controller (control plane), sehingga lalu lintas run-time API terisolasi dari lalu lintas kontrol. Kontroler NGINX menghilangkan kebutuhan untuk database lokal atau komponen tambahan yang dapat menciptakan kompleksitas yang tidak perlu, keterlambatan, dan titik kegagalan untuk gateway NGINX Plus API. Ini memaksimalkan kinerja dengan mengurangi waktu respons rata-rata untuk melayani panggilan API dan meminimalkan volume dan kompleksitas gateway. Melepaskan bidang data dari bidang kontrol memberi Anda keleluasaan untuk menggunakan sebanyak mungkin instance gateway API sesuai kebutuhan arsitektur aplikasi Anda. Kontroler NGINX memberi Anda kebebasan untuk memilih penyebaran yang tepat untuk kebutuhan API internal dan eksternal Anda dengan solusi yang mudah, sederhana, dan berkinerja tinggi yang memanfaatkan sepenuhnya bidang data NGINX Plus.
Teknologi NGINX mendukung portal pengembang
Capital One -
Devexchange . Ini memungkinkan Capital One untuk skala aplikasi ke 12 miliar operasi per hari dengan puncak 2 juta operasi per detik dengan penundaan hanya 10-30 milidetik. NGINX juga mendukung portal
Adobe untuk pengembang
Adobe I / O. Adobe I / O memungkinkan pengembang untuk mengintegrasikan, memperluas, dan membuat aplikasi berdasarkan produk dan teknologi Adobe menggunakan API. Platform memproses jutaan permintaan per hari dengan sedikit penundaan.
Ini terjemahannya, bagaimana Anda suka? Kami menunggu komentar Anda dan secara tradisional mengundang Anda ke
pelajaran terbuka , yang akan diadakan pada 11 Februari oleh guru kami
Igor Sakhankov .