Cette section décrit le processus que vous pouvez utiliser pour déployer le plan, ses conventions de nommage et les alternatives aux recommandations de plans.
Conclusion
Pour mettre en œuvre l'architecture décrite dans ce document, suivez les étapes de cette section.
Déployer le plan dans une nouvelle organisation
Pour déployer le plan dans une nouvelle organisation Google Cloud, procédez comme suit :
Créez votre infrastructure de base à l'aide du plan de base de l'entreprise. Effectuer les actions suivantes :
- Créez une structure organisationnelle, y compris des dossiers pour séparer les environnements.
- Configurez les autorisations IAM de base pour accorder l'accès aux administrateurs de la plate-forme de développement.
- Créez le réseau VPC.
- Déployez le pipeline d'infrastructure de base.
Si vous n'utilisez pas le plan de base d'entreprise, consultez Déploiement du plan sans le plan de base d'entreprise.
Déployez le plan d'application d'entreprise comme suit:
- L'administrateur de plate-forme de développeur utilise le pipeline d'infrastructure de base pour créer le pipeline d'infrastructure mutualisée, le pipeline de fabrique d'applications et le pipeline de champ d'application de parc.
- L'administrateur de la plate-forme de développement utilise le pipeline d'infrastructure multi-tenant pour déployer des clusters GKE et une infrastructure partagée.
- Les opérateurs d'applications utilisent la fabrique d'applications pour intégrer de nouvelles applications. Les opérateurs ajoutent une ou plusieurs entrées dans le dépôt de la fabrique d'applications, ce qui déclenche la création de ressources spécifiques à l'application.
- Les développeurs d'applications utilisent le pipeline CI/CD d'application dans leur infrastructure spécifique à l'application pour déployer des applications sur l'infrastructure mutualisée.
Déployer le plan sans le plan de base de l'entreprise
Si vous ne déployez pas le plan d'application d'entreprise sur le plan de base d'entreprise, procédez comme suit :
- Créez les ressources suivantes :
- Hiérarchie d'organisation avec des dossiers
development
,nonproduction
etproduction
- Un réseau VPC partagé dans chaque dossier
- Un schéma d'adresses IP tenant compte des plages d'adresses IP requises pour vos clusters GKE
- Un mécanisme DNS pour vos clusters GKE
- Des stratégies de pare-feu alignées sur votre stratégie de sécurité
- Un mécanisme permettant d'accéder aux API Google Cloud via des adresses IP privées
- Un mécanisme de connectivité avec votre environnement sur site
- Une journalisation centralisée pour la sécurité et l'audit
- Security Command Center pour la surveillance des menaces
- Des stratégies organisationnelles alignées sur votre stratégie de sécurité
- Un pipeline pouvant être utilisé pour déployer la fabrique d'applications, le pipeline d'infrastructure mutualisée et le pipeline de niveau d'accès au parc
- Hiérarchie d'organisation avec des dossiers
- Après avoir déployé les ressources, passez à l'étape 2 de la section Déployer le plan dans une nouvelle organisation.
Intégrer le modèle à votre déploiement GKE existant
Ce modèle vous oblige à déployer d'abord la plate-forme de développement, puis à déployer des applications sur la plate-forme de développement. Le tableau suivant décrit comment utiliser le modèle si vous avez déjà des applications conteneurisées exécutées sur Google Cloud.
Utilisation existante | Stratégie de migration |
---|---|
Vous disposez déjà d'un pipeline CI/CD. | Vous pouvez utiliser l'architecture du parc et du cluster du plan même lorsque différents produits sont utilisés pour la compilation et le déploiement d'applications. Nous vous recommandons d'au moins dupliquer les images dans deux régions. |
Leur structure organisationnelle existante ne correspond pas au plan d'entreprise de base. | Il est recommandé d'avoir au moins deux environnements pour des déploiements séquentiels plus sécurisés. Vous n'avez pas besoin de déployer des environnements dans des VPC ou des dossiers partagés distincts. Toutefois, ne déployez pas de charges de travail appartenant à différents environnements dans le même cluster. |
N'utilisez pas l'IaC. |
Si le processus de déploiement de votre application actuel n'utilise pas l'IaC, vous pouvez évaluer votre aptitude à l'aide du modèle de maturité Terraform sur Google Cloud. Importez des ressources existantes dans un autre projet Terraform organisé de manière similaire à ce modèle, avec la séparation des pipelines multi-tenants et par locataire. Pour créer des clusters, vous pouvez utiliser des modules Terraform pour Google Cloud. |
Les clusters sont répartis sur plusieurs projets dans le même environnement. |
Vous pouvez regrouper des clusters issus de plusieurs projets dans un parc. Vérifiez que vos espaces de noms ont une signification unique au sein d'un même parc. Avant d'ajouter des clusters à un parc, demandez aux équipes de déplacer leurs applications vers un espace de noms portant un nom unique (par exemple, pas Vous pouvez ensuite regrouper des espaces de noms en portées. |
Les clusters se trouvent dans une seule région. |
Vous n'avez pas besoin d'utiliser plusieurs régions en production et hors production pour adopter le modèle. |
Il existe différents ensembles d'environnements. |
Vous pouvez modifier le modèle pour qu'il prenne en charge plus ou moins de trois environnements. |
La création de clusters est déléguée aux équipes des développeurs ou des opérateurs d'applications. |
Pour obtenir la plate-forme de développement la plus sécurisée et la plus cohérente, vous pouvez essayer de transférer la propriété des clusters des équipes d'applications à l'équipe de la plate-forme de développement. Si ce n'est pas possible, vous pouvez toujours adopter de nombreuses pratiques du modèle. Par exemple, vous pouvez ajouter les clusters appartenant à différentes équipes d'applications à un parc. Toutefois, lorsque vous combinez des clusters avec une propriété indépendante, n'utilisez pas la fédération d'identité de charge de travail pour GKE ou Cloud Service Mesh, car ils ne permettent pas de contrôler suffisamment qui peut valider quelles identités de charge de travail. Utilisez plutôt une règle d'administration personnalisée pour empêcher les équipes d'activer ces fonctionnalités sur les clusters GKE. Lorsque les clusters sont regroupés dans un parc, vous pouvez toujours auditer et appliquer des règles. Vous pouvez utiliser une règle d'administration personnalisée pour exiger que des clusters soient créés dans un parc qui correspond au dossier d'environnement dans lequel se trouve le projet du cluster. Vous pouvez utiliser la configuration par défaut du parc pour exiger que les nouveaux clusters utilisent le contrôle des règles. |
Alternatives aux recommandations par défaut
Cette section décrit des alternatives aux recommandations par défaut incluses dans ce guide.
Zone de décision | Autres solutions possibles |
---|---|
Toutes les applications s'exécutent dans le même ensemble de cinq clusters. |
Le plan utilise un ensemble de cinq clusters (deux en production, deux hors production et un en développement). Vous pouvez modifier le modèle pour créer des ensembles supplémentaires de cinq clusters. Attribuez des applications à des ensembles de cinq clusters. Ne liez pas les portées ou les espaces de noms de parc d'une application aux clusters des autres ensembles. Vous pouvez séparer les applications en différents ensembles de cluster pour effectuer des activités telles que :
Évitez de créer des ensembles de clusters pour chaque application ou locataire, car cette pratique peut entraîner l'une des situations suivantes :
|
Les environnements de production et hors production comportent des clusters dans deux régions. |
Pour réduire la latence pour les utilisateurs finaux dans plusieurs régions, vous pouvez déployer les charges de travail de production et hors production dans plus de deux régions (par exemple, trois régions pour la production, trois régions hors production et une région de développement). Cette stratégie de déploiement augmente les coûts et les frais généraux liés à la maintenance de ressources dans des régions supplémentaires. |
Si toutes les applications ont des exigences de disponibilité inférieures, vous pouvez déployer des charges de travail de production et hors production dans une seule région (un environnement de production, un environnement hors production et un environnement de développement). Cette stratégie permet de réduire les coûts, mais ne garantit pas le même niveau de disponibilité qu'une architecture birégionale ou multirégionale. |
|
Si les applications ont des exigences de disponibilité différentes, vous pouvez créer différents ensembles de clusters pour différentes applications (par exemple, |
|
La topologie en étoile correspond mieux à vos exigences que le VPC partagé. |
Vous pouvez déployer le plan dans une configuration hub-and-spoke, où chaque environnement (développement, production et hors production) est hébergé dans son propre spoke. La topologie en étoile peut renforcer la ségrégation des environnements. Pour en savoir plus, consultez la section Topologie de réseau en hub et spoke. |
Chaque application dispose d'un dépôt Git distinct. |
Certaines organisations utilisent un seul dépôt Git (un monorepo) pour l'ensemble du code source au lieu de plusieurs dépôts. Si vous utilisez un monorepo, vous pouvez modifier le composant Fabrique d'applications du plan pour assurer la compatibilité avec votre dépôt. Effectuer les actions suivantes :
|
Étapes suivantes
- Découvrez le plan de base de l'entreprise.
- Pour en savoir plus sur la livraison de logiciels sur Google Cloud, consultez les articles suivants :
- Découvrez comment exécuter des applications sur GKE :