Premiers pas avec App Design Center (ADC) et Firebase

Firebase s'intègre à Application Design Center (ADC) de Google Cloud pour permettre aux entreprises clientes de répondre aux besoins de normalisation et de gouvernance, tout en permettant à leurs développeurs d'applications de déployer rapidement. L'utilisation de ADC garantit que l'infrastructure respecte les normes et les bonnes pratiques de l'organisation grâce à des modèles prédéfinis qui définissent des règles pour le provisionnement des ressources, l'octroi d'autorisations IAM, etc.

Sur cette page, vous allez découvrir les éléments suivants :

Présentation de ADC et de Firebase

Nous vous recommandons de consulter la documentation Google Cloud pour obtenir un aperçu de ADC. La documentation Google Cloud fournit également plusieurs guides détaillés pour ADC, y compris les concepts clés et un guide de configuration initiale.

Lorsque vous utilisez ADC, une "application" est définie comme un regroupement logique de ressources et de services qui, ensemble, fournissent une fonction métier. Pour les développeurs Firebase, vous pouvez considérer une ADC"application" comme l'équivalent d'un projet Firebase, où vos applications iOS, Android et Web enregistrées partagent et ont accès aux mêmes ressources et services pour le projet.

Pour commencer, nous vous recommandons de travailler avec ADC à l'aide de son interface utilisateur graphique appelée canevas de conception, disponible dans la console Google Cloud. Le canevas de conception vous permet de visualiser et de créer des schémas d'architecture de l'infrastructure que vous souhaitez mettre à la disposition de vos applications.

Notez que ADC est basé sur Terraform. Vous aurez donc toujours accès à la définition du code de l'infrastructure définie à l'aide de ADC.

Produits Firebase compatibles

Voici l'ensemble initial de produits Firebase compatibles qui peuvent être utilisés avec ADC :

Personnes clés pour l'utilisation de ADC

Pour comprendre et utiliser ADC, il est courant de décomposer les tâches associées à ADC en fonction de deux personas :

  • Ingénieur de plate-forme : ce persona conçoit, vérifie et publie des modèles ADC réutilisables et conformes aux règles dans un catalogue ADC.

  • Développeur d'applications : ce persona utilise des modèles ADC publiés (comme ceux du catalogue ADC de l'équipe) pour configurer et déployer l'infrastructure. Ils développent également le codebase et les fonctionnalités de l'application.

Rôles IAM requis pour contrôler l'accès

En attribuant des rôles IAM, vous pouvez contrôler les membres du projet (ou entités) autorisés à effectuer des tâches spécifiques.

Par exemple, vous pouvez attribuer le rôle Administrateur App Design Center (roles/designcenter.admin) à l'ingénieur de plate-forme qui doit créer et attribuer des espaces, gérer des catalogues et concevoir des modèles. Toutefois, vous n'attribuerez probablement le rôle Éditeur d'application (roles/designcenter.applicationEditor) qu'à un développeur d'applications afin qu'il puisse utiliser des modèles, mais pas en créer.

Le tableau suivant décrit les tâches liées à ADC, la persona à laquelle elles sont destinées et les rôles requis :

