Caractéristiques de Traffic Director

Traffic Director vous aide à exécuter des microservices dans un maillage de services mondial. Le réseau maillé gère la mise en réseau de vos microservices afin que vous puissiez écrire du code d'application qui n'a pas besoin de connaître les complexités du réseau sous-jacent. Cette séparation de la logique d'application de la logique réseau vous permet d'améliorer votre vitesse de développement, d'augmenter la disponibilité des services et d'instaurer des pratiques DevOps modernes pour votre organisation.

Votre maillage de services comprend vos applications, un plan de données compatible xDS (généralement le proxy Open Source Envoy) et Traffic Director comme plan de contrôle du réseau maillé.

Pour déployer des services gRPC sans proxy avec Traffic Director dans votre maillage de services, vous pouvez utiliser une version compatible de gRPC.

Ce document récapitule les fonctionnalités disponibles dans Traffic Director. La valeur N/A (non applicable) signifie qu'une fonctionnalité ne peut pas être acceptée, car elle n'est pas compatible avec la configuration de Traffic Director particulière. Un espace vide, sans coche ou N/A signifie que la fonctionnalité n'est pas compatible mais qu'elle pourrait être disponible ultérieurement.

Plan de contrôle entièrement géré pour le maillage de services

Traffic Director est un service de plan de contrôle géré à disponibilité élevée qui s'exécute dans Google Cloud. Vous n'avez pas besoin d'installer ni de mettre à jour votre plan de contrôle. Vous disposez donc d'un composant de moins à gérer dans votre infrastructure de maillage de services.

Versions xDS compatibles

Traffic Director utilise des API Open Source de plan de contrôle xDS pour configurer les clients gRPC sans proxy et Envoy. Ces clients agissent au nom du code de votre application afin de fournir les fonctionnalités de mise en réseau des applications de Traffic Director.

Version Assistance
xDS v2 Disponibilité générale. Certaines fonctionnalités, telles que la sécurité des services, ne sont disponibles qu'avec xDS v3. xDS v2 ne sera plus pris en charge à partir du 20 juin 2024.
xDS v3 Disponibilité générale

Plates-formes permettant d'exécuter des services de réseau maillé

Vous pouvez exécuter des applications sur les plates-formes suivantes et les adopter dans un maillage de services mondial configuré par Traffic Director.

Caractéristique Compatible
Instances de machine virtuelle (VM) Compute Engine
Instances de conteneur Google Kubernetes Engine (GKE)
Instances de conteneur Kubernetes sur Compute Engine

Gestion des services

Les services d'un maillage configurés par Traffic Director bénéficient des avantages suivants :

  • Détection de services. Lorsqu'une application dans votre réseau maillé souhaite communiquer avec une autre application, elle peut appeler ce service par son nom.

  • Autoscaling du backend : Les instances qui exécutent votre code d'application évoluent de manière dynamique en fonction de vos besoins.

  • Enregistrement automatique des points de terminaison : Les nouvelles instances créées ou supprimées sont automatiquement associées à votre service.

Caractéristique Compatible
Déploiement automatisé de proxys side-car pour les VM Compute Engine
Injection automatisée de proxys side-car pour les pods GKE
Détection de services basée sur le nom d'hôte
Autoscaling d'instances basé sur l'utilisation du processeur
Autoscaling d'instances basé sur la capacité de charge/diffusion du trafic
(VM Compute Engine dans les groupes d'instances gérés, ou MIG, uniquement)
Autoréparation d'instances basée sur des vérifications d'état configurables
Enregistrement automatique des points de terminaison pour les VM Compute Engine
Enregistrement automatique des points de terminaison pour les instances/pods de conteneurs GKE
Associer des services dans l'Annuaire des services à un service de backend
API permettant d'ajouter ou de supprimer des points de terminaison par programmation

Points de terminaison pour le trafic de votre plan de données

Les microservices utilisent le plan de données pour accéder aux services de votre réseau maillé, ainsi qu'à l'extérieur de celui-ci. Traffic Director vous permet de séparer la logique de l'application de la logique de mise en réseau, afin que votre application n'ait besoin que d'envoyer des requêtes au plan de données (par exemple, le proxy side-car exécuté avec l'application). Le plan de données envoie ensuite les requêtes au point de terminaison approprié.

Dans le tableau suivant, les applications décrites comme faisant partie du réseau maillé sont celles qui utilisent le plan de données géré par Traffic Director pour communiquer avec d'autres services. Ces applications peuvent envoyer du trafic vers des services intégrés, ainsi que vers des services en dehors du réseau maillé.

Caractéristique Compatible
Applications basées sur des VM dans le réseau maillé
Applications basées sur des conteneurs dans le réseau maillé
Applications basées sur des VM en dehors du réseau maillé
Applications basées sur des conteneurs en dehors du réseau maillé
Applications s'exécutant dans des centres de données sur site
Applications dans des environnements multicloud
Points de terminaison dans l'Annuaire des services

Topologies de plans de données

