Comienza a usar App Design Center (ADC) y Firebase

Firebase se integra en la Application Design Center (ADC) de Google Cloud para permitir que los clientes empresariales satisfagan las necesidades de estandarización y administración, y, al mismo tiempo, capaciten a sus desarrolladores de apps para que realicen envíos con rapidez. El uso de ADC garantiza que la infraestructura se adhiera a los estándares y las prácticas recomendadas de la organización a través de plantillas predefinidas que definen las protecciones para aprovisionar recursos, otorgar permisos de IAM, etcétera.

En esta página, obtendrás información sobre lo siguiente:

Descripción general de ADC y Firebase

Te recomendamos que revises la documentación de Google Cloud para obtener una descripción general de ADC. La documentación de Google Cloud también proporciona varias guías detalladas para ADC, incluidos los conceptos clave y una guía de configuración inicial.

Cuando usas ADC, una "app" se define como una agrupación lógica de recursos y servicios que, en conjunto, ofrecen una función empresarial. Para los desarrolladores de Firebase, una "app" de ADC equivale a un proyecto de Firebase, en el que todas las apps web, para iOS y para Android registradas comparten los mismos recursos y servicios del proyecto, y tienen acceso a ellos.

Para comenzar, te recomendamos que trabajes con ADC usando su experiencia de GUI llamada lienzo de diseño que está disponible en la consola de Google Cloud. El lienzo de diseño te permite visualizar y crear diagramas de arquitectura de la infraestructura que deseas disponible para tus apps.

Ten en cuenta que ADC está respaldado por Terraform, por lo que siempre tendrás acceso a la definición de código de la infraestructura que se define con ADC.

Productos de Firebase admitidos

Este es el conjunto inicial de productos de Firebase compatibles que se pueden usar con ADC:

Personas clave para usar ADC

Una forma común de comprender y usar ADC es desglosar las tareas relacionadas con ADC en función de dos roles:

  • Ingeniero de plataforma: Este rol diseña, verifica y publica plantillas de ADC reutilizables y que aplican políticas en un catálogo de ADC.

  • Desarrollador de aplicaciones: Este rol usa plantillas de ADC publicadas (como las del catálogo de ADC del equipo) para configurar e implementar la infraestructura. También desarrollan la base de código y las funciones reales de la app.

Roles de IAM necesarios para controlar el acceso

Si asignas roles de IAM, puedes controlar qué miembros del proyecto (o principales) pueden realizar tareas específicas.

Por ejemplo, puedes asignar el rol Administrador de Application Design Center (roles/designcenter.admin) al ingeniero de plataforma que necesita crear y asignar espacios, administrar catálogos y diseñar plantillas. Sin embargo, es probable que solo asignes el rol de editor de aplicaciones (roles/designcenter.applicationEditor) a un desarrollador de aplicaciones para que pueda usar plantillas, pero no crearlas.

En la siguiente tabla, se describen las tareas relacionadas con ADC, su rol previsto y sus roles obligatorios:

Tarea Personificación Rol de IAM 1
Crea y administra plantillas
Administrar el ciclo de vida completo de ADC
(incluida la administración de espacios, catálogos y plantillas, y la configuración y la implementación de apps)
Ingeniero de plataforma Administrador de Application Design Center
(roles/designcenter.admin) en el proyecto de administración
Crear y administrar plantillas, así como configurar e implementar apps Ingeniero de plataforma Usuario de Application Design Center
(roles/designcenter.user) en el proyecto de administración
Crea una cuenta de servicio para implementar apps de ADC
Crea cuentas de servicio Ingeniero de plataforma Crea cuentas de servicio
(roles/iam.serviceAccountCreator) en el proyecto de administración
Otorga acceso a una cuenta de servicio a un proyecto que se usa para la implementación de ADC Ingeniero de plataforma Administrador de IAM de proyecto
(roles/resourcemanager.projectIamAdmin) en el proyecto de implementación
Configura e implementa apps de ADC
Controla todo el ciclo de vida de la app
(incluida la integración con el código fuente y los sistemas de CI/CD)
Desarrollador de aplicaciones Administrador de aplicaciones
(roles/designcenter.applicationAdmin) en el proyecto de administración
Configurar e implementar apps basadas en plantillas y conexiones existentes establecidas por un administrador Desarrollador de aplicaciones Editor de aplicaciones
(roles/designcenter.applicationEditor) en el proyecto de administración

1 Varios de estos roles deben configurarse en el proyecto de administración, que es un recurso de nivel superior dentro de la jerarquía de Google Cloud.

Flujo de trabajo general

En esta sección, se describe un flujo de trabajo general para crear y usar una plantilla de ADC. Los pasos se etiquetan con el rol que suele realizar el paso.

  1. Paso 1: Configura ADC (ingeniero de plataformas)
  2. Paso 2: Crea una plantilla (ingeniero de plataformas)
  3. Paso 3: Usa una plantilla (desarrollador de aplicaciones)
  4. Paso 4: Desarrolla tu app real (desarrollador de aplicaciones)

Paso 1: Configura ADC (ingeniero de plataformas)

El rol de ingeniero de plataforma (o superior) completa estas tareas para configurar ADC. Por lo general, estas tareas solo deben completarse una vez para tener todo configurado y usar ADC.

  1. Configuración inicial de ADC.

    Sigue los pasos y las instrucciones de la guía de configuración inicial para ADC en la documentación de Google Cloud. Ten en cuenta que en esta guía se supone que configurarás límites a nivel de la carpeta.

    Después de completar esta configuración, deberías tener un espacio, que es un área dedicada para que un equipo colabore, cree plantillas y, luego, implemente aplicaciones. Asegúrate de que este espacio (y la carpeta y el catálogo) se comparta con todas las personas con las que quieras trabajar ADC.

  2. Configura el acceso y los usuarios del espacio.

    Sigue los pasos que se indican en Administra usuarios de espacios para ADC en la documentación de Google Cloud. Usa la guía que se describió antes en esta página sobre los roles de IAM necesarios para controlar el acceso.

  3. Aprovisiona proyectos con anticipación.

    Crea uno o más proyectos de Google Cloud nuevos en la carpeta. Asegúrate de vincular una cuenta de Cloud Billing a estos proyectos. El desarrollador de aplicaciones usará estos proyectos cuando implemente la infraestructura definida en la plantilla.

  4. Configura una cuenta de servicio de implementación.

    ADC administra el aprovisionamiento automatizado de recursos con una cuenta de servicio de alcance limitado. Esto evita que el desarrollador de aplicaciones use su propia cuenta para implementar la infraestructura.

    ADC puede crear automáticamente una cuenta de servicio con un alcance restringido en tu nombre mientras pruebas la implementación de las plantillas que creas. También tienes la opción de usar tu propia cuenta de servicio, que tiene los permisos que consideras adecuados para los desarrolladores de aplicaciones.

Paso 2: Crea una plantilla (ingeniero de plataformas)

El rol de ingeniero de plataforma usa el lienzo de diseño o incluso Gemini Cloud Assist para crear una nueva plantilla de ADC.

  1. Define recursos.

    Con el lienzo de diseño, arrastra y suelta componentes en el lienzo y crea conexiones entre ellos. Estos componentes definen qué servicios de Firebase (y Google Cloud) quieres que usen los desarrolladores de aplicaciones.

    Por ejemplo, la plantilla podría definir recursos como los siguientes:

    • Los desarrolladores de aplicaciones pueden desarrollar apps para iOS, Android y apps web que usen los recursos.
    • Los desarrolladores de aplicaciones pueden usar Firebase AI Logic, Firebase Authentication, Cloud Firestore y Firebase Security Rules en sus apps (consulta una lista de todos los productos de Firebase compatibles con ADC).
    • De forma predeterminada, las Firebase Security Rules se configuran inicialmente para rechazar todas las solicitudes de acceso. Luego, cuando el desarrollador de la aplicación use esta plantilla para su propia implementación, podrá cambiar estos Security Rules para que se alineen con su modelo de acceso requerido.
  2. Define políticas.

    Si deseas definir políticas, como roles de IAM para la infraestructura implementada o regiones permitidas para los recursos, debes establecerlas en las interfaces respectivas de esas políticas. Por el momento, ADC no admite la definición de políticas a nivel de la plantilla.

    Puedes asignar roles específicos de IAM de Firebase a los miembros del proyecto según lo que quieras que hagan. Por ejemplo, si solo necesitan ver recursos en Firebase Firebase console, asígnales el rol de visualizador de Firebase (roles/firebase.viewer).

    Puedes establecer limitaciones de región para los recursos a nivel de la carpeta o de la organización.

  3. Agrega la plantilla a un catálogo.

    Después de probar tu plantilla, agrégala al catálogo de ADC de tu equipo. Este catálogo se debe compartir con las personas adecuadas, en particular con los desarrolladores de aplicaciones, para que puedan usar las plantillas (consulta el Paso 1: Configura ADC más arriba).

Paso 3: Usa una plantilla (desarrollador de aplicaciones)

La persona con el rol de desarrollador de aplicaciones selecciona una plantilla predefinida, la configura para su caso de uso específico y, luego, implementa la infraestructura.

  1. Selecciona una plantilla y configúrala.

    En el catálogo de ADC, selecciona una plantilla y configúrala para crear un borrador de aplicación. Las configuraciones disponibles, como las regiones posibles para los recursos, se limitan a las que estableció el ingeniero de plataformas cuando creó la plantilla.

  2. Implementar la infraestructura

    Después de crear el borrador de la aplicación, implementa la app de ADC en uno de los proyectos aprovisionados previamente que se crearon para la implementación de la infraestructura (consulta el Paso 1: Configura ADC más arriba).

    Puedes visitar la consola deFirebase y ver los recursos aprovisionados y los servicios habilitados para tu proyecto.

Paso 4: Desarrolla tu app real (desarrollador de aplicaciones)

ADC ayuda a configurar Firebase y la infraestructura de Google Cloud (como aprovisionar recursos y habilitar APIs). Sin embargo, no realiza la programación de la app real que usa esos recursos y APIs.

Estas son algunas de las tareas importantes que debe realizar el rol de desarrollador de aplicaciones:

  1. Conecta la base de código de tu app a Firebase.

    Obtén y, luego, agrega la configuración de Firebase a la base de código de cada app.

    Por ejemplo, si la plantilla permite una app para Android, debes agregar el archivo google-services.json al directorio correspondiente dentro de tu proyecto de Android.

  2. Mantén alineados el código y los recursos.

    (Si usas Cloud Firestore) Asegúrate de actualizar y publicar Firebase Security Rules para alinearlo con el modelo de datos de Cloud Firestore de la app.

¿Qué más puedes hacer?

  • Supervisar las "apps" de ADC implementadas, que se registran automáticamente en App Hub Esto permite la supervisión, la observación de costos y la solución de problemas consolidadas para los recursos de Firebase en el contexto de implementaciones de Google Cloud más amplias.