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 à leurs besoins de normalisation et de gouvernance, tout en permettant à leurs développeurs d'applications de les déployer rapidement avec vélocité. 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 garde-fous pour le provisionnement des ressources, l'octroi d'autorisations IAM, etc.

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

Présentation de ADC et de Firebase

Nous vous recommandons de consulter la documentation Google Cloud pour obtenir une présentation 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, dans lequel 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 d'utiliser ADC avec son interface 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 de 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 :

Personas clés pour l'utilisation de ADC

Une façon courante de comprendre et d'utiliser ADC consiste à décomposer les tâches associées à ADC en fonction de deux personas :

  • Ingénieur de plate-forme : ce persona conçoit, valide et publie des modèles ADC réutilisables et appliqués par des 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. Il développe également le codebase et les fonctionnalités réels de l'application.

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

En attribuant des rôles IAM, vous pouvez contrôler les membres du projet (ou comptes principaux) qui peuvent 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 que le rôle Éditeur d'application (roles/designcenter.applicationEditor) à 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 associées à ADC-related , le persona prévu 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, ainsi que 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 déployer 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 ADC déploiement Ingénieur de plate-forme Administrateur IAM du projet
(roles/resourcemanager.projectIamAdmin) sur le projet de déploiement
Configurer et déployer des applicationsADC
Contrôler le cycle de vie complet de l'application
(y compris l'intégration au code source et aux systèmes CI/CD)
Développeur d'applications Administrateur d'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 d'application
(roles/designcenter.applicationEditor) sur le projet de gestion

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

Workflow général

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

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

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

Le persona de l'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 initialeADC

    Suivez les étapes et les conseils du guide de configuration initiale pour ADC dans la documentation Google Cloud. Notez que ce guide part du principe 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 utiliser ADC.

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

    Suivez les étapes décrites dans Gérer les utilisateurs d'espace pour ADC dans la documentation Google Cloud. Suivez les conseils décrits précédemment sur cette page concernant les rôles IAM requis pour contrôler les accès.

  3. Provisionner des projets

    Créez un ou plusieurs nouveaux 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. Configurer 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 avez également la possibilité d'utiliser 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 de l'ingénieur de plate-forme utilise le canevas de conception ou même Gemini Cloud Assist pour créer un nouveau ADC modèle.

  1. Définir des ressources

    À l'aide du canevas de conception, faites glisser des composants sur le canevas et 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 suit :

    • 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).
    • Firebase Security Rules sont initialement définies pour refuser toutes les demandes d'accès par défaut. Ensuite, lorsque le développeur d'applications utilise ce modèle pour son propre déploiement, il peut modifier ces Security Rules pour les aligner sur le modèle d'accès requis.
  2. Définir 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 des ressources dans la Firebase console, attribuez-leur le rôle Lecteur Firebase (roles/firebase.viewer).

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

  3. Ajouter le modèle à un catalogue

    Une fois que vous avez testé votre modèle, ajoutez-le au catalogue ADC de votre équipe. Ce catalogue doit être partagé avec les personnes approprié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 du 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électionner un modèle et le configurer

    Dans le catalogue ADC, sélectionnez un modèle et configurez-le pour créer un brouillon d'application. Les configurations disponibles, telles que 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éployer l'infrastructure

    Une fois le brouillon d'application créé, déployez l' ADC application sur 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 Firebase console et afficher les ressources provisionnées et les services activés pour votre projet.

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

ADC permet de configurer l'Google Cloud infrastructure Firebase et Google Cloud (par exemple, provisionner des ressources et activer des API). Toutefois, il ne code _**pas**_ l'application réelle qui utilise ces ressources et ces API.

Voici quelques éléments importants que le persona du développeur d'applications doit effectuer :

  1. Associer le codebase de votre application à Firebase

    Obtenez la configuration Firebase puis ajoutez-la au 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. Aligner le code et les ressources

    (si vous utilisez Cloud Firestore) Veillez à mettre à jour et à publier Firebase Security Rules pour les 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", qui sont automatiquement enregistrées dans App Hub. Cela permet une surveillance consolidée une observation des coûts et un dépannage des ressources Firebase dans le contexte de déploiements Google Cloud plus larges.