Dans le modèle de maillage de services, vos applications communiquent via un plan de données. Ce plan de données se compose souvent de proxys side-car déployés avec vos applications. Traffic Director est extrêmement flexible et accepte les topologies de plans de données qui répondent aux besoins de votre réseau de services.

Caractéristique Compatible
Proxys side-car s'exécutant à côté des applications
Applications gRPC sans proxy
Proxys intermédiaires entre deux applications dans un réseau maillé
Proxys de périphérie à la limite de votre réseau maillé
Réseau maillé couvrant plusieurs clusters GKE et/ou VM Compute Engine dans plusieurs régions

Configuration programmatique basée sur l'API

Toute la configuration est prête à l'emploi et exposée via l'API REST et le tableau de bord, ce qui vous permet d'automatiser les modifications au sein d'équipes importantes et de les gérer par programmation. Certaines fonctionnalités ne peuvent pas être configurées à l'aide de la console Google Cloud.

Caractéristique Compatible
API REST
Console Google Cloud
Google Cloud CLI
Cloud Deployment Manager
Compatibilité avec Terraform

Compatibilité des langages avec les applications gRPC sans proxy

Vous pouvez créer des applications gRPC sans proxy qui fonctionnent avec Traffic Director à l'aide des langages de programmation ci-après. Les fonctionnalités du maillage de services compatibles avec diverses mises en œuvre et versions de gRPC sont répertoriées sur GitHub.

Langue Compatible
Java
Go
C++
Python
Ruby
PHP
Nœud

Protocoles de requête

Les applications peuvent utiliser les protocoles de requêtes suivants lorsqu'elles communiquent via le plan de données configuré par Traffic Director.

Caractéristique Compatible
HTTP
HTTPS
HTTP/2
TCP
gRPC

Sécurité des services

Traffic Director est compatible avec la sécurité des services avec les configurations suivantes.

Caractéristique Envoy gRPC
TLS avec des pods GKE
mTLS avec des pods GKE
Contrôle des accès et autorisations

Routage et gestion du trafic

Traffic Director est compatible avec les règles de gestion avancée du trafic que vous pouvez utiliser pour orienter, répartir et configurer le trafic lorsqu'il transite par votre plan de données.

Certaines fonctionnalités avancées de gestion du trafic ne sont pas disponibles avec les services gRPC sans proxy, et aucune d'elles n'est disponible avec la ressource de proxy TCP cible.

Les fonctionnalités suivantes ne sont pas compatibles lorsque Traffic Director gère du trafic TCP (non-HTTP(S)).

Caractéristique Compatible avec le proxy Envoy configuré pour gérer le trafic HTTP ou gRPC Compatible avec les services gRPC sans proxy
Routage des requêtes HTTP/de couche 7 basé sur la correspondance de suffixe/préfixe/complète/expression régulière sur :
• Nom d'hôte
• Chemin d'accès
• En-têtes
• Méthode Non disponible
• Cookies
• Paramètres de requête Non disponible
Injection de pannes
Délais avant expiration configurables N/A
Consultez la durée maximale du flux.
Tentatives
Sauf délai avant nouvelle tentative
Redirections
Réécritures de l'URI
Transformations d'en-tête de requête/réponse
Répartition du trafic
Mise en miroir du trafic
Détection des anomalies
Ruptures de circuit
Seulement pour maxRequests
Durée maximale du flux

Équilibrage de charge

Vous pouvez configurer des algorithmes et des méthodes d'équilibrage de charge avancés pour équilibrer la charge au niveau du service, du groupe backend (groupes d'instances ou de points de terminaison du réseau) et du backend ou du point de terminaison. Pour en savoir plus, consultez la page Comprendre les services de backend.

Caractéristique Compatible avec le proxy Envoy configuré pour gérer le trafic HTTP(S), TCP ou gRPC Compatible avec les services gRPC sans proxy
Sélection du backend (groupe d'instances ou groupe de points de terminaison du réseau) en fonction de la région (préférez la région la plus proche avec une capacité de backend opérationnelle)
Sélection du backend à l'aide du mode d'équilibrage basé sur le taux (requêtes par seconde)
Non compatible avec le trafic TCP (autre que HTTP(S)).
Sélection du backend en fonction du mode d'équilibrage basé sur l'utilisation (VM dans les groupes d'instances Compute Engine uniquement)
Capacité maximale configurable par backend (Compute Engine et GKE uniquement)

Sélection du backend en fonction de règles d'équilibrage de charge configurables.

Pour en savoir plus sur chaque règle intégrée, consultez localityLbPolicy.

  • Utilisez une règle intégrée unique. Choisissez l'une des options suivantes:

    • Round robin (à tour de rôle)
    • Plus faible nombre de requêtes
    • Hachage d'anneau
    • Aléatoire
    • Destination d'origine
    • Maglev

Résilience des services

Traffic Director est compatible avec des fonctionnalités qui vous aident à améliorer la résilience de vos services. Par exemple, vous pouvez utiliser Traffic Director pour mettre en œuvre un modèle de déploiement bleu/vert, des tests en version Canary ou une rupture de circuit (Envoy, gRPC).

Caractéristique Compatible avec le proxy Envoy configuré pour gérer le trafic HTTP(S), TCP ou gRPC Compatible avec les services gRPC sans proxy
Sélection de services basée sur la répartition du trafic en fonction d'une pondération
Ruptures de circuit
Seulement pour maxRequests

Gestion de la capacité des services et des backends

Traffic Director tient compte de la capacité des services et des backends pour garantir une répartition optimale du trafic sur les backends de vos services. Traffic Director est intégré à l'infrastructure Google Cloud de façon à collecter automatiquement les données de capacité. Vous pouvez également définir et configurer manuellement la capacité.

Caractéristique Compatible
Effectue automatiquement un suivi de la capacité et de l'utilisation du backend, en fonction du processeur, pour les instances de VM d'un groupe d'instances géré (MIG).
Capacité et remplacements manuels pour les instances de VM et de conteneur dans les MIG et les groupes de points de terminaison du réseau (NEG) en fonction du taux de requêtes.
Drainage de la capacité manuelle.

Basculement

Les charges de travail d'entreprise reposent généralement sur des déploiements à haute disponibilité pour garantir la disponibilité des services. Traffic Director accepte ces types de déploiements en activant la redondance multizone/multirégionale.

Caractéristique Compatible
Basculement automatique vers une autre zone de la même région dont la capacité de backend est opérationnelle.
Basculement automatique vers la région la plus proche avec une capacité de backend opérationnelle.

Vérifications d'état

Traffic Director accepte la vérification d'état centralisée pour déterminer l'état du backend. Toutefois, vous ne pouvez pas définir de vérification d'état lorsqu'un service de backend contient une liaison de service pour un service de l'Annuaire des services.

Pour en savoir plus, consultez la page Présentation des vérifications d'état.

Caractéristique Compatible
Vérifications de l'état gRPC
Vérifications d'état HTTP
Vérifications d'état HTTPS
Vérifications d'état HTTP/2
Vérifications d'état TCP

Vérifications d'état configurables :

  • Port
  • Intervalle entre deux tests
  • Délais avant expiration
  • Seuils opérationnels et défaillants
Chemin de requête configurable (HTTP, HTTPS, HTTP/2)
Chaîne ou chemin de requête configurable (TCP ou SSL)
Chaîne de réponse attendue configurable

Observabilité

Les outils d'observabilité fournissent des informations de surveillance, de débogage et de performances pour vous aider à comprendre votre maillage de services. Les fonctionnalités suivantes sont fournies par défaut ou configurées dans votre plan de données. Votre code d'application ne nécessite aucune action particulière pour générer ces données d'observabilité.

Le tableau de bord d'état du service est disponible avec les services gRPC sans proxy, mais vous ne pouvez pas configurer les fonctionnalités de journalisation et de traçage du plan de données. Traffic Director ne permet pas de configurer les fonctionnalités de journalisation et de traçage d'une application gRPC. Pour activer la journalisation et le traçage, suivez les instructions fournies dans les sections de dépannage ou les guides gRPC disponibles sur les sites Open Source. Par exemple, pour activer la collecte et le traçage des métriques dans vos services gRPC sans proxy, vous pouvez utiliser Opencensus.

Caractéristique Compatible avec les proxys Compatible avec les services gRPC sans proxy
Tableau de bord de l'état du service
Journalisation du plan de données
Traçage du plan de données

Affinité de session

Les communications client-serveur impliquent souvent plusieurs requêtes successives. Dans ce cas, il est utile d'acheminer les requêtes client successives vers le même backend ou le même serveur. Traffic Director fournit des options configurables permettant, autant que possible, d'envoyer les requêtes d'un client donné au même backend, à condition que le backend soit opérationnel et dispose de la capacité requise. Pour en savoir plus, consultez la page Comprendre les services de backend.

Caractéristique Compatible avec les proxys HTTP(S) Compatible avec les proxys TCP Compatible avec les services gRPC sans proxy
Adresse IP du client
Cookie HTTP Non disponible
En-tête HTTP Non disponible
Cookies générés (définit le cookie du client à la première requête) Non disponible

Topologies de réseaux

Traffic Director est compatible avec les topologies de réseaux Google Cloud courantes.

Caractéristique Compatible
Réseau unique dans un projet Google Cloud
Plusieurs réseaux maillés dans un projet Google Cloud
Plusieurs passerelles dans un projet Google Cloud
VPC partagé (réseau unique partagé entre plusieurs projets Google Cloud)

Pour obtenir une explication détaillée de la compatibilité du VPC partagé avec Traffic Director, consultez la section Limites.

Conformité

Traffic Director est conforme aux normes suivantes.

Certification de conformité Compatible
HIPAA
ISO 27001, ISO 27017, ISO 27018
SOC1, SOC2, SOC3
PCI DSS

Étapes suivantes