Apa itu Apigee?

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Apigee adalah platform untuk mengembangkan dan mengelola API. Dengan fronting layanan menggunakan lapisan proxy, Apigee menyediakan abstraksi atau facade untuk API layanan backend dan menyediakan keamanan, pembatasan kapasitas, kuota, analisis, dan lainnya.

Video: Tonton video singkat ini untuk mengenal Pengelolaan API Apigee.

Arsitektur tingkat tinggi

Gambar berikut menunjukkan arsitektur tingkat tinggi Apigee:

Ringkasan tingkat tinggi arsitektur Apigee.

Seperti yang ditampilkan pada gambar, Apigee terdiri dari komponen utama berikut:

  • Layanan Apigee: API yang Anda gunakan untuk membuat, mengelola, dan men-deploy proxy API Anda.
  • Runtime Apigee: Kumpulan layanan runtime dalam container di cluster Kubernetes yang dikelola oleh Google. Semua traffic API akan melewati dan diproses oleh layanan ini.

Selain itu, Apigee menggunakan komponen lain, termasuk:

  • Layanan Google Cloud: Menyediakan fungsi pengelolaan identitas, logging, analisis, metrik, dan pengelolaan project.
  • Layanan backend: Digunakan oleh aplikasi Anda untuk memberikan akses runtime ke data untuk proxy API Anda.

Untuk penjelasan yang lebih detail, lihat Komponen Apigee.

Berikut ini gambar lebih terperinci yang menunjukkan koneksi antara project Cloud dan layanan Google melalui jaringan peering pribadi:

Diagram arsitektur yang menampilkan koneksi VPC.

Untuk contoh cara menggunakan Apigee, lihat webcast ini tentang cara Walgreens menggunakan API dan Apigee untuk menyediakan ekosistem aplikasi yang lengkap seputar pencetakan foto, resep, dan layanan lainnya.

Sudah cukup banyak pembicaraan!

Siapkan Apigee kemudian Buat proxy pertama Anda!  

Rasa Apigee

Apigee hadir dalam ragam berikut:

  • Apigee: Versi cloud yang dihosting oleh Apigee yang digunakan Apigee untuk memelihara lingkungan, sehingga Anda dapat berkonsentrasi pada pembangunan layanan dan penetapan API untuk layanan tersebut.
  • Apigee Hybrid: Versi hybrid yang terdiri dari bidang runtime yang diinstal secara lokal atau di penyedia cloud pilihan Anda, dan bidang pengelolaan yang berjalan di cloud Apigee. Dalam model ini, traffic dan data API dibatasi dalam batas-batas yang disetujui oleh perusahaan Anda sendiri.

Akselerasi digital

Video ini memberikan gambaran singkat tentang bagaimana Apigee membantu Anda berevolusi menjadi bisnis digital.

Memilih antara pengelolaan layanan dan pengelolaan API

Video ini membantu Anda memahami perbedaan penting antara pengelolaan layanan dan pengelolaan API.

Membuat layanan Anda tersedia di web

Perusahaan saat ini ingin menyediakan layanan backend di web sehingga layanan ini dapat digunakan oleh aplikasi yang berjalan di perangkat seluler dan desktop. Perusahaan mungkin ingin mengekspos layanan yang menyediakan informasi harga dan ketersediaan produk, layanan penjualan dan pemesanan, layanan pelacakan pesanan, dan layanan lain yang diperlukan oleh aplikasi klien.

Perusahaan sering kali mengekspos layanan sebagai sekumpulan endpoint HTTP. Selanjutnya, developer aplikasi klien membuat permintaan HTTP ke endpoint ini. Bergantung pada endpoint, layanan mungkin kemudian menampilkan data, yang diformat sebagai XML atau JSON, kembali ke aplikasi klien.

Aplikasi klien yang menggunakan layanan ini dapat diimplementasikan sebagai aplikasi mandiri untuk perangkat seluler atau tablet, sebagai aplikasi HTML5 yang berjalan di browser, atau sebagai jenis aplikasi lainnya yang dapat membuat permintaan ke endpoint HTTP dan menggunakan data respons apa pun. Aplikasi ini mungkin dikembangkan dan dirilis oleh perusahaan yang sama yang mengekspos layanan tersebut, atau oleh developer aplikasi pihak ketiga yang menggunakan layanan yang tersedia untuk publik.

