Présentation d'App Hub

De nombreuses applications cloud évoluent pour inclure plusieurs ressources d'infrastructure provenant d'un ou de plusieurs projets Google Cloud, ce qui peut compliquer la gestion et la compréhension de ces ressources pour les développeurs et les opérateurs. App Hub propose une méthode axée sur les applications pour organiser ces ressources afin de vous aider à comprendre les interactions entre les ressources et à soutenir les fonctions métier.

Ce document est destiné aux personnes qui configurent, administrent et utilisent des applications App Hub.

Organisation axée sur les applications

App Hub s'aligne sur vos objectifs commerciaux en vous permettant d'organiser vos ressources Google Cloud de manière axée sur les applications, de la même manière que vous envisagez les fonctionnalités métier. App Hub est entièrement géré par Google Cloud et ne nécessite aucune infrastructure supplémentaire.

Les administrateurs App Hub peuvent facilement gérer les ressources d'infrastructure extraites d'un ou de plusieurs projets Google Cloud, ce qui simplifie les opérations commerciales et la gouvernance complexes à grande échelle. App Hub permet d'organiser ces ressources d'infrastructure en créant des applications App Hub qui les incluent en tant que services et charges de travail App Hub. L'enregistrement des services et des charges de travail dans une application peut vous aider à répondre aux questions suivantes:

  • Combien d'applications existent dans tous mes projets ?
  • Comment les services et les charges de travail de mes applications dépendent-ils les uns des autres ?
  • À qui appartiennent ces applications, services et charges de travail ?
  • Combien d'applications sont essentielles ?
  • Combien d'applications sont en production ?

Par exemple, plusieurs équipes peuvent être chargées du développement d'applications pour votre entreprise. Ces équipes peuvent créer des centaines ou des milliers de ressources Google Cloud réparties dans de nombreux projets Google Cloud. App Hub détecte automatiquement les ressources d'infrastructure et les représente en tant qu'abstractions de services et de charges de travail. Vous pouvez enregistrer ces services et charges de travail dans des applications, ce qui clarifie la propriété et la criticité des ressources. Pour en savoir plus, consultez la page Concepts et modèle de données d'App Hub.

Lorsque les ressources sont organisées en applications, vous pouvez appliquer une logique et des stratégies métier à une application, en sachant que seule cette application est affectée et que vous savez quelles personnes dans votre organisation sont responsables de cette application. Par exemple, vous pouvez créer une application pour un environnement particulier, tel que l'environnement de production, et fournir un accès hautement privilégié à ses propriétaires.

Si votre entreprise subit un changement dans la structure de l'équipe, vous pouvez facilement transférer la propriété des applications avec App Hub. Vous pouvez également déterminer plus facilement les dépendances entre différentes ressources et applications lorsque vous utilisez App Hub.

Cas d'utilisation

App Hub est compatible avec les cas d'utilisation suivants:

  • Organisez et classez vos applications : App Hub vous permet d'organiser et de classer vos applications à l'aide d'attributs tels que Owner, Criticality et Environment. Cela facilite la recherche et la gestion d'applications spécifiques et des ressources associées.

  • Comprendre les ressources de votre application : App Hub vous aide à comprendre les compositions de vos applications. Cela peut aider les développeurs et les opérateurs à comprendre le fonctionnement de vos applications et leurs dépendances.

Concepts et modèle de données

App Hub repose sur trois concepts clés:

  • Une application est un regroupement fonctionnel de services et de charges de travail qui aboutit à une fonctionnalité métier de bout en bout.
  • Une charge de travail représente un déploiement binaire qui exécute le plus petit sous-ensemble logique d'une fonctionnalité d'entreprise, par exemple un groupe d'instances géré (MIG) ou un déploiement Google Kubernetes Engine (GKE).
  • Un service est une interface réseau ou API qui expose des fonctionnalités aux clients afin qu'elles soient utilisées sur le réseau (par exemple, la règle de transfert d'un équilibreur de charge).

App Hub repose sur le concept d'application.

Vous pouvez utiliser des applications et les attributs associés pour créer des limites opérationnelles et de gouvernance autour des abstractions de service et de charge de travail. Vous pouvez ensuite utiliser ces attributs pour organiser et localiser des applications, ainsi que les charges de travail et services associés, tout en effectuant des activités telles que l'observabilité, l'audit et la gouvernance.

Modèle de données App Hub
Figure 1 : modèle de données App Hub.

