Autres points à prendre en compte

Last reviewed 2023-12-14 UTC

Ce document met en évidence les principales considérations de conception qui jouent un rôle central dans la définition de votre architecture hybride et multicloud globale. Analysez et évaluez de manière globale ces considérations dans l'ensemble de l'architecture de votre solution, en englobant toutes les charges de travail, et pas seulement des charges spécifiques.

Refactoriser

Lors d'une migration de refactorisation, vous modifiez vos charges de travail afin de tirer parti des fonctionnalités cloud, et pas seulement pour les rendre opérationnelles dans le nouvel environnement. Vous pouvez optimiser les performances, les fonctionnalités, les coûts ou l'expérience utilisateur associés à chaque charge de travail. Comme indiqué dans Refactor: move and improve (Refactor : déplacer et améliorer), certains scénarios de refactoring vous permettent de modifier les charges de travail avant de les migrer vers le cloud. Cette approche de refactoring offre les avantages suivants, en particulier si votre objectif est de créer une architecture hybride en tant qu'architecture ciblée à long terme:

  • Vous facilitez le processus de déploiement.
  • Vous pouvez accélérer la cadence de publication et raccourcir les cycles de commentaires en investissant dans une infrastructure et des outils d'intégration/de déploiement continus (CI/CD).
  • Vous pouvez utiliser le refactoring comme base pour créer et gérer une architecture hybride avec la portabilité des applications.

Pour fonctionner correctement, cette approche nécessite généralement certains investissements dans l'infrastructure et les outils sur site. Par exemple, configurer un Container Registry local et provisionner des clusters Kubernetes pour conteneuriser des applications. L'édition Enterprise de Google Kubernetes Engine (GKE) peut être utile dans cette approche pour les environnements hybrides. Pour en savoir plus sur GKE Enterprise, consultez la section suivante. Pour en savoir plus, consultez l'architecture de référence de l'environnement hybride GKE Enterprise.

Portabilité des charges de travail

Avec les architectures hybrides et multicloud, vous pouvez souhaiter pouvoir déplacer des charges de travail entre les environnements informatiques qui hébergent vos données. Pour faciliter le transfert fluide des charges de travail entre les environnements, tenez compte des facteurs suivants:

  • Vous pouvez déplacer une application d'un environnement informatique à un autre sans modifier de manière significative l'application et son modèle opérationnel :
    • Le déploiement et la gestion des applications sont cohérents dans tous les environnements informatiques.
    • La visibilité, la configuration et la sécurité sont cohérentes dans les environnements IT.
  • La possibilité de rendre une charge de travail portable ne doit pas entrer en conflit avec le fait qu'elle soit cloud first.

Automatisation de l'infrastructure

L'automatisation de l'infrastructure est essentielle à la portabilité dans des architectures hybrides et multicloud. Une approche courante pour automatiser la création d'infrastructure consiste à utiliser l'Infrastructure as Code (IaC). L'IaC implique de gérer votre infrastructure dans des fichiers au lieu de configurer manuellement des ressources (comme une VM, un groupe de sécurité ou un équilibreur de charge) dans une interface utilisateur. Terraform est un outil IaC populaire qui permet de définir des ressources d'infrastructure dans un fichier. Terraform vous permet également d'automatiser la création de ces ressources dans des environnements hétérogènes.

Pour en savoir plus sur les fonctions de base de Terraform qui peuvent vous aider à automatiser le provisionnement et la gestion des ressources Google Cloud, consultez la page Plans et modules Terraform pour Google Cloud.

De plus, pensez à des outils de gestion de configuration tels qu'Ansible, Puppet ou Chef pour établir un processus de déploiement et de configuration commun. Vous pouvez également utiliser un outil de génération d'images tel que Packer pour créer des images de VM pour différentes plates-formes. À l'aide d'un seul fichier de configuration partagé, vous pouvez utiliser Packer et Cloud Build pour créer une image de VM à utiliser sur Compute Engine. Enfin, des solutions comme Prometheus et Grafana vous permettent d'assurer une surveillance cohérente sur l'ensemble des environnements.

