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?
Layanan perlu berkomunikasi satu sama lain.
Layanan harus saling berkomunikasi (klik untuk memperbesar)

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.

Mesh layanan standar.
Mesh layanan standar (klik untuk memperbesar)

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.

Contoh mesh layanan dengan Traffic Director.
Contoh mesh layanan dengan Traffic Director (klik untuk memperbesar)

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.

Contoh Kubernetes multi-cluster dengan Traffic Director.
Contoh Kubernetes multi-cluster dengan Traffic Director (klik untuk memperbesar)

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.

Contoh VM dan Kubernetes dengan Traffic Director.
Contoh VM dan Kubernetes dengan Traffic Director (klik untuk memperbesar)

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.

Contoh aplikasi gRPC tanpa proxy dengan Traffic Director.
Contoh aplikasi gRPC tanpa proxy dengan Traffic Director (klik untuk memperbesar)

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 dengan Cloud Load Balancing untuk traffic masuk.
Traffic Director dengan Cloud Load Balancing untuk traffic masuk (klik untuk memperbesar)

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.

Traffic Director digunakan untuk mengonfigurasi gateway.
Traffic Director digunakan untuk mengonfigurasi gateway (klik untuk memperbesar)

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.

Traffic Director digunakan untuk komunikasi di seluruh lingkungan.
Traffic Director yang digunakan untuk komunikasi di seluruh lingkungan (klik untuk memperbesar)

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 dengan SLA waktu beroperasi, sehingga Anda tidak perlu menginstal, mengonfigurasi, atau mengupdate 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