Bonnes pratiques pour concevoir des applications

Ce guide présente les bonnes pratiques pour concevoir et définir vos applications dans App Hub. Une conception efficace des applications est essentielle pour profiter pleinement des avantages de Google Cloud axé sur les applications, qui offre une visibilité, une gouvernance et une efficacité opérationnelle améliorées.

Principes de base de la conception d'applications

En respectant les principes fondamentaux suivants, vous pouvez créer des applications robustes, faciles à gérer et alignées sur vos objectifs commerciaux, ce qui vous permet de maximiser la valeur que vous obtenez d'App Hub :

  • Reflétez les capacités métier : définissez les applications App Hub autour des fonctions métier ou des workflows de bout en bout, plutôt que des couches techniques ou des microservices individuels. Une application doit représenter un flux de valeur distinct pour l'entreprise.

  • Déterminez une propriété claire : attribuez des propriétés et des attributs clairs à chaque application, en favorisant la détectabilité et la gouvernance. En particulier, l'ajout de propriétaires d'applications favorise la responsabilisation et simplifie la communication.

  • Définissez les limites des applications : définissez des limites qui ont du sens pour les opérations, la surveillance et la gouvernance. Idéalement, les ressources d'une application doivent partager un cycle de vie opérationnel et un domaine d'impact communs pour simplifier la gestion et réduire le risque opérationnel.

    Lorsque vous réfléchissez aux limites de votre application à des fins opérationnelles, il est important de comprendre comment Google Cloud Observability structure la collecte et l'affichage des données. Alors qu'App Hub se concentre sur les limites des applications, Google Cloud Observability utilise des scopes pour définir les données de télémétrie visibles et analysables dans les projets. La configuration de ces champs d'application de l'observabilité présente une relation spécifique avec votre projet hôte ou votre projet de gestion. Elle détermine la façon dont vous pouvez agréger et afficher les données de télémétrie de différents projets. Pour savoir comment les configurer pour obtenir une vue unifiée, consultez Configurer des périmètres d'observabilité.

  • Adaptez-vous à l'évolution : concevez vos applications pour qu'elles s'adaptent aux futurs changements et à la croissance de votre architecture.

  • Affinez de manière itérative : examinez et ajustez régulièrement vos applications pour refléter les changements dans la structure, les équipes et les priorités commerciales de votre organisation.

Définir une application

Il est essentiel de comprendre ce qui constitue une application dans App Hub pour intégrer efficacement les fonctionnalités de gestion des applications dansGoogle Cloud. Une application regroupe des services et des charges de travail qui, ensemble, fournissent une fonction métier spécifique. Pour en savoir plus sur les concepts de base des applications, des services et des charges de travail dans l'App Hub, consultez Concepts et modèle de données.

Pour vous aider à déterminer la limite appropriée pour vos applications App Hub, posez-vous les questions clés suivantes :

  • Quelle valeur cette collection de ressources apporte-t-elle aux utilisateurs ou aux entreprises ?
  • Ces composants partagent-ils un cycle de vie opérationnel commun ?
  • La propriété de ces ressources est-elle clairement définie et unifiée ?
  • Ce regroupement facilite-t-il la surveillance et le dépannage efficaces ?

Exemple : architecture de démonstration OpenTelemetry

L'architecture de démonstration OpenTelemetry représente un système d'e-commerce qui inclut des microservices tels que Ad, Cart et Checkout. Pour définir au mieux cette application dans App Hub, tenez compte des recommandations suivantes :

  • Modélisez l'ensemble du système d'e-commerce en tant qu'application App Hub, par exemple my-ecommerce-site :

    • Les instances de calcul des microservices individuels, telles que les déploiements Google Kubernetes Engine (GKE), sont mappées aux charges de travail App Hub.
    • Les points de terminaison réseau, tels que les interfaces gRPC/HTTP à équilibrage de charge, sont mappés aux services App Hub.
  • Évitez d'enregistrer chaque microservice, tel que Ad, Cart et Checkout, comme sa propre application App Hub. Cette approche fragmente le contexte métier.

Pour en savoir plus sur les ressources d'infrastructure compatibles avec App Hub en tant que services et charges de travail, consultez Ressources compatibles avec App Hub.

Stratégies de conception

Utilisez les stratégies de conception suivantes pour vous assurer que votre configuration App Hub est évolutive, gérable et conforme à vos pratiques opérationnelles.

Choisir entre les applications globales et régionales

Lorsque vous concevez vos applications App Hub, vous devez d'abord décider si vous souhaitez les définir comme mondiales ou régionales. Ce choix a une incidence sur les ressources pouvant être incluses, le traitement des données, la latence, les coûts et la conformité :

  • Les applications mondiales sont mieux adaptées aux services et aux charges de travail qui sont intrinsèquement distribués sur plusieurs régions Google Cloud ou qui s'appuient sur des ressources mondiales telles qu'un équilibreur de charge d'application mondial.
  • Les applications régionales sont recommandées lorsque tous les composants de l'application résident dans une même région Google Cloud . Cette pratique est généralement la meilleure approche si votre architecture le permet.