Sur la base de ces outils, vous pouvez assembler une chaîne d'outils commune, comme illustré dans le diagramme logique suivant. Cette chaîne d'outils commune élimine les différences entre les environnements informatiques. Il vous permet également d'unifier le provisionnement, le déploiement, la gestion et la surveillance.

Une chaîne d'outils permet la portabilité des applications.

Bien qu'une chaîne d'outils commune puisse vous aider à assurer la portabilité, elle présente plusieurs des inconvénients suivants:

  • L'utilisation de VM en tant que socle commun peut rendre difficile la mise en œuvre d'applications véritablement cloud first. De plus, l'utilisation de VM uniquement peut vous empêcher d'utiliser des services gérés dans le cloud. Vous risquez de manquer des occasions de réduire les frais d'administration.
  • La mise en place et la maintenance d'une chaîne d'outils commune entraînent des frais généraux et opérationnels.
  • À mesure que la chaîne d'outils se développe, elle peut développer des complexités uniques adaptées aux besoins spécifiques de votre entreprise. Cette complexité accrue peut contribuer à l'augmentation des coûts de formation.

Avant de décider de développer des outils et des automatisations, explorez les services gérés proposés par votre fournisseur de services cloud. Lorsque votre fournisseur propose des services gérés compatibles avec le même cas d'utilisation, vous pouvez en éliminer une partie de la complexité. Vous pouvez ainsi vous concentrer sur la charge de travail et l'architecture de l'application plutôt que sur l'infrastructure sous-jacente.

Par exemple, vous pouvez utiliser le modèle de ressource Kubernetes pour automatiser la création de clusters Kubernetes à l'aide d'une approche de configuration déclarative. Vous pouvez utiliser la conversion de Deployment Manager pour convertir vos configurations et modèles Deployment Manager dans d'autres formats de configuration déclaratifs compatibles avec Google Cloud (comme Terraform et le modèle de ressources Kubernetes) afin qu'ils soient portables lorsque vous les publier.

Vous pouvez également automatiser la création de projets et de ressources dans ces projets. Cette automatisation peut vous aider à adopter une approche Infrastructure as Code pour le provisionnement de projet.

Conteneurs et Kubernetes

L'utilisation de fonctionnalités gérées dans le cloud permet de réduire la complexité de la création et de la maintenance d'une chaîne d'outils personnalisée pour automatiser et transférer les charges de travail. Toutefois, l'utilisation exclusive de VM comme base commune rend difficile la mise en œuvre d'applications véritablement cloud first. Une solution consiste utiliser des conteneurs et Kubernetes à la place.

Les conteneurs améliorent la fiabilité d'exécution du logiciel lorsque vous le déplacez d'un environnement à un autre. Étant donné que les conteneurs dissocient les applications de l'infrastructure hôte sous-jacente, ils facilitent le déploiement dans les environnements IT, tels que les environnements hybrides et multicloud.

Kubernetes gère l'orchestration, le déploiement, le scaling et la gestion de vos applications conteneurisées. Il est Open Source et régi par la Cloud Native Computing Foundation. L'utilisation de Kubernetes fournit les services qui constituent la base d'une application cloud first. Étant donné que vous pouvez installer et exécuter Kubernetes sur de nombreux environnements informatiques, vous pouvez également l'utiliser pour établir une couche d'exécution commune aux environnements informatiques:

  • Quel que soit l'environnement informatique, cloud ou privé, Kubernetes fournit les mêmes services et les mêmes API. De plus, le niveau d'abstraction est beaucoup plus élevé qu'avec des VM. Cela se traduit généralement par une réduction du travail de base et une amélioration de la productivité des développeurs.
  • Contrairement aux chaînes d'outils personnalisées, la technologie Kubernetes est largement utilisée pour le développement et la gestion des applications. Vous bénéficiez ainsi de l'expertise et de la documentation existantes, ainsi que de l'assistance d'un tiers.
  • Kubernetes est compatible avec toutes les implémentations de conteneurs qui :

Lorsqu'une charge de travail s'exécute sur Google Cloud, vous pouvez éviter d'installer et d'exécuter Kubernetes en utilisant une plate-forme Kubernetes gérée, telle que Google Kubernetes Engine (GKE). Cela peut aider le personnel d'exploitation à se concentrer sur la création et la maintenance d'applications plutôt que sur l'infrastructure.

Vous pouvez également utiliser Autopilot, un mode de fonctionnement de GKE qui gère la configuration de votre cluster, y compris vos nœuds, le scaling, la sécurité et d'autres paramètres préconfigurés. Lorsque vous utilisez GKE Autopilot, tenez compte de vos exigences de mise à l'échelle et de ses limites de mise à l'échelle.

Techniquement, vous pouvez installer et exécuter Kubernetes sur de nombreux environnements informatiques pour établir une couche d'exécution commune. Toutefois, dans la pratique, la création et l'exploitation d'une telle architecture peuvent s'avérer complexes. L'architecture devient encore plus complexe lorsque vous avez besoin d'un contrôle de sécurité au niveau des conteneurs (maillage de services).

Pour simplifier la gestion des déploiements multiclusters, vous pouvez utiliser GKE Enterprise pour exécuter des applications modernes partout à grande échelle. GKE inclut de puissants composants Open Source gérés pour sécuriser les charges de travail, appliquer les règles de conformité et fournir une observabilité et un dépannage approfondis du réseau.

Comme illustré dans le diagramme suivant, l'utilisation de GKE Enterprise vous permet d'exploiter des applications multiclusters en tant que parcs.

Schéma de pile illustrant les opportunités de gestion de flotte offertes par GKE Enterprise.

GKE Enterprise propose les options de conception suivantes pour prendre en charge les architectures hybrides et multicloud:

  • Concevez et créez des expériences cloud sur site ou des solutions unifiées pour la transition des applications vers l'environnement hybride GKE Enterprise. Pour en savoir plus, consultez l'architecture de référence de l'environnement hybride GKE Enterprise.

  • Concevez et créez une solution pour résoudre la complexité du multicloud avec une stratégie cohérente de gouvernance, d'opérations et de sécurité avec GKE Multi-Cloud. Pour en savoir plus, consultez la documentation sur GKE Multi-Cloud.

GKE Enterprise fournit également des regroupements logiques d'environnements similaires avec une sécurité, une configuration et une gestion des services cohérentes. Par exemple, GKE Enterprise alimente une architecture distribuée zéro confiance. Dans une architecture distribuée de confiance zéro, les services déployés sur site ou dans un autre environnement cloud peuvent communiquer entre les environnements via des communications de service à service sécurisées mTLS de bout en bout.

Considérations sur la portabilité des charges de travail

Kubernetes et GKE Enterprise fournissent une couche d'abstraction pour les charges de travail qui peut masquer les nombreuses subtilités et différences entre les environnements informatiques. La liste suivante décrit certaines de ces abstractions:

  • Une application peut être portable dans un autre environnement sans modifications majeures, mais ses performances ne seront pas forcément les mêmes dans les deux environnements.
    • Les différences d'infrastructures de calcul, de sécurité de l'infrastructure ou de mise en réseau sous-jacentes, ainsi que la proximité de services dépendants, peuvent engendrer des performances sensiblement différentes.
  • Le déplacement d'une charge de travail entre les environnements informatiques peut également nécessiter un transfert de données.
    • Les différents environnements peuvent avoir des services et des installations de stockage et de gestion des données différents.
  • Le comportement et les performances des équilibreurs de charge provisionnés avec Kubernetes ou GKE Enterprise peuvent différer d'un environnement à l'autre.

Transfert de données

