Cloud Service Mesh dengan Google Cloud fitur yang didukung API

Dokumen ini merangkum fitur yang tersedia di Cloud Service Mesh.

Cloud Service Mesh terdiri dari aplikasi Anda, bidang data yang kompatibel dengan xDS (proxy Envoy open source atau bidang data tanpa proxy gRPC), dan Cloud Service Mesh sebagai bidang kontrol Anda.

Dalam tabel berikut, nilai T/A (tidak berlaku) berarti fitur tidak dapat didukung karena tidak kompatibel dengan konfigurasi Cloud Service Mesh tertentu. Ruang kosong, tanpa tanda centang atau N/A, berarti fitur tidak didukung.

Beberapa fitur ini hanya tersedia dengan API load balancing. Sebaiknya gunakan API perutean layanan dan jangan membuat deployment baru menggunakan API load balancing.

Versi xDS yang didukung

Cloud Service Mesh menggunakan API bidang kontrol xDS open source untuk mengonfigurasi klien gRPC tanpa proxy dan Envoy. Klien ini bertindak atas nama kode aplikasi Anda untuk memberikan kemampuan jaringan aplikasi Cloud Service Mesh.

Hanya xDS v3 yang didukung. Bermigrasi ke xDS v3 jika Anda menggunakan xDS v2. Untuk mengetahui informasi tentang cara bermigrasi, lihat Bermigrasi dari xDS v2 ke xDS v3.

Platform untuk menjalankan layanan mesh

Anda dapat menjalankan aplikasi di platform berikut dan mengadopsinya ke dalam mesh layanan global yang dikonfigurasi oleh Cloud Service Mesh.

Fitur Didukung
Instance virtual machine (VM) Compute Engine โœ”
Instance penampung Google Kubernetes Engine (GKE) โœ”
Instance container Kubernetes di Compute Engine โœ”

Pengelolaan layanan

Layanan dalam mesh yang dikonfigurasi Cloud Service Mesh mendapatkan manfaat dari hal berikut:

  • Penemuan layanan. Saat aplikasi di mesh Anda ingin menjangkau aplikasi lain, aplikasi tersebut dapat memanggil layanan tersebut berdasarkan nama.

  • Penskalaan otomatis backend. Instance yang menjalankan kode aplikasi Anda akan di-scaling naik atau turun secara dinamis berdasarkan kebutuhan Anda.

  • Pendaftaran endpoint otomatis. Saat instance baru dibuat atau dihapus, instance tersebut akan otomatis dikaitkan dengan layanan Anda.

Fitur Didukung
Deployment otomatis proxy sidecar untuk VM Compute Engine โœ”
Injeksi otomatis proxy sidecar untuk Pod GKE โœ”
Penemuan layanan berdasarkan nama host โœ”
Penskalaan otomatis instance berdasarkan pemakaian CPU โœ”
Penskalaan otomatis instance berdasarkan beban traffic/kapasitas penayangan
(Khusus VM Compute Engine dalam grup instance terkelola, atau MIG)
โœ”
Pemulihan otomatis instance berdasarkan health check yang dapat dikonfigurasi โœ”
Pendaftaran endpoint otomatis untuk VM Compute Engine โœ”
Pendaftaran endpoint otomatis untuk instance/Pod container GKE โœ”
API untuk menambahkan atau menghapus endpoint secara terprogram โœ”

Endpoint untuk traffic bidang data Anda

Microservice menggunakan data plane untuk menjangkau layanan di mesh Anda dan di luar mesh Anda. Cloud Service Mesh memungkinkan Anda memisahkan logika aplikasi dari logika jaringan sehingga aplikasi Anda hanya perlu mengirim permintaan ke data plane (misalnya, proxy sidecar yang berjalan bersama aplikasi). Kemudian, bidang data mengirim permintaan ke endpoint yang benar.

Dalam tabel berikut, aplikasi yang dijelaskan sebagai berada di mesh adalah aplikasi yang menggunakan bidang data yang dikelola Cloud Service Mesh untuk berkomunikasi dengan layanan lain. Aplikasi tersebut dapat mengirim traffic ke layanan dalam mesh dan layanan di luar mesh.

