Cara Kerja Azure API Management

Selesai

Di sini, kita membahas cara kerja Azure API Management dari tiga titik penggunaan. Pengetahuan ini membantu Anda terus mengevaluasi apakah Azure API Management adalah solusi yang baik untuk mengelola API organisasi Anda.

Di unit ini, Anda mempelajari tentang cara kerja Azure API Management untuk jenis pengguna berikut:

  • Konsumen API
  • Penyedia API
  • Pengembang aplikasi

Cara kerja Azure API Management untuk konsumen API

Konsumen API adalah entitas yang membuat permintaan ke API untuk data. Misalnya, salah satu entitas ini bisa menjadi konsumen API:

  • Aplikasi seluler
  • Aplikasi web
  • perangkat IoT

Komponen utama Azure API Management untuk konsumen adalah gateway. Semua panggilan API konsumen pertama kali dirutekan ke titik akhir gateway Anda. Konsumen API hanya pernah berinteraksi langsung dengan gateway, dan tidak pernah dengan instans penyebaran API yang sebenarnya.

Gateway melakukan banyak tugas dari sudut pandang konsumen, tetapi berikut ini adalah yang paling penting:

  • Autentikasi. Gateway memantau akses ke API dengan memverifikasi kunci langganan konsumen, token JWT, dan informasi masuk lainnya.
  • Keamanan. Gateway mencegah penyalahgunaan API dengan memberlakukan batas tarif dan kuota penggunaan konsumen yang telah ditentukan sebelumnya, atau dengan memvalidasi permintaan dan respons terhadap skema API.
  • Transformasi. Gateway mengubah permintaan atau respons API sesuai kebutuhan. Misalnya, jika layanan backend merespons dengan data XML, Anda dapat memodernisasi API dengan mengubah XML menjadi JSON secara otomatis, seperti yang digambarkan dalam gambar berikut.
  • Perutean. Setelah permintaan API diautentikasi, divalidasi, dan diubah, gateway merutekan panggilan ke layanan backend tempat API digunakan.
  • Performa. Gateway dapat menyimpan respons API backend dalam cache. Dalam situasi di mana respons backend statis dari waktu ke waktu, melayani tanggapan berikutnya dari cache memberi konsumen waktu respons yang lebih cepat dan mengurangi beban di server backend.

A mobile app requests a weather forecast using an API. The Azure API Management gateway routes the call to the backend server and then converts the server's XML response to JSON before returning it to the mobile app.

Cara kerja Azure API Management untuk penyedia API

Jika Anda adalah penyedia API, Anda masih memiliki banyak pekerjaan yang harus dilakukan setelah API Anda diterbitkan. Pekerjaan ini mencakup:

  • Mengatur kebijakan API
  • Mengelola konsumen API
  • Mengelola revisi dan versi API
  • Memantau dan menganalisis API Anda

