Apigee hybrid adalah platform untuk mengembangkan dan mengelola proxy API yang menampilkan model deployment hybrid. Model campuran mencakup platform pengelolaan yang dihosting oleh Apigee di Cloud dan platform runtime yang Anda instal dan kelola di salah satu platform Kubernetes yang didukung.
Mengelola semua API Anda di satu tempat |
Apigee hybrid membantu Anda mengelola API internal dan eksternal dengan Google Cloud. Dengan pengelolaan API terpadu, Anda dapat memberikan pengalaman program API yang konsisten kepada developer, partner, dan pelanggan. |
Keamanan dan kepatuhan alamat |
Jika pertimbangan kepatuhan dan keamanan membuat deployment on-premise menjadi wajib untuk aplikasi Anda, dengan gateway hybrid tingkat perusahaan, Anda dapat menghosting dan mengelola platform runtime hybrid Apigee di lokasi Anda. Anda mengelola dan mengontrol runtime, sehingga Anda dapat memanfaatkan infrastruktur kepatuhan, tata kelola, dan keamanan yang ada. |
Mendukung strategi multi-cloud Anda |
Menyeimbangkan biaya dan performa dapat mengarahkan Anda ke strategi campuran. Baik Anda baru saja menjelajahi berbagai penyedia cloud atau telah memilih strategi hibrida, platform pengelolaan API Anda harus memberikan fleksibilitas yang Anda butuhkan. Menghosting dan mengelola gateway hybrid kelas perusahaan di seluruh pusat data, Google Cloud, atau keduanya. |
Jika Anda ingin mempelajari lebih lanjut hybrid:
|
Jika Anda siap menginstal versi campuran:
|
Program API di dunia hybrid
Apigee hybrid terdiri dari bidang pengelolaan yang dikelola oleh Google dan bidang runtime yang Anda instal di platform Kubernetes yang didukung. Kedua platform tersebut menggunakan layanan Google Cloud Platform, seperti yang ditunjukkan pada gambar berikut:
Seperti yang dapat Anda lihat, hybrid terdiri dari komponen utama berikut:
- Plane pengelolaan yang dijalankan Apigee: Kumpulan layanan yang dihosting di cloud dan dikelola oleh Google. Layanan ini mencakup UI, API pengelolaan, dan analisis.
Bidang runtime yang dikelola pelanggan: Kumpulan layanan runtime dalam container yang Anda siapkan dan pertahankan di cluster Kubernetes Anda sendiri. Semua traffic API melewati dan diproses dalam platform runtime.
Anda mengelola runtime dalam container di cluster Kubernetes untuk mendapatkan ketangkasan yang lebih baik dengan peluncuran bertahap, penskalaan otomatis, dan manfaat operasional lainnya dari container.
- Google Cloud: Rangkaian layanan Cloud yang dihosting oleh Google.
Satu hal penting yang perlu diketahui tentang hybrid adalah semua traffic API diproses dalam batas jaringan Anda dan berada di bawah kontrol Anda, sementara layanan pengelolaan seperti UI dan analisis API berjalan di cloud dan dikelola oleh Google. Untuk informasi selengkapnya, lihat Di mana data Anda disimpan?
Video berikut memberikan pembahasan mendalam tentang arsitektur hybrid:
Tentang bidang runtime
Bidang runtime adalah serangkaian layanan runtime dalam penampung yang Anda siapkan dan pertahankan di cluster Kubernetes Anda sendiri yang berjalan di platform Kubernetes yang didukung. Semua traffic API melewati dan diproses dalam platform runtime. Platform runtime mencakup komponen utama berikut:
Bidang runtime berjalan di cluster Kubernetes yang berjalan di platform Kubernetes yang didukung yang Anda kelola.
Gambar berikut menunjukkan layanan utama yang dijalankan di platform runtime:
Untuk informasi umum tentang komponen runtime, lihat bagian berikut. Selain itu, lihat Ringkasan konfigurasi layanan runtime.
Bagian berikut menjelaskan setiap layanan platform runtime utama ini secara lebih mendetail.
Message Processor
Hybrid Message Processor (MP) menyediakan pemrosesan permintaan API dan eksekusi kebijakan di platform runtime. MP memuat semua proxy, resource, server target, sertifikat, dan keystore yang di-deploy dari penyimpanan lokal. Anda mengonfigurasi pengontrol Ingress Istio untuk mengekspos MP ke permintaan yang berasal dari luar cluster.
Synchronizer
Synchronizer mengambil data konfigurasi tentang lingkungan API dari platform pengelolaan dan menyebarkannya di seluruh platform runtime. Data yang didownload ini juga disebut kontrak dan disimpan di sistem file lokal.
Sinkronisasi secara berkala melakukan polling pada Server Pengelolaan untuk mendeteksi perubahan dan mendownload konfigurasi baru setiap kali perubahan terdeteksi. Data konfigurasi diambil dan disimpan secara lokal sebagai file JSON di sistem file lokal, tempat Pemroses Pesan dapat mengaksesnya.
Data konfigurasi yang didownload memungkinkan platform runtime berfungsi secara independen dari platform pengelolaan. Dengan kontrak ini, Pemroses Pesan di platform runtime menggunakan data yang disimpan secara lokal sebagai konfigurasinya. Jika koneksi antara platform pengelolaan dan runtime terputus, layanan di platform runtime akan terus berfungsi.
Data konfigurasi yang didownload oleh Synchronizer mencakup:
- Deployment alur bersama dan paket proxy
- Flow hook
- Informasi lingkungan
- Resource API bersama
- Definisi server target
- Setelan TLS
- Nama Peta Nilai Kunci (KVM)
- Masker data
Datastore Cassandra
Apache Cassandra adalah datastore runtime yang menyediakan persistensi data untuk platform runtime.
Cassandra adalah sistem data terdistribusi yang menyediakan persistensi data di platform runtime. Anda men-deploy database Cassandra sebagai kumpulan node StatefulSet di cluster Kubernetes. Menempatkan entity ini di dekat layanan pemrosesan runtime membantu mendukung persyaratan keamanan dan skalabilitas tinggi.
Database Cassandra menyimpan informasi tentang entity berikut:
- Sistem pengelolaan kunci (KMS)
- Peta Nilai Kunci (KVM)
- Cache respons
- OAuth
- Kuota
Management API untuk data Runtime (MART)
Data milik organisasi Anda dan diakses selama panggilan API runtime disimpan oleh Cassandra di platform runtime.
Data ini mencakup:
- Konfigurasi aplikasi
- Data Key Management System (KMS)
- Cache
- Peta Nilai Kunci (KVM)
- Produk API
- Aplikasi developer
Untuk mengakses dan memperbarui data tersebut—misalnya, untuk menambahkan KVM baru atau menghapus lingkungan—Anda dapat menggunakan UI campuran Apigee atau Apigee API. Server MART (Management API untuk data Runtime) memproses panggilan API terhadap datastore runtime.
Bagian ini menjelaskan peran yang dimainkan MART saat Anda memanggil Apigee API untuk mengakses datastore runtime.
Pengertian MART | Untuk memanggil Apigee API, Anda mengirim permintaan yang diautentikasi ke Server Pengelolaan (MS) di bidang pengelolaan. MS mengautentikasi dan memberikan otorisasi pada permintaan, lalu meneruskan permintaan ke MART di platform runtime. Terlampir pada permintaan tersebut adalah token yang dihasilkan MS menggunakan akun layanan yang telah dikonfigurasi sebelumnya. MART menerima permintaan, mengautentikasi, dan memberikan otorisasi, lalu melakukan validasi bisnis pada permintaan tersebut. (Misalnya, jika aplikasi adalah bagian dari produk API, MART akan memastikan bahwa aplikasi tersebut merupakan permintaan yang valid.) Setelah menentukan bahwa permintaan valid, MART akan memprosesnya. Cassandra menyimpan data runtime yang diproses MART (bagaimanapun, ini adalah runtime datastore). MART mungkin membaca data dari Cassandra atau memperbarui data tersebut, bergantung pada jenis permintaan. Seperti sebagian besar layanan campuran, MART bersifat stateless: tidak mempertahankan statusnya sendiri saat runtime. |
Yang bukan MART | Meskipun MART mengekspos port ke cloud publik, Anda tidak memanggil MART secara langsung. (Port harus diekspos agar MART dapat menerima panggilan dari MS melalui akun layanan.) Selain itu, MART tidak menerima panggilan runtime dari pelanggan Anda ke proxy API mereka; panggilan tersebut ditangani oleh pengontrol ingress dan dirutekan ke Pemroses Pesan cluster Anda. |
Perlu diperhatikan bahwa MART dan Message Processor memiliki akses ke datastore runtime yang sama (Cassandra), yang merupakan cara data seperti KMS, KVM, dan cache dibagikan.
Gambar berikut menunjukkan alur panggilan Apigee API:
UDCA
Universal Data Collection Agent (UDCA) adalah layanan yang berjalan dalam pod pengumpulan data di platform runtime yang mengekstrak data status analisis, debug, dan deployment, lalu mengirimkannya ke UAP.
Untuk informasi selengkapnya, lihat Pengumpulan data status deployment, analisis, dan debug.
Tentang bidang pengelolaan
Bidang pengelolaan berjalan di Google Cloud. Layanan ini mencakup layanan administratif seperti:
- UI campuran Apigee: Menyediakan UI bagi developer untuk membuat dan men-deploy proxy API, mengonfigurasi kebijakan, membuat produk API, dan membuat aplikasi developer. Administrator dapat menggunakan UI campuran Apigee untuk memantau status deployment.
- Apigee API: Menyediakan antarmuka terprogram untuk mengelola organisasi dan lingkungan Anda.
- Unified Analytics Platform (UAP): Menerima dan memproses data status deployment dan analisis dari platform runtime.
Gambar berikut menunjukkan layanan utama yang dijalankan di platform pengelolaan:
Tentang layanan Google Cloud
Tabel berikut menjelaskan layanan utama Google Cloud yang dimanfaatkan oleh hybrid:
Layanan Google Cloud | Deskripsi |
---|---|
Identitas | Autentikasi akun pengguna menggunakan akun Google Cloud. Otorisasi menggunakan akun layanan Google Cloud. |
Peran | Pengelolaan akses untuk hybrid menggunakan mesin peran Google, IAM, dan mendukung peran Apigee default. |
Hierarki Resource | Resource diatur dalam project Google Cloud (ditautkan ke organisasi Apigee). |
Stackdriver | Memberikan analisis data log dan metrik. |
Jenis pengguna
Apigee telah mengidentifikasi jenis utama pengguna hybrid berikut:
Peran | Tanggung jawab/tugas umum | Area minat |
---|---|---|
Administrator/operator sistem |
|
|
Developer |
|
|
Kelebihan
Apigee hybrid memiliki keunggulan berikut:
- Peningkatan ketangkasan
- Karena hybrid dikirimkan dan berjalan dalam container, Anda dapat mencapai peluncuran bertahap, penskalaan otomatis, dan manfaat operasional lainnya dari sistem dalam container.
- Mengurangi latensi
- Semua komunikasi dengan platform pengelolaan campuran bersifat asinkron dan tidak terjadi sebagai bagian dari pemrosesan permintaan API klien.
- Peningkatan adopsi API
- Meskipun API internal dapat diproses menggunakan Apigee, pengurangan latensi dan efisiensi yang dapat Anda capai dengan hybrid menjadikan pemrosesan API internal dengan hybrid sebagai opsi yang menarik. Sebagian efisiensi ini dicapai karena gateway API Anda berjalan di lokal, dekat dengan layanan backend Anda. Selain itu, jika menggunakan Apigee, Anda dapat meningkatkan penggunaan Apigee dengan memproses API internal melalui hybrid.
- Kontrol yang lebih besar
- Banyak perusahaan yang memulai strategi hybrid. Kemampuan untuk mengelola runtime API yang di-deploy di pusat data pribadi adalah persyaratan utama bagi perusahaan besar. Saat ini, platform runtime campuran dapat di-deploy ke Google Cloud atau di pusat data Anda sendiri.
Langkah berikutnya
Lihat Gambaran Besar—ringkasan proses penginstalan campuran.