La liste de bonnes pratiques suivante peut vous aider à choisir entre les applications mondiales et régionales :

  • Privilégiez les applications régionales : dans la mesure du possible, concevez vos applications comme régionales pour profiter d'avantages tels que la réduction de la latence, les économies potentielles sur le trafic réseau interrégional, l'alignement sur les exigences de localisation des données et la compatibilité inhérente avec les fonctionnalités et les domaines de défaillanceGoogle Cloud spécifiques à une région.
  • Utilisez les applications mondiales de manière stratégique : n'optez pour les applications mondiales que lorsque les composants de votre système sont nécessairement répartis sur plusieurs régions ou impliquent des services Google Cloud mondiaux.
  • Décomposer les systèmes multirégionaux : si vous disposez de ressources dans plusieurs régions qui ne forment pas une seule fonction globale cohérente, envisagez de définir des applications régionales distinctes pour les ressources de chaque région. Cette pratique permet de maximiser les avantages de la régionalisation pour chaque déploiement.

Pour une comparaison détaillée et une analyse plus approfondie des implications de ce choix, consultez Applications mondiales et régionales.

Définir les environnements comme des applications distinctes

Vous pouvez représenter différents environnements de déploiement sous la forme d'applications App Hub distinctes. Cette approche offre une isolation solide pour la sécurité, les autorisations et les risques opérationnels, ce qui permet d'éviter les impacts accidentels dans les environnements.

Par exemple, vous pouvez structurer vos applications en tant que my-app-dev, my-app-staging et my-app-prod pour les environnements de développement, de préproduction et de production, respectivement.

Bien que vous puissiez utiliser l'attribut Environment dans une même application pour taguer des ressources, la séparation des environnements dans des applications distinctes offre des limites précises pour le contrôle des accès, l'application des règles et la surveillance. Vous devez toujours utiliser l'attribut Environment de manière cohérente sur les ressources dans ces applications spécifiques à l'environnement pour fournir des informations détaillées et spécifier davantage les rôles. Pour en savoir plus sur cet attribut et d'autres, consultez Utiliser des attributs pour la gouvernance.

S'adapter aux structures d'équipe

Envisagez d'aligner les limites des applications sur les équipes responsables de leur développement et de leur fonctionnement. Cette pratique peut simplifier la propriété et la communication, car le modèle d'application dans le Hub d'applications reflète la structure de votre organisation.

Utiliser des attributs pour la gouvernance

Appliquez systématiquement des attributs à toutes les ressources d'application pour améliorer la détectabilité et appliquer la gouvernance. Ces attributs fournissent des métadonnées riches pour le filtrage, les rapports et l'application des règles :

  • Criticité : permet de hiérarchiser les ressources pour la surveillance et la réponse aux incidents.
  • Environnement : permet de filtrer les résultats et d'appliquer des règles spécifiques à l'environnement.
  • Propriétaires : ils offrent visibilité et responsabilisation.

Établissez des normes organisationnelles pour taguer les ressources avec ces attributs. Pour en savoir plus, consultez Découverte et gouvernance de l'assistance.

Identifier les cas d'utilisation de la gestion des applications

Intégrez App Hub à Application Design Center pour une expérience fluide du cycle de vie des applications, de la conception aux opérations :

  • Vous disposez de ressources préexistantes à enregistrer en tant qu'application : enregistrez les ressources Google Cloud existantes de votre modèle de configuration dans une application App Hub pour bénéficier d'une visibilité unifiée et d'un contrôle opérationnel.
  • Vous n'avez pas de ressources préexistantes à enregistrer en tant qu'application : utilisez Application Design Center pour concevoir et déployer de nouvelles applications. Application Design Center enregistre automatiquement les ressources déployées dans App Hub. Votre modèle reflète ainsi précisément la conception prévue. App Design Center vous aide également à gérer les mises à jour des applications. Lorsqu'un modèle d'application change, vous pouvez mettre à jour toutes les instances basées sur ce modèle. Vous pouvez ainsi vous assurer que les mises à jour de l'application sont cohérentes.

Hiérarchie des ressources

La hiérarchie des ressourcesGoogle Cloud standard se compose de ressources organisation, dossier et projet. App Hub introduit une couche de gestion des applications au-dessus de cette hiérarchie grâce au concept de dossiers compatibles avec les applications et de projets hôtes, en fonction de votre modèle de configuration.

Comprendre comment le modèle de configuration que vous avez choisi s'intègre à votre hiérarchie de ressources Google Cloudexistante permet une gouvernance, une application des règles et une découverte des ressources efficaces. Passez en revue les structures recommandées et planifiez votre hiérarchie de ressources lorsque vous choisissez votre modèle de configuration pour gérer les applications.

Affinement continu

Les conceptions d'applications ne sont pas statiques. Elles évoluent généralement au fil du temps. Examinez et affinez régulièrement vos applications pour vous assurer qu'elles continuent de correspondre à vos besoins commerciaux, à la structure de vos équipes et à l'évolution de vos architectures.

Nous vous recommandons d'utiliser les insights de Cloud Hub et Gemini Cloud Assist pour identifier les opportunités d'optimisation et adapter vos applications en conséquence. Vous pouvez également utiliser Application Design Center pour gérer le cycle de vie de vos applications. La page Déploiements de Cloud Hub affiche les applications pour lesquelles des mises à jour sont disponibles à partir du modèle Application Design Center sur lequel elles sont basées, ce qui simplifie le processus de mise à jour.