Fitur Didukung
Aplikasi berbasis VM di mesh โœ”
Aplikasi berbasis container dalam mesh โœ”
Aplikasi berbasis VM di luar mesh โœ”
Aplikasi berbasis container di luar mesh โœ”
Aplikasi yang berjalan di pusat data lokal โœ”
Aplikasi di lingkungan multicloud โœ”

Topologi bidang data

Dalam model service mesh, aplikasi Anda menggunakan bidang data untuk berkomunikasi. Bidang data ini sering kali terdiri dari proxy file bantuan yang di-deploy bersama aplikasi Anda. Cloud Service Mesh sangat fleksibel dan mendukung topologi bidang data yang sesuai dengan kebutuhan jaringan layanan Anda.

Fitur Didukung
Proxy sidecar yang berjalan bersama aplikasi โœ”
Aplikasi gRPC tanpa proxy โœ”
Proxy tengah antara dua aplikasi dalam mesh โœ”
Proxy edge di batas mesh Anda โœ”
Mesh yang mencakup beberapa cluster GKE dan/atau VM Compute Engine di beberapa region โœ”

Konfigurasi terprogram yang didorong API

Semua konfigurasi diekspos melalui REST API dan dasbor kami secara langsung, sehingga Anda dapat mengotomatiskan perubahan di seluruh tim besar dan mengelola perubahan secara terprogram. Beberapa fitur tidak dapat dikonfigurasi menggunakan konsol Google Cloud .

Fitur Didukung
REST API โœ”
Google Cloud console โœ”
Google Cloud CLI โœ”
Cloud Deployment Manager โœ”
Dukungan Terraform โœ”

Dukungan bahasa dengan aplikasi gRPC tanpa proxy

Anda dapat membuat aplikasi gRPC tanpa proxy yang berfungsi dengan Cloud Service Mesh menggunakan bahasa pemrograman berikut. Fitur mesh layanan yang didukung dalam berbagai penerapan dan versi gRPC tercantum di GitHub.

Bahasa Didukung
Java โœ”
Go โœ”
C++ โœ”
Python โœ”
Ruby โœ”
PHP โœ”
Node โœ”

Meminta protokol

Aplikasi dapat menggunakan protokol permintaan berikut saat menggunakan bidang data yang dikonfigurasi Cloud Service Mesh untuk berkomunikasi.

Fitur Didukung
HTTP โœ”
HTTPS โœ”
HTTP/2 โœ”
TCP โœ”
gRPC โœ”

Keamanan layanan

Cloud Service Mesh mendukung keamanan layanan dengan konfigurasi berikut.

Fitur Envoy gRPC
TLS dengan Pod GKE โœ” โœ”
mTLS dengan Pod GKE โœ” โœ”
Kontrol akses dan otorisasi โœ” โœ”
Pembatasan kapasitas dengan Google Cloud Armor โœ”

Pemilihan rute dan pengelolaan traffic

Cloud Service Mesh mendukung kebijakan pengelolaan traffic lanjutan yang dapat Anda gunakan untuk mengarahkan, membagi, dan membentuk traffic saat melewati bidang data Anda.

Beberapa fitur pengelolaan traffic lanjutan tidak tersedia dengan layanan gRPC tanpa proxy, dan tidak ada fitur pengelolaan traffic lanjutan yang tersedia dengan resource proxy TCP target.

Fitur berikut tidak didukung saat Cloud Service Mesh menangani traffic TCP (non-HTTP(S)).