Gambar berikut menampilkan jenis model ini:

Beberapa jenis aplikasi seperti aplikasi seluler, aplikasi tempat penjualan, partner, dan aplikasi web terhubung ke layanan backend, seperti ESB, SOA, server aplikasi, dan database.

Karena penyedia menyediakan layanannya melalui web, mereka harus memastikan bahwa mereka telah mengambil semua langkah yang diperlukan untuk mengamankan dan melindungi layanannya dari akses yang tidak sah. Sebagai penyedia layanan, pertimbangkan:

  • Keamanan: Bagaimana Anda akan mengontrol akses ke layanan Anda untuk mencegah akses yang tidak sah?
  • Kompatibilitas: Apakah layanan Anda akan berfungsi di berbagai platform dan perangkat?
  • Keterukuran: Bagaimana Anda dapat memantau layanan untuk memastikan layanan tersedia?
  • Dan banyak pertimbangan lainnya

Setelah aplikasi klien yang mengakses layanan apa pun dirilis, penyedia layanan diwajibkan untuk memastikan bahwa layanan tersebut terus berfungsi seiring waktu ketika menambah, mengubah, atau menghapus layanan tersebut. Penyedia layanan juga harus memiliki cara untuk membuat developer aplikasi mengetahui setiap perubahan pada layanannya untuk memastikan bahwa aplikasi klien tetap sinkron dengan layanan tersebut.

Developer aplikasi klien menghadapi tantangan saat mencoba menggunakan layanan dari penyedia yang berbeda. Ada banyak teknologi yang tersedia saat ini untuk digunakan oleh penyedia layanan guna menampilkan layanannya. Aplikasi klien yang sama mungkin harus menggunakan satu mekanisme untuk menggunakan layanan dari satu penyedia, dan mekanisme yang berbeda untuk menggunakan layanan dari penyedia yang berbeda. Developer aplikasi bahkan dapat menghadapi situasi ketika mereka harus menggunakan mekanisme berbeda untuk memakai layanan dari penyedia yang sama.

Menyediakan layanan melalui Apigee

Apigee memungkinkan Anda memberikan akses yang aman ke layanan Anda dengan API yang terdefinisi dengan baik dan konsisten di seluruh layanan Anda, apa pun implementasi layanannya. API yang konsisten:

  • Memudahkan developer aplikasi untuk menggunakan layanan Anda.
  • Memungkinkan Anda mengubah implementasi layanan backend tanpa memengaruhi API publik.
  • Memungkinkan Anda untuk memanfaatkan analisis, portal developer, dan fitur bawaan Apigee lainnya.

Gambar berikut menampilkan arsitektur dengan Apigee yang menangani permintaan dari aplikasi klien ke layanan backend Anda:

Apigee berada di antara aplikasi klien dan layanan backend.

Developer aplikasi tidak perlu menggunakan layanan Anda secara langsung, melainkan mengakses proxy API yang dibuat di Apigee. Proxy API berfungsi sebagai pemetaan endpoint HTTP yang tersedia secara publik ke layanan backend Anda. Dengan membuat proxy API, Anda mengizinkan Apigee menangani tugas keamanan dan otorisasi yang diperlukan untuk melindungi layanan Anda, serta menganalisis dan memantau layanan tersebut.

Karena developer aplikasi membuat permintaan HTTP ke proxy API, bukan langsung ke layanan Anda, developer tidak perlu mengetahui apa pun tentang implementasi layanan Anda. Semua yang perlu diketahui developer adalah:

  • URL endpoint proxy API.
  • Semua parameter kueri, header, atau parameter isi yang diteruskan dalam permintaan.
  • Semua kredensial autentikasi dan otorisasi yang diperlukan.
  • Format respons, termasuk format data respons, seperti XML atau JSON.