Étant donné qu'il peut être complexe de déplacer, de partager et d'accéder aux données à grande échelle entre les environnements informatiques, les entreprises d'envergure peuvent hésiter à créer une architecture hybride ou multicloud. Cette hésitation peut s'accroître s'ils stockent déjà la plupart de leurs données sur site ou dans un cloud.

Toutefois, les différentes options de transfert de données proposées par Google Cloud offrent aux entreprises un ensemble complet de solutions pour les aider à déplacer, intégrer et transformer leurs données. Ces options aident les entreprises à stocker, partager et accéder aux données dans différents environnements de manière à répondre à leurs cas d'utilisation spécifiques. Cette capacité permet aux décideurs commerciaux et technologiques d'adopter plus facilement des architectures hybrides et multicloud.

Le transfert de données est un élément important à prendre en compte pour la stratégie et la planification de l'architecture hybride et multicloud. Votre équipe doit identifier vos différents cas d'utilisation métier et les données qui les alimentent. Vous devez également tenir compte du type de stockage, de la capacité, de l'accessibilité et des options de déplacement.

Si une entreprise dispose d'une classification des données pour les secteurs réglementés, cette classification peut aider à identifier les emplacements de stockage et les restrictions de transfert de données entre les régions pour certaines classes de données. Pour en savoir plus, consultez la section Protection des données sensibles. La protection des données sensibles est un service entièrement géré conçu pour vous aider à découvrir, classer et protéger vos éléments de données.

Pour découvrir le processus, de la planification d'un transfert de données à l'utilisation des bonnes pratiques de mise en œuvre d'un plan, consultez la page Migrer vers Google Cloud: transférer vos ensembles de données volumineux.

Sécurité

À mesure que les entreprises adoptent des architectures hybrides et multicloud, leur surface d'attaque peut augmenter en fonction de la façon dont leurs systèmes et leurs données sont répartis dans différents environnements. Associées à un paysage des menaces en constante évolution, les surfaces d'attaque accrues peuvent entraîner un risque accru d'accès non autorisé, de perte de données et d'autres incidents de sécurité. Tenez compte de la sécurité lorsque vous planifiez et implémentez des stratégies hybrides ou multicloud.

Pour en savoir plus, consultez la page Gestion de la surface d'attaque pour Google Cloud.

Lors de la conception d'une architecture hybride, il n'est pas toujours techniquement possible ou viable d'étendre les approches de sécurité sur site au cloud. Cependant, de nombreuses fonctionnalités de sécurité réseau des appliances matérielles sont des fonctionnalités cloud first et fonctionnent de manière distribuée. Pour en savoir plus sur les fonctionnalités de sécurité réseau cloud first de Google Cloud, consultez la page Sécurité réseau cloud.

Les architectures hybrides et multicloud peuvent présenter des défis de sécurité supplémentaires, tels que la cohérence et l'observabilité. Chaque fournisseur de cloud public a sa propre approche de la sécurité, y compris différents modèles, bonnes pratiques, fonctionnalités de sécurité de l'infrastructure et des applications, obligations de conformité et même noms de services de sécurité. Ces incohérences peuvent augmenter le risque de sécurité. De plus, le modèle de responsabilité partagée de chaque fournisseur de services cloud peut différer. Il est essentiel d'identifier et de comprendre la démarcation exacte des responsabilités dans une architecture multicloud.

L'observabilité est essentielle pour obtenir des insights et des métriques à partir des différents environnements. Dans une architecture multicloud, chaque cloud fournit généralement des outils pour surveiller la stratégie de sécurité et les mauvaises configurations. Toutefois, l'utilisation de ces outils entraîne une visibilité cloisonnée, ce qui empêche de créer une intelligence sur les menaces avancée dans l'ensemble de l'environnement. Par conséquent, l'équipe de sécurité doit passer d'un outil à un autre et d'un tableau de bord à un autre pour assurer la sécurité du cloud. Sans une visibilité globale de la sécurité de bout en bout pour les environnements hybrides et multiclouds, il est difficile de hiérarchiser et d'atténuer les failles.