Anda dapat melakukan semua tugas ini dan banyak lagi, dengan menggunakan antarmuka administrasi Azure API Management di portal Azure. Atau, dengan menggunakan alat seperti Azure CLI atau Azure PowerShell. Selain memungkinkan Anda menetapkan kebijakan API (seperti yang Anda pelajari di unit sebelumnya), antarmuka administrasi memungkinkan Anda melakukan tugas-tugas berikut:

  • Tentukan dan impor spesifikasi API. Impor spesifikasi OpenAPI, REST API, API Simple Object Access Protocol (SOAP) (yang dapat Anda konversi secara opsional ke REST), API WebSocket, atau API GraphQL. Anda juga dapat membuat API dengan mengimpor instans layanan Azure berikut: Aplikasi Web, Aplikasi Kontainer, Aplikasi Fungsi, Aplikasi Logika, dan Service Fabric. Anda juga dapat membuat API kosong dan menentukannya secara manual.
  • Mengelola pengguna dan grup.
    • Pengguna adalah akun pengembang. Ini adalah akun untuk konsumen API. Anda dapat menambahkan pengguna secara manual atau mengundang pengguna untuk membuat akun, tetapi sebagian besar pengguna membuat akun mereka sendiri dengan menggunakan portal pengembang.
    • Sebuah grup adalah kumpulan pengguna terkait. Anda dapat mengaitkan grup dengan produk API tertentu, lalu setiap pengguna dalam grup tersebut memiliki akses ke produk di portal pengembang.
  • Paket API ke dalam produk. Di Azure API Management, sebuah produk adalah sekelompok API terkait. Dengan memaketkan beberapa API sebagai satu produk, Anda dapat mengonfigurasi produk saja daripada mengonfigurasi semua API secara terpisah. Misalnya, tetapkan batas tarif dan kebijakan lainnya, tentukan ketentuan penggunaan, tambahkan grup, dan sebagainya. Konfigurasi ini akan diterapkan ke semua API dalam produk. Setelah Anda memublikasikan produk, konsumen dapat berlangganan dan menggunakan API-nya dengan satu kunci langganan.
  • Mengelola revisi dan versi API. Ketika tim pengembang API Anda perlu membuat perubahan pada API, ekspos perubahan dengan cara yang aman dan terkontrol yang tidak memengaruhi konsumen dengan menggunakan revisi dan versi:
    • Revisi adalah perubahan yang relatif kecil atau tidak pecah ke API. Tim pengembangan Anda dapat membuat kode dan menguji revisi secara terpisah dari API produksi, seperti pada gambar berikut. Kemudian, ketika revisi Anda siap untuk konsumen, gunakan antarmuka administrasi Azure API Management untuk mengatur API yang diperbarui sebagai revisi saat ini .
    • Versi adalah perubahan yang relatif besar atau melanggar API. Azure API Management memungkinkan Anda menawarkan beberapa versi API kepada pengembang secara bersamaan. Azure API Management juga menawarkan beberapa skema penerapan versi, termasuk penerapan versi berbasis jalur, berbasis header, dan berbasis string kueri.
  • Memantau dan menganalisis API. Antarmuka administrasi mencakup alat pemantauan bawaan untuk melacak dan meninjau lalu lintas API secara real time, dan analitik untuk wawasan tentang bagaimana konsumen menggunakan API yang diterbitkan. Azure API Management juga mendukung beberapa alat Azure untuk memantau API dan menjalankan beban kerja analitik. Layanan Azure yang didukung oleh Azure API Management mencakup Log Azure Monitor, Application Insights, dan Event Hubs.

Depiction of how revisions work in Azure API Management. API requests from consumers are routed to the current revision of the API, whereas API requests from the in-house development team are routed to the API revision.

Cara kerja Azure API Management untuk pengembang aplikasi

Kecuali untuk tingkat Konsumsi, semua instans Azure API Management menyertakan portal pengembang tempat Anda menampilkan API Anda kepada calon konsumen API yang sudah ada. Portal pengembang dilengkapi dengan antarmuka default yang dapat disesuaikan agar sesuai dengan branding dan persyaratan organisasi Anda.

Pengembang aplikasi dengan akun pengembang masuk ke portal pengembang (yang juga menerima pengguna tamu yang belum memiliki akun). Pengembang kemudian disajikan dengan antarmuka web yang memungkinkan mereka berinteraksi dengan API dengan cara berikut:

  • Mengakses dokumentasi API. Pengembang dapat meninjau dokumentasi yang Anda berikan untuk setiap API.
  • Menguji API. Portal pengembang menawarkan konsol interaktif yang memungkinkan pengembang untuk menguji API dengan cepat dan aman. Pengembang dapat memilih operasi API, menambahkan nilai parameter, kemudian mengirimkan panggilan untuk menentukan respons apa yang dikembalikan API.
  • Meninjau sampel kode API. Portal pengembang menawarkan sampel panggilan API dalam beberapa bahasa pemrograman, termasuk C#, Java, JavaScript, PHP, dan Python.
  • Berlangganan api. Saat konsumen memutuskan untuk menggunakan API Anda, portal pengembang memungkinkan pengguna untuk membuat langganan ke API dan mendapatkan kunci langganan yang akan digunakan saat memanggil API.
  • Menjalankan analitik. Portal pengembang menawarkan analitik tentang penggunaan API oleh pengembang.