L'état d'enregistrement d'un service ou d'une charge de travail dans votre projet hôte peut prendre l'une des valeurs suivantes:

  • Détectés: services et charges de travail que vous pouvez enregistrer dans une application. Les services et charges de travail détectés incluent les services ou les charges de travail que vous supprimez ou annulez l'enregistrement d'une application.
  • Enregistrés: services et charges de travail enregistrés pour une application. Vous ne pouvez enregistrer qu'un service ou une charge de travail découverts. Une fois que vous avez enregistré le service ou la charge de travail, l'état de l'enregistrement passe de "découverte" à "enregistré".
  • Dissocié: services et charges de travail enregistrés pour une application dont les ressources sous-jacentes sont supprimées. Par exemple, si la règle de transfert représentée par un service est supprimée, le champ Registration Status (État de l'enregistrement) passe à Detached (Dissocié). Les services et charges de travail dissociés restent dans l'application jusqu'à ce que vous les annuliez.

Projets hôtes

Un projet hôte héberge les ressources App Hub (applications, services, charges de travail). Les services et les charges de travail App Hub servent d'abstractions pour les ressources que vous découvrez dans les projets de service associés au projet hôte. Un projet hôte agit comme une limite administrative avec les applications concernées par cette limite. Vous pouvez créer des limites distinctes avec plusieurs projets hôtes et applications afin de répondre à des besoins métier spécifiques. Les projets hôtes vous permettent également de gérer des applications multiprojets, dont les services et charges de travail sont présents dans plusieurs projets.

Nous vous recommandons de créer un projet Google Cloud en tant que projet hôte afin de différencier les ressources d'infrastructure sous-jacentes des concepts de modèle de données d'App Hub. Si vous avez besoin de plusieurs projets hôtes (par exemple, un projet hôte pour chaque unité commerciale indépendante), nous vous recommandons de créer un dossier et d'y ajouter les projets.

En fonction des rôles IAM (Identity and Access Management) attribués au projet hôte (apphub.admin, apphub.editor et apphub.viewer), vous pouvez créer des applications, leur attribuer des attributs, et enregistrer ou afficher des services et des charges de travail. Pour en savoir plus, consultez Rôles et autorisations App Hub.

Pour en savoir plus sur la création de projets hôtes, consultez Configurer App Hub.

Projets de service

Un projet de service est un projet Google Cloud qui contient les ressources d'infrastructure sous-jacentes. Vous devez associer un projet de service au projet hôte afin de mettre à disposition les ressources d'infrastructure qu'il contient et de les regrouper dans une application.

Vous ne pouvez pas associer un projet de service à plusieurs projets hôte. Un projet hôte peut être un projet de service pour lui-même, mais pas pour un autre projet hôte.

Propriétés et attributs

Le modèle de données d'App Hub propose également des propriétés et des attributs permettant d'améliorer les fonctionnalités des applications, des services et des charges de travail.

Les propriétés sont des champs qui décrivent les ressources d'infrastructure sous-jacentes d'un service ou d'une charge de travail. Les propriétés permettent d'identifier les informations pertinentes dans les ressources d'infrastructure sous-jacentes qui peuvent faciliter l'expérience d'enregistrement de services ou de charges de travail. Les propriétés sont immuables et sont mises à jour avec la ressource sous-jacente. Exemples : ID de projet, emplacement et zone.

Les attributs sont des champs modifiables qui peuvent être définis pour des applications, des services et des charges de travail afin de mieux les identifier et les organiser. Les attributs App Hub compatibles sont les suivants:

  • L'attribut Owners contient les coordonnées d'une application, d'un service ou d'une charge de travail. Les types de propriétaires acceptés sont les suivants :
    • developer_owners: équipe de développement chargée du développement et du codage.
    • operator_owners: équipe d'opérateurs qui assure l'intégrité de l'environnement d'exécution et des opérations.
    • business_owners: équipe commerciale qui veille à la qualité et au respect des attentes des utilisateurs.
  • La criticité d'une application, d'un service ou d'une charge de travail indique son importance pour l'entreprise. Les valeurs acceptées sont les suivantes:

    • Application critique
    • Élevée
    • Moyenne
    • Faible
  • L'environnement d'une application, d'un service ou d'une charge de travail correspond à l'étape du cycle de vie d'un logiciel (par exemple, production, préproduction ou développement). Les valeurs acceptées sont les suivantes:

    • Production
    • Préproduction
    • Test
    • Développement

API et documentation de référence gcloud

Pour en savoir plus sur les propriétés App Hub, consultez les documentations de référence suivantes:

Étapes suivantes