Fitur Didukung dengan proxy Envoy yang dikonfigurasi untuk menangani traffic HTTP(S) atau gRPC Didukung dengan gRPC tanpa proxy
Perutean permintaan HTTP/Lapisan 7 berdasarkan kecocokan akhiran/awalan/penuh/regex pada:
โ€ข Nama host โœ” โœ”
โ€ข Jalur โœ” โœ”
โ€ข Header โœ” โœ”
โ€ข Metode โœ” T/A
โ€ข Cookie โœ” โœ”
โ€ข Parameter permintaan โœ” T/A
Injeksi kesalahan โœ” โœ”
Waktu tunggu yang dapat dikonfigurasi โœ” T/A
Lihat Durasi streaming maksimum.
Upaya coba lagi โœ” โœ”
Kecuali waktu tunggu per coba ulang
Pengalihan โœ”
Penulisan ulang URI โœ”
Transformasi header permintaan/respons โœ”
Pemisahan traffic โœ” โœ”
Duplikasi traffic โœ”
Deteksi outlier โœ” โœ”
Pemecahan sirkuit โœ” โœ”
Hanya maxRequests
Durasi streaming maksimum โœ” โœ”

Load balancing

Anda dapat mengonfigurasi metode dan algoritma load balancing lanjutan untuk menyeimbangkan beban di tingkat layanan, grup backend (grup instance atau grup endpoint jaringan), dan backend atau endpoint individual. Untuk mengetahui informasi selengkapnya, lihat Ringkasan layanan backend dan Ringkasan load balancing lanjutan.

Fitur Didukung dengan proxy Envoy yang dikonfigurasi untuk menangani traffic HTTP(s), TCP, atau gRPC Didukung dengan gRPC tanpa proxy
Pemilihan backend (grup instance atau grup endpoint jaringan) berdasarkan region (lebih memilih region terdekat dengan kapasitas backend yang sehat) โœ” โœ”
Pemilihan backend menggunakan mode load balancing berbasis kecepatan (permintaan per detik). โœ”
Tidak didukung dengan traffic TCP (non-HTTP(S)).
โœ”
Pemilihan backend berdasarkan mode load balancing berbasis pemanfaatan (khusus VM dalam grup instance Compute Engine) โœ” โœ”
Kapasitas maksimum yang dapat dikonfigurasi per backend (khusus Compute Engine dan GKE) โœ” โœ”

Pemilihan backend berdasarkan kebijakan load balancing yang dapat dikonfigurasi.

Untuk mengetahui informasi tentang setiap kebijakan bawaan, lihat localityLbPolicy.

  • Gunakan satu kebijakan bawaan; pilih dari opsi berikut:

    • Panggilan acak
    • Permintaan paling sedikit
    • Hash ring
    • Acak
    • Tujuan awal
    • Maglev

Ketahanan layanan

Cloud Service Mesh mendukung kemampuan yang membantu Anda meningkatkan ketahanan layanan. Misalnya, Anda dapat menggunakan Cloud Service Mesh untuk menerapkan pola deployment biru-hijau, pengujian canary, atau pemutusan koneksi (Envoy, gRPC).

Fitur Didukung dengan proxy Envoy yang dikonfigurasi untuk menangani traffic HTTP(s), TCP, atau gRPC Didukung dengan gRPC tanpa proxy
Pemilihan layanan berdasarkan pemisahan traffic berbasis bobot โœ” โœ”
Pemecahan sirkuit โœ” โœ”
Hanya maxRequests

Pengelolaan kapasitas layanan dan backend

Cloud Service Mesh mempertimbangkan kapasitas layanan dan backend untuk mempromosikan distribusi traffic yang optimal di seluruh backend layanan Anda. Cloud Service Mesh terintegrasi dengan infrastruktur Google Cloud sehingga secara otomatis mengumpulkan data kapasitas. Anda juga dapat menyetel dan mengonfigurasi kapasitas secara manual.

Fitur Didukung
Secara otomatis melacak kapasitas dan penggunaan backend, berdasarkan CPU, untuk instance VM dalam grup instance terkelola (MIG). โœ”
Kapasitas manual dan penggantian untuk instance VM dan container di MIG dan grup endpoint jaringan (NEG) berdasarkan kecepatan permintaan. โœ”
Pengurasan kapasitas manual. โœ”

Failover

Workload perusahaan umumnya mengandalkan deployment ketersediaan tinggi untuk meningkatkan waktu beroperasi layanan. Cloud Service Mesh mendukung jenis deployment ini dengan mengaktifkan redundansi multi-zona/multi-region.

