À mesure que les entreprises passent au développement et au déploiement d'applications basées sur des conteneurs, elles doivent apprendre à gérer des équipes distribuées à l'aide de workflows d'ingénierie distincts. Pour aider les grandes entreprises à passer aux applications basées sur des conteneurs, nous avons créé le plan d'application d'entreprise. Ce plan déploie une plate-forme de développeur interne qui permet aux équipes de plate-forme cloud de fournir une plate-forme gérée pour le développement et la livraison de logiciels que les groupes de développement d'applications de leur organisation peuvent utiliser.
Le plan d'application d'entreprise comprend les éléments suivants:
- Un dépôt GitHub contenant un ensemble de configurations et de scripts Terraform. La configuration Terraform configure une plate-forme de développeur dans Google Cloud qui comprend plusieurs équipes de développement.
- Un guide de l'architecture, de la conception, des contrôles de sécurité et des processus opérationnels que vous utilisez pour mettre en œuvre ce plan (ce document).
Le plan d'application d'entreprise est conçu pour être compatible avec le plan de base d'entreprise. Le plan de base de l'entreprise fournit un certain nombre de services de base sur lesquels repose le plan d'application d'entreprise, tels que Cloud Identity. Vous pouvez déployer le plan d'application d'entreprise sans déployer le plan de base d'entreprise si votre environnement Google Cloud fournit les fonctionnalités nécessaires pour prendre en charge le plan d'application d'entreprise.
Ce document est destiné aux architectes cloud et suppose que vous utilisez le plan d'application d'entreprise pour déployer de nouvelles applications d'entreprise sur Google Cloud. Toutefois, si vous disposez déjà d'applications d'entreprise conteneurisées sur Google Cloud, vous pouvez adopter cette architecture de référence de manière incrémentielle.
Dans ce document, nous partons également du principe que vous comprenez les composants Kubernetes, y compris les services, les espaces de noms et les clusters. Pour obtenir des informations générales sur Kubernetes et sa mise en œuvre dans Google Cloud, consultez la présentation technique de Google Kubernetes Engine (GKE) édition Enterprise.
Présentation du plan d'application d'entreprise
Dans la plupart des entreprises, une plate-forme de développeur gère l'infrastructure partagée utilisée par tous les développeurs. La plate-forme pour les développeurs crée des pipelines de compilation, des pipelines de déploiement et des environnements d'exécution pour chaque composant d'application à la demande. Les équipes de développeurs et les opérateurs d'application n'ont accès qu'aux composants d'applications dont ils sont responsables. La plate-forme est conçue pour permettre le déploiement d'applications à disponibilité élevée et sécurisées.
Ce plan déploie une plate-forme de développeur par-dessus le plan de base de l'entreprise (ou son équivalent). La plate-forme pour les développeurs inclut des ressources telles que les clusters Google Kubernetes Engine (GKE), le parc GKE, la fabrique d'applications, les pipelines d'infrastructure, la surveillance de la plate-forme et la journalisation de la plate-forme. En outre, la plate-forme des développeurs configure les utilisateurs (administrateurs de la plate-forme et développeurs d'applications) qui gèrent la solution.
Ce plan permet aux entreprises de fournir aux différentes équipes de développement d'applications (appelées locataires) l'accès à la plate-forme. Un locataire est un groupe d'utilisateurs ayant une propriété commune sur un ensemble de ressources. Un locataire possède une ou plusieurs applications qui s'exécutent sur la plate-forme en tant que service basé sur un conteneur. Une application sur la plate-forme du développeur est un ensemble de code source et de configuration. Chaque application est créée et déployée par un pipeline CI/CD dédié. Les locataires et les applications sont isolés les uns des autres au moment de l'exécution et dans les pipelines CI/CD. Des parties du plan fournissent l'automatisation pour tous les locataires et sont appelées mutualisées.
Pour illustrer l'utilisation de la plate-forme de développeur, le plan inclut un exemple d'application, appelé Cymbal Bank. Cymbal Bank est une application de microservices conçue pour s'exécuter sur GKE. L'application est conçue pour simuler une application à disponibilité élevée déployée dans une configuration en mode actif/actif pour activer la reprise après sinistre. Cymbal Bank suppose que l'application est développée et gérée par plusieurs équipes de développeurs indépendantes.
Étapes suivantes
- Découvrez l'architecture (document suivant de cette série).