Le framework d'architecture Google Cloud fournit des recommandations et des bonnes pratiques pour aider les architectes, développeurs, administrateurs et autres professionnels du cloud à concevoir et à exploiter une topologie cloud sécurisée, efficace, résiliente, performante et rentable. Le framework d'architecture Google Cloud est notre version d'un framework bien conçu.
Une équipe pluridisciplinaire d'experts Google valide les recommandations de conception et les bonnes pratiques qui composent ce framework d'architecture. L'équipe organise le framework d'architecture pour refléter les capacités croissantes de Google Cloud, les bonnes pratiques du secteur, les connaissances de la communauté et les retours de nos clients. Pour obtenir un récapitulatif des modifications importantes, consultez la section Nouveautés.
Les conseils de conception du framework d'architecture s'appliquent aux applications conçues pour le cloud ainsi qu'aux charges de travail migrées depuis une infrastructure sur site vers Google Cloud, aux déploiements cloud hybrides et aux environnements multicloud.
Catégories du framework d'architecture
Le framework d'architecture Google Cloud est organisé en cinq catégories (également appelées piliers), comme le montre le schéma suivant :
- Excellence opérationnelle
- Déployez, exploitez, surveillez et gérez efficacement vos charges de travail dans le cloud.
- Sécurité, confidentialité et conformité
- Optimisez la sécurité de vos données et de vos charges de travail dans le cloud et adaptez votre conception pour garantir la confidentialité et la conformité eu égard aux normes et exigences réglementaires.
- Fiabilité
- Concevez et exécutez des charges de travail résilientes et hautement disponibles dans le cloud.
- Optimisation des coûts
- Optimisez la valeur commerciale de votre investissement dans Google Cloud.
- Optimisation des performances
- Concevez et ajustez vos ressources cloud pour obtenir des performances optimales.
Principes de base
Avant d'explorer les recommandations dans chaque catégorie du framework d'architecture, consultez les principes de base suivants :
Concevoir en vue d'évoluer
Aucun système n'est statique. Les besoins de ses utilisateurs, les objectifs de l'équipe qui élabore le système et le système lui-même évoluent constamment. Pour tenir compte de ces changements, créez un processus de développement et de production permettant aux équipes d'apporter régulièrement de petites modifications et de recevoir rapidement des retours concernant ces changements. Démontrer de manière cohérente la capacité à déployer des modifications permet de gagner la confiance des personnes concernées, y compris les équipes responsables et les utilisateurs du système. L'utilisation des métriques de livraison de logiciels de DORA peut aider votre équipe à surveiller la rapidité, la facilité et la sécurité des modifications apportées au système.
Documenter votre architecture
Lorsque vous commencez à déplacer vos charges de travail vers le cloud ou à créer vos applications, le manque de documentation sur le système peut constituer un obstacle majeur. La documentation est particulièrement importante pour visualiser correctement l'architecture de vos déploiements actuels.
Une documentation de qualité n'est pas obtenue en produisant une quantité spécifique de documentation, mais par la clarté et l'utilité du contenu, ainsi que par la façon dont il est géré à mesure que le système évolue.
Une architecture cloud correctement documentée établit un langage commun et des normes, qui permettent aux équipes pluridisciplinaires de communiquer et de collaborer efficacement. La documentation fournit également les informations nécessaires pour identifier et orienter les futures décisions de conception. Afin d'étayer le contexte des décisions spécifiques à la conception, la documentation doit être rédigée à l'aide de vos propres cas d'utilisation.
Au fil du temps, vos décisions de conception évolueront et changeront. L'historique des modifications fournit le contexte nécessaire à vos équipes pour aligner les initiatives, éviter la duplication et mesurer efficacement les changements de performances au fil du temps. Les journaux des modifications sont particulièrement utiles lorsque vous intégrez un nouvel architecte cloud qui ne connaît pas encore la conception, la stratégie ou l'historique actuels de votre système.
L'analyse de DORA a révélé un lien évident entre la qualité de la documentation et les performances organisationnelles, c'est-à-dire la capacité de l'entreprise à atteindre ses objectifs de performance et de rentabilité.
Simplifier la conception et utiliser des services entièrement gérés
La simplicité est essentielle à la conception. Si votre architecture est si complexe qu'elle est difficile à comprendre, il sera difficile de la mettre en œuvre et de la gérer au fil du temps. Dans la mesure du possible, utilisez des services entièrement gérés pour réduire les risques, le temps et les efforts de gestion et de maintenance des systèmes de référence.
Si vous exécutez déjà vos charges de travail en production, testez-les avec des services gérés pour voir comment ils peuvent contribuer à réduire les complexités opérationnelles. Si vous développez de nouvelles charges de travail, commencez simplement, établissez un produit minimum viable (MVP) et résistez à l'envie de surcharger. Vous pouvez identifier les cas d'utilisation exceptionnels, effectuer des itérations et améliorer vos systèmes de manière incrémentielle.
Découpler votre architecture
Les recherches menées par l'équipe DORA montrent que l'architecture est un facteur déterminant dans la réussite d'une livraison continue. Le découplage est une technique permettant de séparer vos applications et composants de services en composants plus petits pouvant fonctionner indépendamment. Par exemple, vous pouvez séparer une pile d'applications monolithique en composants de service individuels. Dans une architecture faiblement couplée, une application peut exécuter ses fonctions indépendamment, quelles que soient les différentes dépendances.
Une architecture découplée vous permet d'effectuer les opérations suivantes :
- Appliquer des mises à niveau indépendantes.
- Appliquer des contrôles de sécurité spécifiques.
- Définissez des objectifs de fiabilité pour chaque sous-système.
- Surveiller l'état.
- Contrôlez de manière précise les performances et les paramètres de coût.
Vous pouvez commencer le processus de découplage au début de la phase de conception ou l'intégrer dans les mises à niveau de votre système lors de la mise à l'échelle.
Utiliser une architecture sans état
Une architecture sans état peut augmenter à la fois la fiabilité et l'évolutivité de vos applications.
Les applications avec état s'appuient sur diverses dépendances pour effectuer des tâches, telles que la mise en cache locale des données. Les applications avec état nécessitent souvent des mécanismes supplémentaires pour capturer la progression et redémarrer correctement. Les applications sans état peuvent effectuer des tâches sans dépendances locales importantes à l'aide d'espace de stockage partagé ou de services mis en cache. Une architecture sans état permet à vos applications de s'adapter rapidement avec des dépendances de démarrage minimales. Les applications peuvent supporter des redémarrages forcés, réduire les temps d'arrêt et offrir de meilleures performances aux utilisateurs finaux.