Fitur Didukung
Failover otomatis ke zona lain dalam region yang sama yang memiliki kapasitas backend yang responsif. โœ”
Failover otomatis ke region terdekat dengan kapasitas backend yang responsif. โœ”

Health check

Cloud Service Mesh mendukung health check terpusat untuk menentukan kondisi backend.

Untuk informasi referensi, lihat Ringkasan health check.

Fitur Didukung
Health check gRPC โœ”
Health check HTTP โœ”
Health check HTTPS โœ”
Pemeriksaan kondisi HTTP/2 โœ”
Health check TCP โœ”

Health check yang dapat dikonfigurasi:

  • Port
  • Interval pemeriksaan
  • Waktu tunggu
  • Ambang batas responsif dan tidak responsif
โœ”
Jalur permintaan yang dapat dikonfigurasi (HTTP, HTTPS, HTTP/2) โœ”
String atau jalur permintaan yang dapat dikonfigurasi (TCP atau SSL) โœ”
String respons yang diharapkan dapat dikonfigurasi โœ”

Kemampuan observasi

Alat observasi memberikan informasi pemantauan, proses debug, dan performa untuk membantu Anda memahami mesh layanan. Kemampuan berikut disediakan secara default atau dikonfigurasi di bidang data Anda. Kode aplikasi Anda tidak perlu melakukan tindakan khusus untuk menghasilkan data kemampuan pengamatan ini.

Dasbor kesehatan layanan tersedia dengan layanan gRPC tanpa proxy, tetapi Anda tidak dapat mengonfigurasi logging dan pelacakan bidang data. Cloud Service Mesh tidak dapat mengonfigurasi logging dan tracing aplikasi gRPC. Anda dapat mengaktifkan logging dan tracing dengan mengikuti petunjuk di bagian pemecahan masalah atau panduan gRPC yang tersedia di situs open source. Misalnya, untuk mengaktifkan pengumpulan metrik dan pelacakan di layanan gRPC tanpa proxy, Anda dapat menggunakan OpenTelemetry.

Fitur Didukung dengan proxy Didukung dengan layanan gRPC tanpa proxy
Dasbor status layanan โœ” โœ”
Logging bidang data โœ” โœ”
Pelacakan bidang data โœ” โœ”

Afinitas sesi

Komunikasi klien-server sering kali melibatkan beberapa permintaan berturut-turut. Dalam kasus seperti itu, sebaiknya rute permintaan klien berturut-turut ke backend atau server yang sama. Cloud Service Mesh menyediakan opsi yang dapat dikonfigurasi untuk mengirim permintaan dari klien tertentu, berdasarkan upaya terbaik, ke backend yang sama selama backend tersebut berfungsi dengan baik dan memiliki kapasitas. Untuk mengetahui informasi selengkapnya, lihat Ringkasan layanan backend.

Fitur Didukung dengan proxy HTTP(S) Didukung dengan proxy TCP Didukung dengan layanan gRPC tanpa proxy
Alamat IP klien โœ” โœ”
Cookie HTTP โœ” T/A
Header HTTP โœ” T/A โœ”
Cookie yang dihasilkan (menetapkan cookie klien pada permintaan pertama) โœ” T/A

Topologi jaringan

Cloud Service Mesh mendukung topologi jaringan Google Cloud umum.

Fitur Didukung
Jaringan tunggal dalam project Google Cloud โœ”
Beberapa mesh dalam project Google Cloud โœ”
Beberapa gateway dalam Google Cloud project โœ”
VPC Bersama (satu jaringan yang dibagikan di beberapa Google Cloud project) โœ”

Untuk penjelasan mendetail tentang cara VPC Bersama didukung dengan Cloud Service Mesh, lihat Batasan.

Kepatuhan

Cloud Service Mesh mematuhi standar berikut.

Sertifikasi kepatuhan Didukung
HIPAA โœ”
ISO 27001, ISO 27017, ISO 27018 โœ”
SOC1, SOC2, SOC3 โœ”
PCI DSS โœ”

Langkah berikutnya