Ringkasan Traffic Director
Dokumen ini ditujukan untuk administrator jaringan dan pemilik layanan yang ingin mempelajari Traffic Director beserta kemampuannya.
Traffic Director adalah bidang kontrol terkelola untuk jaringan aplikasi. Traffic Director memungkinkan Anda menghadirkan layanan global yang sangat tersedia dengan kemampuan jaringan aplikasi lanjutan seperti pengelolaan traffic dan kemampuan observasi.
Seiring bertambahnya jumlah layanan dan microservice dalam deployment, Anda biasanya akan mulai menghadapi tantangan umum pada jaringan aplikasi, seperti berikut:
- Bagaimana cara membuat layanan saya menjadi tangguh?
- Bagaimana cara mendapatkan traffic ke layanan saya, dan bagaimana layanan mengetahui dan berkomunikasi satu sama lain?
- Bagaimana cara memahami apa yang terjadi saat layanan saya saling berkomunikasi?
- Bagaimana cara mengupdate layanan tanpa berisiko mengalami pemadaman?
- Bagaimana cara mengelola infrastruktur yang memungkinkan deployment saya?
Traffic Director membantu Anda mengatasi jenis tantangan ini dalam deployment berbasis layanan yang modern. Traffic Director mengandalkan infrastruktur yang dikelola Google Cloud, sehingga Anda tidak perlu mengelola infrastruktur sendiri. Anda berfokus pada kode aplikasi pengiriman yang memecahkan masalah bisnis sekaligus mengizinkan Traffic Director mengelola kompleksitas jaringan aplikasi.
Traffic Director untuk mesh layanan
Pola umum untuk mengatasi tantangan jaringan aplikasi adalah dengan menggunakan mesh layanan. Traffic Director mendukung mesh layanan dan banyak pola deployment lainnya yang sesuai dengan kebutuhan Anda.
Dalam mesh layanan biasa, hal berikut berlaku:
- Anda akan men-deploy layanan ke cluster Kubernetes.
- Setiap Pod layanan memiliki proxy khusus (biasanya Envoy) yang berjalan sebagai proxy file bantuan.
- Setiap proxy file bantuan berkomunikasi dengan infrastruktur jaringan (bidang kontrol) yang diinstal di cluster Anda. Bidang kontrol memberi tahu proxy file bantuan tentang layanan, endpoint, dan kebijakan di mesh layanan Anda.
- Saat Pod mengirim atau menerima permintaan, permintaan tersebut mengarah ke proxy file bantuan Pod. Proxy file bantuan menangani permintaan, misalnya, dengan mengirimkannya ke tujuan yang dimaksudkan.
Pada diagram di dokumen ini dan dokumen Traffic Director lainnya, ikon merah muda enam sisi mewakili proxy. Bidang kontrol terhubung ke setiap
proxy dan memberikan informasi yang diperlukan proxy untuk menangani permintaan. Panah di antara kotak menunjukkan arus lalu lintas. Misalnya, kode aplikasi di Service A
akan mengirim permintaan. Proxy akan menangani permintaan dan meneruskannya ke Service B
.
Model ini memungkinkan Anda mengeluarkan logika jaringan dari kode aplikasi. Anda dapat berfokus untuk memberikan nilai bisnis sekaligus membiarkan infrastruktur Anda menangani jaringan aplikasi.
Perbedaan Traffic Director
Cara kerja Traffic Director mirip dengan model tersebut, tetapi cara kerjanya berbeda. Semuanya diawali dengan fakta bahwa Traffic Director adalah layanan yang dikelola Google Cloud. Anda tidak menginstalnya, cluster tidak berjalan di cluster Anda, dan Anda tidak perlu memeliharanya.
Pada diagram berikut, Traffic Director adalah bidang kontrol. Ada empat
layanan di cluster Kubernetes ini, masing-masing dengan proxy file bantuan yang
terhubung ke Traffic Director. {i>Traffic Director<i} memberikan informasi yang
diperlukan {i>proxy<i} untuk merutekan permintaan. Misalnya, kode aplikasi di Pod yang termasuk dalam Service A
akan mengirim permintaan. Proxy file bantuan yang berjalan bersama Pod ini menangani permintaan dan merutekannya ke Pod milik Service B
.
Lebih dari sekadar mesh layanan
Traffic Director mendukung lebih banyak jenis deployment dibandingkan mesh layanan biasa.
Kubernetes Multi-cluster
Dengan Traffic Director, Anda mendapatkan jaringan aplikasi yang berfungsi di seluruh cluster Kubernetes. Dalam diagram berikut, Traffic Director menyediakan
bidang kontrol untuk cluster Kubernetes di us-central1
dan europe-west1
.
Permintaan dapat diarahkan di antara tiga layanan di us-central1
, di antara
dua layanan di europe-west1
, dan antara layanan di dua cluster.
Mesh layanan Anda dapat mencakup beberapa cluster Kubernetes di berbagai region Google Cloud. Layanan di satu cluster dapat berkomunikasi dengan layanan di cluster lain. Anda bahkan dapat memiliki service yang terdiri dari Pod dalam beberapa cluster.
Dengan load balancing global berbasis kedekatan Traffic Director, permintaan yang ditujukan untuk Service B
akan dikirim ke Pod terdekat yang dapat menayangkan permintaan. Anda juga akan mendapatkan failover yang lancar. Jika Pod tidak aktif, permintaan akan otomatis beralih ke Pod lain yang dapat menayangkan permintaan tersebut, meskipun Pod ini berada di cluster Kubernetes yang berbeda.
Virtual machine
Kubernetes menjadi semakin populer, tetapi banyak workload di-deploy ke instance virtual machine (VM). Traffic Director juga dapat memecahkan masalah networking aplikasi untuk workload ini. Workload berbasis VM Anda juga mudah berinteraksi dengan workload berbasis Kubernetes.
Pada diagram berikut, traffic memasuki deployment Anda melalui
Load Balancer Aplikasi eksternal. Fungsi ini dirutekan ke Service A
di cluster Kubernetes di asia-southeast1
dan ke Service D
pada VM di europe-west1
.
Google menyediakan mekanisme yang lancar untuk menyiapkan workload berbasis VM dengan Traffic Director. Anda hanya menambahkan flag ke template instance VM Compute Engine, dan Google akan menangani penyiapan infrastruktur. Penyiapan ini termasuk menginstal dan mengonfigurasi proxy yang memberikan kemampuan jaringan aplikasi.
gRPC tanpa proxy
gRPC adalah framework RPC open source kaya fitur yang dapat Anda gunakan untuk menulis microservice berperforma tinggi. Dengan Traffic Director, Anda dapat dengan mudah menghadirkan kemampuan jaringan aplikasi (seperti penemuan layanan, load balancing, dan pengelolaan traffic) ke aplikasi gRPC. Untuk mengetahui informasi selengkapnya, lihat Traffic Director dan gRPC—layanan tanpa proxy untuk mesh layanan Anda.
Dalam diagram berikut, aplikasi gRPC mengarahkan traffic ke layanan berdasarkan cluster Kubernetes dalam satu region dan ke layanan yang berjalan pada VM di region yang berbeda. Dua layanan tersebut menyertakan proxy file bantuan, dan yang lainnya tanpa proxy.
Traffic Director mendukung layanan gRPC tanpa proxy. Layanan ini menggunakan versi terbaru library gRPC open source yang mendukung xDS API. Aplikasi gRPC Anda dapat terhubung ke Traffic Director dengan menggunakan xDS API yang sama dengan yang digunakan Envoy.
Setelah aplikasi Anda terhubung, library gRPC akan menangani fungsi jaringan aplikasi seperti penemuan layanan, load balancing, dan pengelolaan traffic. Fungsi ini terjadi secara native di gRPC, sehingga proxy layanan tidak diperlukan. Itulah sebabnya mengapa layanan ini disebut aplikasi gRPC proxyless.
Ingress dan gateway
Untuk banyak kasus penggunaan, Anda perlu menangani traffic yang berasal dari klien yang tidak dikonfigurasi oleh Traffic Director. Misalnya, Anda mungkin perlu memasukkan traffic internet publik ke microservice. Anda juga dapat mengonfigurasi load balancer sebagai reverse proxy yang menangani traffic dari klien sebelum mengirimkannya ke tujuan.
Dalam diagram berikut, Load Balancer Aplikasi eksternal memungkinkan traffic masuk untuk klien eksternal, dengan traffic yang dirutekan ke layanan di cluster Kubernetes. Load Balancer Aplikasi internal merutekan traffic internal ke layanan yang berjalan di VM.
Traffic Director bekerja sama dengan Cloud Load Balancing untuk memberikan pengalaman traffic masuk yang terkelola. Anda menyiapkan load balancer eksternal atau internal, lalu mengonfigurasi load balancer tersebut untuk mengirim traffic ke microservice. Pada diagram sebelumnya, klien internet publik menjangkau layanan Anda melalui Load Balancer Aplikasi eksternal. Klien, seperti microservice yang berada di jaringan Virtual Private Cloud (VPC) Anda, menggunakan Load Balancer Aplikasi internal untuk menjangkau layanan Anda.
Untuk beberapa kasus penggunaan, Anda dapat menyiapkan Traffic Director untuk mengonfigurasi gateway. Pada dasarnya, gateway adalah reverse proxy, yang biasanya menjalankan Envoy pada satu atau beberapa VM, yang memproses permintaan masuk, menanganinya, dan mengirimkannya ke tujuan. Tujuan dapat berada di region Google Cloud mana pun atau cluster Google Kubernetes Engine (GKE). Platform ini bahkan dapat menjadi tujuan di luar Google Cloud yang dapat dijangkau dari Google Cloud menggunakan konektivitas hybrid. Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan gateway, lihat Traffic masuk untuk mesh Anda.
Dalam diagram berikut, VM di region europe-west1
menjalankan proxy yang
bertindak sebagai gateway ke tiga layanan yang tidak menjalankan proxy. Traffic dari Load Balancer Aplikasi eksternal dan Load Balancer Aplikasi internal dirutekan ke gateway, lalu ke tiga layanan.
Beberapa lingkungan
Baik Anda memiliki layanan di Google Cloud, di infrastruktur lokal, di cloud lain, atau semua itu, tantangan dasar jaringan aplikasi Anda tetap sama. Bagaimana Anda mendapatkan traffic ke layanan ini? Bagaimana layanan ini berkomunikasi satu sama lain?
Dalam diagram berikut, Traffic Director merutekan traffic dari layanan
yang berjalan di Google Cloud ke Service G
, yang berjalan di cloud publik lain,
serta ke Service E
dan Service F
, keduanya berjalan di pusat data lokal.
Service A
, Service B
, dan Service C
menggunakan Envoy sebagai proxy file bantuan, sedangkan
Service D
adalah layanan gRPC tanpa proxy.
Saat menggunakan Traffic Director, Anda dapat mengirim permintaan ke tujuan di luar Google Cloud. Dengan demikian, Anda dapat menggunakan Cloud Interconnect atau Cloud VPN untuk merutekan traffic secara pribadi dari layanan di dalam Google Cloud ke layanan atau gateway di lingkungan lain.
Menyiapkan Traffic Director
Menyiapkan Traffic Director terdiri dari dua langkah. Setelah Anda menyelesaikan proses penyiapan, infrastruktur Anda akan menangani jaringan aplikasi, dan Traffic Director akan selalu mengupdate semuanya berdasarkan perubahan pada deployment Anda.
Men-deploy aplikasi Anda
Pertama, Anda men-deploy kode aplikasi ke container atau VM. Google menyediakan mekanisme yang memungkinkan Anda menambahkan infrastruktur jaringan aplikasi (biasanya proxy Envoy) ke instance VM dan Pod dengan mudah. Infrastruktur ini disiapkan untuk berbicara dengan Traffic Director dan mempelajari layanan Anda.
Mengonfigurasi Traffic Director
Selanjutnya, Anda akan mengonfigurasi layanan global dan menentukan cara penanganan traffic. Untuk mengonfigurasi Traffic Director, Anda dapat menggunakan konsol Google Cloud (untuk beberapa fitur dan konfigurasi), Google Cloud CLI, Traffic Director API, atau alat lain, seperti Terraform.
Setelah Anda menyelesaikan langkah-langkah ini, Traffic Director siap mengonfigurasi infrastruktur jaringan aplikasi Anda.
Infrastruktur menangani jaringan aplikasi
Saat aplikasi mengirimkan permintaan ke my-service
, infrastruktur jaringan
aplikasi Anda (misalnya, proxy file bantuan Envoy) akan menangani permintaan
sesuai dengan informasi yang diterima dari Traffic Director. Hal ini memungkinkan permintaan
untuk my-service
dirutekan dengan lancar ke instance aplikasi yang dapat
menerima permintaan.
Pemantauan dan update berkelanjutan
Traffic Director memantau instance aplikasi yang membentuk layanan Anda. Dengan pemantauan ini, Traffic Director dapat mengetahui apakah suatu layanan responsif atau bahwa kapasitas layanan telah berubah—misalnya, saat Pod Kubernetes baru dibuat. Berdasarkan informasi ini, Traffic Director terus mengupdate infrastruktur jaringan aplikasi Anda.
Fitur
Fitur Traffic Director memberikan kemampuan jaringan aplikasi ke microservice Anda. Beberapa hal penting dibahas di bagian ini.
Bidang kontrol, health check, dan load balancing yang terkelola sepenuhnya
Anda ingin menghabiskan waktu untuk menyampaikan nilai bisnis, bukan mengelola infrastruktur. Traffic Director adalah solusi terkelola sepenuhnya, sehingga Anda tidak perlu menginstal, mengonfigurasi, atau memperbarui infrastruktur. Anda akan mendapatkan manfaat dari infrastruktur yang sama yang digunakan Google untuk health check dan load balancing global.
Dibangun berdasarkan produk open source
Traffic Director menggunakan API bidang kontrol (xDS) yang sama dengan yang digunakan oleh project open source populer seperti Envoy dan Istio. Untuk melihat versi API yang didukung, lihat API bidang kontrol xDS.
Infrastruktur yang memberikan kemampuan jaringan aplikasi, baik Envoy maupun gRPC, bergantung pada kasus penggunaan Anda, juga merupakan open source, sehingga Anda tidak perlu khawatir terikat pada infrastruktur eksklusif.
Skala
Mulai dari solusi jaringan aplikasi satu kali hingga deployment mesh layanan masif dengan ribuan layanan, Traffic Director dibangun untuk memenuhi persyaratan penskalaan Anda.
Penemuan layanan dan pelacakan endpoint serta backend Anda
Saat aplikasi Anda mengirimkan permintaan ke my-service
, infrastruktur Anda
akan menangani permintaan tersebut dengan lancar dan mengirimkannya ke tujuan yang benar. Aplikasi
Anda tidak perlu mengetahui apa pun tentang alamat IP, protokol, atau
kompleksitas jaringan lainnya.
Load balancing dan failover global
Traffic Director menggunakan load balancing global dan health check Google untuk menyeimbangkan traffic secara optimal berdasarkan lokasi klien dan backend, jarak backend, kondisi, dan kapasitas. Anda meningkatkan ketersediaan layanan dengan membuat traffic akan otomatis digagalkan ke backend yang responsif dengan kapasitas. Anda dapat menyesuaikan load balancing untuk mendistribusikan traffic guna mendukung kebutuhan bisnis Anda dengan benar.
Pengelolaan traffic
Pengelolaan traffic lanjutan, termasuk manipulasi permintaan dan pemilihan rute (berdasarkan nama host, jalur, header, cookie, dan lainnya), memungkinkan Anda menentukan cara traffic mengalir di antara layanan Anda. Anda juga dapat menerapkan tindakan seperti percobaan ulang, pengalihan, dan pemisahan traffic berbasis bobot untuk deployment canary. Pola lanjutan seperti injeksi kesalahan, pencerminan traffic, dan deteksi pencilan memungkinkan kasus penggunaan DevOps yang meningkatkan ketahanan Anda.
Kemampuan observasi
Infrastruktur jaringan aplikasi Anda mengumpulkan informasi telemetri, seperti metrik, log, dan trace, yang dapat digabungkan secara terpusat di Kemampuan Observasi Google Cloud. Setelah informasi ini dikumpulkan, Anda bisa mendapatkan insight dan membuat pemberitahuan sehingga jika terjadi kesalahan, Anda akan mendapatkan pemberitahuan.
Kontrol Layanan VPC
Anda dapat menggunakan Kontrol Layanan VPC untuk memberikan keamanan tambahan bagi resource dan layanan aplikasi Anda. Anda dapat menambahkan project ke perimeter layanan yang melindungi resource dan layanan (seperti Traffic Director) dari permintaan yang berasal dari luar perimeter. Untuk mempelajari lebih lanjut Kontrol Layanan VPC, lihat ringkasan Kontrol Layanan VPC.
Untuk mempelajari lebih lanjut cara menggunakan Traffic Director dengan Kontrol Layanan VPC, lihat halaman Produk yang didukung.
Langkah selanjutnya
Untuk men-deploy Traffic Director:
- Untuk Compute Engine dengan VM, gunakan API perutean layanan.
- Untuk Google Kubernetes Engine dengan Pod, gunakan Gateway API.
Untuk menemukan kasus penggunaan dan pola arsitektur bagi layanan gRPC tanpa proxy, lihat Ringkasan layanan gRPC tanpa proxy.
Untuk mempelajari cara pengelolaan traffic memberi Anda kontrol atas cara penanganan traffic, baca Ringkasan pengelolaan traffic lanjutan.
Untuk mempelajari cara Traffic Director mendukung lingkungan selain Google Cloud, lihat dokumen berikut: