Présentation de Cloud Service Mesh

Cloud Service Mesh est un maillage de services disponible sur Google Cloud et sur les plates-formes GKE Enterprise compatibles. Il est compatible avec des services exécutés sur différentes infrastructures informatiques. Cloud Service Mesh est contrôlé par des API conçues pour Google Cloud, pour l'Open Source ou pour les deux.

Ce document s'adresse à vous si vous êtes un nouvel utilisateur de Cloud Service Mesh, ou si vous continuez d'utiliser Anthos Service Mesh ou Traffic Director.

Qu'est-ce qu'un maillage de services ?

Un maillage de services est une architecture qui permet une communication gérée, observable et sécurisée entre vos services. Vous pouvez ainsi créer plus facilement des applications d'entreprise robustes, composées de nombreux microservices sur l'infrastructure de votre choix. Les maillages de services gèrent les exigences courantes de l'exécution d'un service, telles que la surveillance, la mise en réseau et la sécurité, à l'aide d'outils cohérents et performants, ce qui permet aux développeurs et aux opérateurs de services de se concentrer sur la création et la gestion d'applications de qualité pour leurs utilisateurs.

Sur le plan architectural, un maillage de services se compose d'un ou de plusieurs plans de contrôle et d'un plan de données. Le maillage de services surveille l'ensemble du trafic entrant et sortant pour vos services. Sur Kubernetes, un proxy est déployé par un modèle side-car sur les microservices du maillage. Sur Compute Engine, vous pouvez déployer des proxys sur des VM ou utiliser gRPC sans proxy pour le plan de données.

Ce modèle dissocie l'application ou la logique métier des fonctions réseau et permet aux développeurs de se concentrer sur les fonctionnalités dont l'entreprise a besoin. Les maillages de services permettent également aux équipes chargées des opérations et du développement de dissocier leur travail les unes des autres.

Concevoir une architecture basée sur des microservices pour vos applications présente de nombreux avantages. Cependant, vos charges de travail peuvent devenir plus complexes et fragmentées à mesure qu'elles évoluent. Le maillage de services permet de résoudre le problème de fragmentation et facilite la gestion de vos microservices.

Qu'est-ce que Cloud Service Mesh ?

Cloud Service Mesh est la solution de Google pour les environnements Google Cloud et GKE Enterprise compatibles.

  • Sur Google Cloud: Cloud Service Mesh fournit des API spécifiques à l'infrastructure informatique sur laquelle vos charges de travail s'exécutent.
  • En dehors de Google Cloud: avec Distributed Cloud Virtual ou le multicloud GKE, Cloud Service Mesh est compatible avec les API Istio pour les charges de travail Kubernetes.

Que ce soit sur Google Cloud ou en dehors, Cloud Service Mesh vous permet de gérer, d'observer et de sécuriser vos services sans avoir à modifier le code de votre application.

Cloud Service Mesh réduit la charge de travail de vos équipes chargées des opérations et du développement en simplifiant la prestation de services, qu'il s'agisse de la gestion du trafic, de la télémétrie du maillage, ou encore de la sécurisation des communications entre les services. Le maillage de services entièrement géré de Google vous permet de gérer des environnements complexes et de bénéficier des avantages qu'ils vous offrent.

Fonctionnalités

Cloud Service Mesh dispose d'une suite de fonctionnalités pour la gestion du trafic, l'observabilité, la télémétrie et la sécurité.

Gestion du trafic

Cloud Service Mesh contrôle le flux de trafic entre les services du maillage, dans le maillage (entrée) et vers les services externes (sortie). Vous configurez et déployez des ressources pour gérer ce trafic au niveau de la couche d'application (L7). Par exemple, vous pouvez effectuer les opérations suivantes :

  • Utiliser la détection de services
  • Configurer l'équilibrage de charge entre les services
  • Créer des déploiements Canary et bleu-vert
  • Contrôlez précisément le routage de vos services.
  • Installez des disjoncteurs.

Cloud Service Mesh conserve une liste de tous les services du maillage, par nom et par leurs points de terminaison respectifs. Il tient à jour cette liste pour gérer le flux de trafic (par exemple, les adresses IP des pods Kubernetes ou les adresses IP des VM Compute Engine dans un groupe d'instances géré). En utilisant ce registre de services et en exécutant les proxys côte à côte avec les services, le maillage peut diriger le trafic vers le point de terminaison approprié. Les charges de travail gRPC sans proxy peuvent également être utilisées en parallèle avec des charges de travail utilisant des proxys Envoy.

Informations sur l'observabilité

L'interface utilisateur de Cloud Service Mesh dans la console Google Cloud fournit des insights sur votre maillage de services. Ces métriques sont générées automatiquement pour les charges de travail configurées via les API Istio.

  • Les métriques de service et les journaux du trafic HTTP dans le cluster GKE de votre maillage sont automatiquement ingérés dans Google Cloud.
  • Les tableaux de bord des services préconfigurés vous fournissent les informations dont vous avez besoin pour comprendre vos services.
  • La télémétrie en profondeur, fournie par Cloud Monitoring, Cloud Logging et Cloud Trace, vous permet d'examiner en détail les métriques et les journaux de vos services. Vous pouvez filtrer et segmenter vos données en fonction d'une grande variété d'attributs.
  • Les relations de service à service vous permettent de comprendre en un coup d'œil les dépendances interservices et qui se connecte à chaque service.
  • Vous pouvez rapidement visualiser la stratégie de sécurité des communications de votre service, mais aussi ses relations avec d'autres services.
  • Les objectifs de niveau de service (SLO, Service Level Objective) vous donnent un aperçu de l'état de vos services. Vous pouvez définir un SLO et une alerte en fonction de vos propres normes d'état de service.

Pour en savoir plus sur les fonctionnalités d'observabilité de Cloud Service Mesh, consultez notre guide d'observabilité.

Avantages de sécurité

Cloud Service Mesh offre de nombreux avantages en termes de sécurité.

  • Atténue le risque de nouvelle lecture ou d'usurpation d'identité qui utilisent des identifiants volés. Cloud Service Mesh s'appuie sur des certificats TLS mutuels (mTLS) pour authentifier les pairs, plutôt que sur des jetons de support tels que les jetons Web JSON (JWT).
  • Assure le chiffrement en transit. L'utilisation de mTLS pour l'authentification garantit également que toutes les communications TCP sont chiffrées en transit.
  • Atténue le risque que des clients non autorisés puissent accéder à un service avec des données sensibles, quels que soient l'emplacement réseau du client et les identifiants au niveau de l'application.
  • Atténue le risque de violation des données utilisateur sur votre réseau de production. Vous pouvez vous assurer que les initiés ne peuvent accéder aux données sensibles que via des clients autorisés.
  • Identifie les clients ayant accédé à un service avec des données sensibles. La journalisation des accès à Cloud Service Mesh capture l'identité mTLS du client en plus de l'adresse IP.
  • Tous les composants du plan de contrôle intégrés au cluster sont dotés de modules de chiffrement certifiés FIPS 140-2.

Pour en savoir plus sur les avantages et les fonctionnalités de sécurité du maillage de services, consultez le guide de sécurité.

Options de déploiement

Vous disposez des options de déploiement suivantes dans Cloud Service Mesh:

  • Sur Google Cloud
    • Managed Cloud Service Mesh : plan de données et contrôle géré pour GKE (recommandé)
    • Managed Cloud Service Mesh : contrôle géré et plan de données pour Compute Engine avec des VM (recommandé)
    • Plan de contrôle dans le cluster pour GKE avec les API Istio (déconseillé)
  • En dehors de Google Cloud
    • Plan de contrôle dans le cluster pour Kubernetes avec les API Istio

Maillage de services cloud géré

Le maillage de services cloud géré se compose du plan de contrôle géré pour toutes les infrastructures et du plan de données géré pour GKE. Avec le maillage de services cloud géré, Google gère les mises à niveau, le scaling et la sécurité à votre place, ce qui limite la maintenance manuelle des utilisateurs. Il couvre le plan de contrôle, le plan de données et les ressources associées.

Implémentation du plan de données

Si vous utilisez des API Google Cloud, votre plan de données peut être fourni par des proxys Envoy ou des applications gRPC sans proxy. Si vous mettez à jour une application existante, l'approche basée sur le side-car permet une intégration dans le maillage sans modifier l'application. Si vous souhaitez éviter les frais généraux liés à l'exécution d'un side-car, vous pouvez mettre à jour votre application pour qu'elle utilise gRPC.

Les proxys Envoy et gRPC sans proxy utilisent tous deux l'API xDS pour se connecter au plan de contrôle. Si vous utilisez gRPC sans proxy, vous avez le choix entre plusieurs langages compatibles pour vos applications, y compris Go, C++, Java et Python.

Si vous utilisez des API Istio Open Source, votre plan de données est fourni par des proxys Envoy.

Implémentation du plan de contrôle

Votre plan de contrôle Cloud Service Mesh varie selon que votre configuration est sur Google Cloud ou en dehors, et selon que vous êtes un nouveau client.

Implémentation du plan de contrôle pour les utilisateurs existants

Pour déterminer votre plan de contrôle actuel, consultez Identifier la mise en œuvre du plan de contrôle. Pour en savoir plus sur les plans de contrôle et la migration des plans de contrôle, consultez la section Présentation du plan de contrôle géré pour les clients permanents.

Implémentation du plan de contrôle pour les nouveaux utilisateurs

Migration du plan de contrôle

Si vous utilisez toujours Anthos Service Mesh et que vous utilisez les API Istio, la migration de vos clusters vers le plan de contrôle Traffic Director commencera. Vous pouvez continuer à utiliser les API Istio pour la configuration.

Pour déterminer si vos clusters utilisent toujours le plan de contrôle Istio ou ont migré vers le nouveau plan de contrôle global, consultez la section Identifier la mise en œuvre du plan de contrôle.

Étapes suivantes