Pour obtenir une visibilité et une posture complètes de tous vos environnements, hiérarchisez vos failles et atténuez celles que vous identifiez. Nous vous recommandons d'utiliser un modèle de visibilité centralisé. Un modèle de visibilité centralisé évite de devoir corréler manuellement différents outils et tableaux de bord provenant de différentes plateformes. Pour en savoir plus, consultez la section Modèles de surveillance et de journalisation hybrides et multicloud.

Dans le cadre de votre planification pour atténuer les risques de sécurité et déployer vos charges de travail sur Google Cloud, et pour vous aider à planifier et concevoir votre solution cloud afin d'atteindre vos objectifs de sécurité et de conformité, découvrez le centre des bonnes pratiques de sécurité de Google Cloud et le plan de base de l'entreprise.

Les objectifs de conformité peuvent varier, car ils sont influencés à la fois par les réglementations spécifiques au secteur et par les exigences réglementaires différentes des différentes régions et pays. Pour en savoir plus, consultez le Centre de ressources pour la conformité de Google Cloud. Voici quelques-unes des principales approches recommandées pour concevoir une architecture hybride et multicloud sécurisée:

  • Élaborez une stratégie et une architecture de sécurité cloud unifiées et adaptées. Les stratégies de sécurité hybrides et multicloud doivent être adaptées aux besoins et aux objectifs spécifiques de votre organisation.

    Il est essentiel de comprendre l'architecture et l'environnement ciblés avant d'implémenter des contrôles de sécurité, car chaque environnement peut utiliser différentes fonctionnalités, configurations et services.

  • Envisagez une architecture de sécurité unifiée dans les environnements hybrides et multicloud.

  • Standardiser la conception et les déploiements cloud, en particulier la conception et les fonctionnalités de sécurité Cela peut améliorer l'efficacité et permettre une gouvernance et des outils unifiés.

  • Utilisez plusieurs contrôles de sécurité.

    En règle générale, aucun contrôle de sécurité ne peut répondre de manière adéquate à toutes les exigences de protection de la sécurité. Par conséquent, les organisations doivent utiliser une combinaison de contrôles de sécurité dans une approche de défense en couches, également appelée défense en profondeur.

  • Surveillez et améliorez en permanence les postures de sécurité : votre organisation doit surveiller ses différents environnements pour détecter les menaces et les failles de sécurité. Il doit également essayer d'améliorer en permanence sa stratégie de sécurité.

  • Envisagez d'utiliser la gestion des stratégies de sécurité dans le cloud (CSPM) pour identifier et corriger les erreurs de configuration de la sécurité et les menaces de cybersécurité. Le CSPM fournit également des évaluations des failles dans les environnements hybrides et multicloud.

Security Command Center est une solution intégrée de gestion de la sécurité et des risques pour Google Cloud qui permet d'identifier les erreurs de configuration, les failles, etc. Security Health Analytics est un outil d'analyse d'évaluation des failles géré. Il s'agit d'une fonctionnalité de Security Command Center qui identifie les risques et les failles de sécurité dans votre environnement Google Cloud, et fournit des recommandations pour les corriger.

Mandiant Attack Surface Management pour Google Cloud permet à votre organisation de mieux visualiser les éléments de son environnement multicloud ou cloud hybride. Il détecte automatiquement les ressources de plusieurs fournisseurs de services cloud, le DNS et la surface d'attaque externe étendue pour fournir à votre entreprise une meilleure compréhension de son écosystème. Utilisez ces informations pour hiérarchiser les corrections des failles et des expositions qui présentent le plus de risques.

  • Solution de gestion des informations et des événements de sécurité (SIEM, Security Information and Event Management) dans le cloud: aide à collecter et à analyser les journaux de sécurité des environnements hybrides et multicloud pour détecter et gérer les menaces. Google Security Operations SIEM de Google Cloud permet de fournir des informations sur la sécurité et d'assurer une gestion des événements en collectant, en analysant, en détectant et en examinant toutes vos données de sécurité en un seul endroit.