Comienza a usar App Design Center (ADC) y Firebase

Firebase se integra con Application Design Center (ADC) de Google Cloud para permitir que los clientes empresariales satisfagan las necesidades de estandarización y gobernanza, y, al mismo tiempo, capaciten a sus desarrolladores de aplicaciones para que realicen envíos con rapidez. El uso de ADC garantiza que la infraestructura cumpla con los estándares y las prácticas recomendadas de la organización a través de plantillas predefinidas que definen los límites para el aprovisionamiento de recursos, la concesión de 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 visió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 se usa ADC, una "app" se define como una agrupación lógica de recursos y servicios que, en conjunto, ofrecen una función comercial. Si eres desarrollador de Firebase, puedes considerar que una "app" de ADC equivale a un proyecto de Firebase, en el que todas tus apps registradas para iOS, Android y la Web comparten y tienen acceso a los mismos recursos y servicios del proyecto.

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 que esté disponible para tus apps.

Ten en cuenta que ADC se basa en 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

A continuación, se muestra el conjunto inicial de productos de Firebase admitidos que se pueden usar con ADC:

Arquetipos 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 arquetipos:

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

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

Roles de IAM obligatorios 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 de Administrador de App Design Center (roles/designcenter.admin) al ingeniero de plataformas 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, el arquetipo de usuario previsto y los roles necesarios:

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, plantillas, configuración y la implementación de apps)
Ingeniero de plataforma Administrador de App 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 App 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
Controlar el ciclo de vida completo 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 establecerse 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 están etiquetados con el arquetipo de usuario 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 arquetipo de ingeniero de plataformas (o un arquetipo superior) completa estas tareas para configurar ADC. Por lo general, estas tareas solo deben completarse una vez para tener todo configurado para usar ADC.

  1. Configuración ADC inicial.

    Sigue los pasos y la orientación 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 desarrolle aplicaciones. Asegúrate de que este espacio (y la carpeta y el catálogo) se compartan 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 del espacio para ADC en la documentación de Google Cloud. Sigue las instrucciones que se describieron anteriormente en esta página sobre los roles de IAM obligatorios para controlar el acceso.

  3. Aprovisiona proyectos previamente.

    Crea uno o más proyectos Google Cloud nuevos en la carpeta. Asegúrate de vincular una cuenta de Cloud Billing a estos proyectos. Tu 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 la aplicación use su propia cuenta para implementar la infraestructura.

    ADC puede crear automáticamente una cuenta de servicio con un alcance limitado 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 tenga los permisos que consideres adecuados para los desarrolladores de aplicaciones.

Paso 2: Crea una plantilla (ingeniero de plataformas)

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

  1. Define los recursos.

    Con el lienzo de diseño, arrastra y suelta componentes en el lienzo y crea conexiones entre ellos. Estos componentes son la forma en que defines 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 crear apps para iOS, Android y la 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).
    • Inicialmente, los objetos Firebase Security Rules se configuran para rechazar todas las solicitudes de acceso de forma predeterminada. Luego, cuando el desarrollador de la aplicación use esta plantilla para su propia implementación, podrá cambiar estos Security Rules para alinearlos 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 para esas políticas. Actualmente, 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 la consola de Firebase, asígnale el rol de visualizador de Firebase (roles/firebase.viewer).

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

  3. Agrega la plantilla a un catálogo.

    Después de probar la plantilla, agrégala al catálogo 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)

El arquetipo 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 la aplicación. Las configuraciones disponibles, como las regiones posibles para los recursos, se limitan a las que establece el ingeniero de la plataforma cuando crea la plantilla.

  2. Implementa 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 de Firebase 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 Google Cloud infraestructura (como el aprovisionamiento de recursos y la habilitación de APIs). Sin embargo, no codifica la app real que usa esos recursos y APIs.

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

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

    Obtén y 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 que se alinee con el modelo de datos de Cloud Firestore para la app.

¿Qué más puedes hacer?

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