Proxy API mengisolasi developer aplikasi dari layanan backend Anda. Oleh karena itu, Anda bebas mengubah implementasi layanan selama API publik tetap konsisten. Misalnya, Anda dapat mengubah implementasi database, memindahkan layanan ke host baru, atau membuat perubahan lain pada implementasi layanan. Dengan mempertahankan API frontend yang konsisten, aplikasi klien yang ada akan terus berfungsi, terlepas dari perubahan pada backend.

Anda dapat menggunakan kebijakan di proxy API untuk menambahkan fungsi ke layanan tanpa harus melakukan perubahan pada layanan backend. Misalnya, Anda dapat menambahkan kebijakan ke proxy untuk melakukan transformasi dan pemfilteran data, menambahkan keamanan, menjalankan logika bersyarat atau kode kustom, dan melakukan banyak tindakan lainnya. Hal penting yang perlu diingat adalah Anda menerapkan kebijakan di Apigee, bukan di server backend.

Untuk informasi selengkapnya, lihat Memahami API dan proxy API.

Membuat produk API

Proxy API adalah endpoint HTTP di Apigee yang digunakan developer untuk mengakses layanan backend Anda. Walaupun memungkinkan, Anda biasanya tidak menyediakan proxy API individual. Sebagai gantinya, Anda mengelompokkan satu atau beberapa proxy API ke dalam satu produk API.

Produk API adalah paket proxy API yang dikombinasikan dengan paket layanan. Paket layanan tersebut dapat menetapkan batas akses pada proxy API, memberikan keamanan, memungkinkan pemantauan dan analisis, serta menyediakan fitur tambahan. Produk API juga merupakan mekanisme sentral yang digunakan Apigee untuk otorisasi dan kontrol akses ke API Anda.

Anda memiliki banyak fleksibilitas saat membuat produk API. Misalnya, beberapa produk API dapat menggunakan proxy API yang sama. Gambar berikut menunjukkan tiga produk API. Perhatikan bahwa semua produk mengizinkan akses ke proxy API 3, tetapi hanya produk A yang memungkinkan akses ke proxy API 1.

Produk A mengakses proxy 1 dan 3. Produk B mengakses proxy 3.
    Produk C mengakses proxy 2, 3, dan 4.

Anda dapat menetapkan properti yang berbeda di setiap produk API. Misalnya, Anda dapat menyediakan satu produk API dengan batas akses rendah, seperti 1.000 permintaan per hari, dengan harga murah. Kemudian, Anda akan merilis produk API lain yang menyediakan akses ke proxy API yang sama, tetapi dengan batas akses yang jauh lebih tinggi, dengan harga yang lebih tinggi. Atau, Anda dapat membuat produk API gratis yang memungkinkan akses hanya baca ke layanan Anda, lalu menjual produk API ke proxy API yang sama yang memungkinkan akses baca/tulis.

Untuk mengetahui informasi selengkapnya, lihat Membuat produk API.

Mengizinkan aplikasi sisi klien untuk mengakses produk API Anda

Saat developer aplikasi memutuskan bahwa mereka ingin mengakses layanan Anda, mereka harus terlebih dahulu mendaftarkan aplikasi klien mereka ke produk API Anda.

Aplikasi klien
        memerlukan kunci untuk memanggil API yang terkait dengan Produk API.

Setelah pendaftaran, developer aplikasi menerima kunci API yang kemudian harus mereka sertakan dalam setiap permintaan ke proxy API yang disertakan dalam produk API. Kunci tersebut telah diautentikasi dan, jika autentikasi berhasil, permintaan diizinkan untuk mengakses layanan backend Anda.

Anda dapat mencabut kunci kapan saja sehingga aplikasi klien tidak lagi memiliki akses ke layanan Anda. Atau, Anda dapat menentukan batas waktu pada sebuah kunci sehingga developer harus me-refresh kunci tersebut setelah waktu tertentu.

Anda yang memutuskan cara menangani permintaan pendaftaran dari developer untuk mengakses produk API Anda. Dengan Layanan Developer Apigee, Anda dapat mengotomatiskan proses pendaftaran; atau Anda dapat menggunakan proses manual untuk mengontrol akses.