Tâche Persona Rôle IAM 1
Créer et gérer des modèles
Gérer le cycle de vie complet de ADC
(y compris la gestion des espaces, des catalogues, des modèles, la configuration et le déploiement des applications)
Ingénieur de plate-forme Administrateur App Design Center
(roles/designcenter.admin) sur le projet de gestion
Créer et gérer des modèles, et configurer et déployer des applications Ingénieur de plate-forme Utilisateur App Design Center
(roles/designcenter.user) sur le projet de gestion
Créer un compte de service pour le déploiement des applications ADC
Créer des comptes de service Ingénieur de plate-forme Créateur de comptes de service
(roles/iam.serviceAccountCreator) sur le projet de gestion
Accorder à un compte de service l'accès à un projet utilisé pour le déploiement ADC Ingénieur de plate-forme Administrateur de projet IAM
(roles/resourcemanager.projectIamAdmin) sur le projet de déploiement
Configurer et déployer des applications ADC
Contrôlez l'intégralité du cycle de vie de l'application
(y compris l'intégration aux systèmes de code source et CI/CD).
Développeur d'applications Administrateur de l'application
(roles/designcenter.applicationAdmin) sur le projet de gestion
Configurer et déployer des applications basées sur des modèles et des connexions existants configurés par un administrateur Développeur d'applications Éditeur de l'application
(roles/designcenter.applicationEditor) sur le projet de gestion

1 Plusieurs de ces rôles doivent être définis dans le projet de gestion, qui est une ressource de premier niveau dans la hiérarchie Google Cloud.

Workflow général

Cette section décrit un workflow général pour créer et utiliser un modèle ADC. Les étapes sont associées à la personne qui les effectue généralement.

  1. Étape 1 : Configurez ADC (ingénieur de plate-forme)
  2. Étape 2 : Créez un modèle (ingénieur de plate-forme)
  3. Étape 3 : Utiliser un modèle (développeur d'applications)
  4. Étape 4 : Développez votre application (développeur d'applications)

Étape 1 : Configurer ADC (ingénieur de plate-forme)

Le persona d'ingénieur de plate-forme (ou un persona de niveau supérieur) effectue ces tâches pour configurer ADC. Ces tâches ne doivent généralement être effectuées qu'une seule fois pour que tout soit configuré pour utiliser ADC.

  1. Configuration initiale de ADC

    Suivez les étapes et les conseils du guide de configuration initiale pour ADC dans la documentation Google Cloud. Notez que ce guide suppose que vous allez configurer des limites au niveau du dossier.

    Une fois cette configuration terminée, vous devriez disposer d'un espace, qui est une zone dédiée permettant à une équipe de collaborer, de créer des modèles et de déployer des applications. Assurez-vous que cet espace (ainsi que le dossier et le catalogue) est partagé avec toutes les personnes avec lesquelles vous souhaitez collaborer ADC.

  2. Configurez l'accès et les utilisateurs pour l'espace.

    Suivez la procédure décrite dans Gérer les utilisateurs d'un espace pour ADC dans la documentation Google Cloud. Suivez les conseils décrits plus haut sur cette page concernant les rôles IAM requis pour contrôler les accès.

  3. Provisionnez des projets au préalable.

    Créez un ou plusieurs projets Google Cloud dans le dossier. Assurez-vous d'associer un compte Cloud Billing à ces projets. Ces projets seront utilisés par votre développeur d'applications lorsqu'il déploiera l'infrastructure définie dans le modèle.

  4. Configurez un compte de service de déploiement.

    ADC gère le provisionnement automatisé des ressources à l'aide d'un compte de service à portée limitée. Cela empêche le développeur d'applications d'utiliser son propre compte pour déployer l'infrastructure.

    ADC peut créer automatiquement un compte de service à portée limitée en votre nom lorsque vous testez le déploiement des modèles que vous créez. Vous pouvez également apporter votre propre compte de service disposant des autorisations que vous jugez appropriées pour les développeurs d'applications.

Étape 2 : Créer un modèle (ingénieur de plate-forme)

Le persona d'ingénieur de plate-forme utilise le canevas de conception ou même Gemini Cloud Assist pour créer un modèle ADC.

  1. Définissez les ressources.

    À l'aide du canevas de conception, faites glisser et déposez des composants sur le canevas, puis créez des connexions entre eux. Ces composants vous permettent de définir les services Firebase (et Google Cloud) que vous souhaitez que les développeurs d'applications utilisent.

    Par exemple, le modèle peut définir des ressources comme celles-ci :

    • Les développeurs d'applications peuvent développer des applications iOS, Android et Web qui utilisent toutes les ressources.
    • Les développeurs d'applications peuvent utiliser Firebase AI Logic, Firebase Authentication, Cloud Firestore et Firebase Security Rules dans leur application (consultez la liste de tous les produits Firebase compatibles avec ADC).
    • Les Firebase Security Rules sont initialement définis pour refuser toutes les demandes d'accès par défaut. Ensuite, lorsque le développeur d'applications utilisera ce modèle pour son propre déploiement, il pourra modifier ces Security Rules pour les aligner sur le modèle d'accès requis.
  2. Définissez des règles.

    Si vous souhaitez définir des règles, telles que des rôles IAM pour l'infrastructure déployée ou des régions autorisées pour les ressources, vous devez les définir dans les interfaces respectives de ces règles. ADC ne permet pas actuellement de définir des règles au niveau du modèle.

    Vous pouvez attribuer des rôles IAM Firebase spécifiques aux membres du projet en fonction de ce que vous souhaitez qu'ils fassent. Par exemple, s'ils n'ont besoin que d'afficher les ressources dans la console Firebase, attribuez-leur le rôle Lecteur Firebase (roles/firebase.viewer).

    Vous pouvez définir des limites régionales pour les ressources au niveau du dossier ou de l'organisation.

  3. Ajoutez le modèle à un catalogue.

    Après avoir testé votre modèle, ajoutez-le au catalogue ADC de votre équipe. Ce catalogue doit être partagé avec les personnes concernées, en particulier les développeurs d'applications, afin qu'ils puissent utiliser les modèles (voir Étape 1 : Configurer ADC ci-dessus).

Étape 3 : Utiliser un modèle (développeur d'applications)

Le persona de développeur d'applications sélectionne un modèle prédéfini, le configure pour son cas d'utilisation spécifique, puis déploie l'infrastructure.

  1. Sélectionnez un modèle et configurez-le.

    Dans le catalogue ADC, sélectionnez un modèle et configurez-le pour créer un brouillon d'application. Les configurations disponibles (comme les régions possibles pour les ressources) sont limitées à celles définies par l'ingénieur de plate-forme lors de la création du modèle.

  2. Déployez l'infrastructure.

    Une fois le brouillon de l'application créé, déployez l'application ADC dans l'un des projets préprovisionnés créés pour le déploiement de l'infrastructure (voir Étape 1 : Configurer ADC ci-dessus).

    Vous pouvez accéder à la console Firebase et afficher les ressources provisionnées et les services activés pour votre projet.

Étape 4 : Développez votre application (développeur d'applications)

ADC permet de configurer Firebase et l'Google Cloud infrastructure (comme le provisionnement des ressources et l'activation des API). Toutefois, il ne code pas l'application qui utilise ces ressources et ces API.

Voici quelques actions importantes que le persona Développeur d'applications doit effectuer :

  1. Associez le code de votre application à Firebase.

    Obtenez la configuration Firebase, puis ajoutez-la à la codebase de chaque application.

    Par exemple, si le modèle autorise une application Android, vous devez ajouter le fichier google-services.json au répertoire approprié de votre projet Android.

  2. Assurez-vous que le code et les ressources sont alignés.

    (si vous utilisez Cloud Firestore) Veillez à mettre à jour et à publier Firebase Security Rules pour l'aligner sur le modèle de données Cloud Firestore de l'application.

Qu'est-ce que tu sais faire d'autre ?

  • Surveillez les ADC applications déployées, qui sont automatiquement enregistrées dans App Hub. Cela permet de consolider la surveillance, l'observation des coûts et le dépannage des ressources Firebase dans le contexte de déploiements Google Cloud plus larges.