Membuat produk API dan menyediakannya untuk developer

  1. Buat satu atau beberapa proxy API yang memetakan URL yang tersedia untuk publik ke layanan backend Anda.
  2. Buat produk API yang memaketkan proxy API Anda.
  3. Deploy proxy API dan produk API Anda.
  4. Beri tahu developer Anda bahwa produk API tersedia.

Setelah developer aplikasi mengetahui tentang ketersediaan produk API Anda, mereka:

  1. Daftarkan aplikasi klien mereka dengan produk API Anda.
  2. Menerima kunci API untuk produk API.
  3. Buat permintaan ke layanan Anda melalui proxy API (yang dipaketkan dalam produk API) dan teruskan kunci API bersama setiap permintaan.

Komponen Apigee

Apigee terdiri dari runtime API, pemantauan dan analisis, serta layanan developer yang bersama-sama menyediakan infrastruktur komprehensif untuk pembuatan, keamanan, pengelolaan, dan operasi API.

Gambar berikut menunjukkan arsitektur tingkat tinggi Apigee:

Arsitektur tingkat tinggi Apigee

Runtime Apigee

Layanan Apigee berkaitan dengan membuat dan menggunakan API, baik Anda membuat proxy API sebagai penyedia layanan atau menggunakan API, SDK, dan layanan praktis lainnya sebagai developer aplikasi.

Runtime API menyediakan alat untuk menambahkan dan mengonfigurasi proxy API Anda, menyiapkan produk API, serta mengelola developer aplikasi dan aplikasi klien. Hal ini mengalihkan banyak masalah pengelolaan umum dari layanan backend Anda. Ketika menambahkan proxy API, Anda dapat menerapkan kebijakan ke proxy API untuk menambahkan keamanan, pembatasan kapasitas, mediasi, caching, dan sebagainya. Anda juga dapat menyesuaikan perilaku proxy API dengan menerapkan skrip kustom, melakukan panggilan ke API serta layanan pihak ketiga, dan sebagainya. Lihat Memahami API dan proxy API untuk informasi selengkapnya.

Pemantauan & analisis Apigee

Analisis API Apigee menyediakan alat canggih untuk melihat tren penggunaan jangka pendek dan jangka panjang dari API Anda. Anda dapat menyegmentasikan audiens menurut developer dan aplikasi teratas, memahami penggunaan berdasarkan metode API untuk mengetahui tempat berinvestasi, dan membuat laporan kustom tentang informasi tingkat bisnis atau operasional.

Saat data melewati Apigee, beberapa jenis informasi default akan dikumpulkan, termasuk URL, IP, ID pengguna untuk informasi panggilan API, latensi, data error, dan sebagainya. Anda dapat membuat kebijakan untuk menambahkan informasi lain, seperti header, parameter kueri, dan bagian dari permintaan atau respons yang diekstrak dari XML atau JSON. Informasi ini dikumpulkan secara asinkron dari alur permintaan/respons yang sebenarnya sehingga tidak memengaruhi performa API.

UI Apigee memungkinkan Anda menampilkan beberapa metrik dan dimensi di browser, seperti yang ditampilkan dalam gambar berikut:

Dasbor analisis yang menunjukkan jumlah error kebijakan dalam bentuk grafik dan tabel.

Namun, Anda juga dapat mengakses dan mengontrol Layanan Analytics dengan antarmuka command line atau melalui RESTful API. Lihat ringkasan Analisis API untuk informasi selengkapnya.

Ekosistem developer Apigee

Apigee menyediakan layanan developer yang memungkinkan Anda untuk:

  • Kelola komunitas developer aplikasi yang menggunakan layanan Anda.
  • Bekerja samalah dengan developer internal dan eksternal serta memformalkan hubungan dengan model keuangan.
  • Lakukan orientasi untuk developer dan buat portal developer. Developer aplikasi terhubung ke portal Anda untuk mengakses dokumentasi API guna mempelajari lebih lanjut produk API yang tersedia untuk publik dan mengelola kunci API.

Setiap pelanggan Apigee dapat membuat portal developer mereka sendiri di cloud.

Apigee memungkinkan Anda membuat dua jenis portal: