Firebase se integra con el 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, permitir que sus desarrolladores de apps 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, el otorgamiento de permisos de IAM, etcétera.
En esta página, obtén información sobre lo siguiente:
- Descripción general de ADC y Firebase, incluidos los productos de Firebase admitidos
- Personas clave y los roles de IAM obligatorios para controlar el acceso
- Flujo de trabajo general
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 se usa 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, puedes considerar que una ADC "app" es equivalente a un proyecto de Firebase, en el que 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 Google Cloud consola. 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 está respaldado por Terraform, por lo que siempre tendrás acceso a la definición de código de la infraestructura definida con ADC.
Productos de Firebase admitidos
Este es el conjunto inicial de productos de Firebase admitidos que se pueden usar con ADC:
- Firebase AI Logic
- Firebase Authentication
- Firebase App Check
- Cloud Firestore
- Firebase Security Rules
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 personas:
Ingeniero de plataforma: Esta persona diseña, verifica y publica plantillas ADC reutilizables y con políticas aplicadas en un catálogo ADC.
Desarrollador de aplicaciones: Esta persona usa plantillas ADC publicadas (como las del catálogo 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 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 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 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, la persona prevista y los roles obligatorios:
| Tarea | Personificación | Rol de IAM 1 |
|---|---|---|
| Crea y administra plantillas | ||
|
Administra el ciclo de vida completo de ADC (incluida la administración de espacios, catálogos, plantillas, la configuración y la implementación de apps) |
Ingeniero de plataforma |
Administrador de Application Design Center ( roles/designcenter.admin |
| Crea y administra plantillas, además de configurar e implementar apps | Ingeniero de plataforma |
Usuario de App Design Center ( roles/designcenter.user |
| Crea una cuenta de servicio para implementar ADC apps | ||
| Crea cuentas de servicio | Ingeniero de plataforma |
Crea cuentas de servicio ( roles/iam.serviceAccountCreator |
| Otorga acceso a una cuenta de servicio a un proyecto que se usa para la ADC implementación | Ingeniero de plataforma |
Administrador de IAM de proyecto ( roles/resourcemanager.projectIamAdmin |
| Configura e implementa ADC apps | ||
|
Controla 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 |
| Configura e implementa apps basadas en plantillas y conexiones existentes configuradas por un administrador | Desarrollador de aplicaciones |
Editor de aplicaciones ( roles/designcenter.applicationEditor |
1 Varios de estos roles deben establecerse en el proyecto de administración, que es un recurso de nivel superior dentro de la Google Cloud jerarquía.
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 la persona que suele realizarlos.
- Paso 1: Configura ADC (ingeniero de plataforma)
- Paso 2: Crea una plantilla (ingeniero de plataforma)
- Paso 3: Usa una plantilla (desarrollador de aplicaciones)
- Paso 4: Desarrolla tu app real (desarrollador de aplicaciones)
Paso 1: Configura ADC (ingeniero de plataforma)
La persona del ingeniero de plataforma (o superior) completa estas tareas para configurar ADC. Por lo general, solo es necesario completar estas tareas una vez para tener todo configurado para usar ADC.
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 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 e implemente aplicaciones. Asegúrate de que este espacio (y la carpeta y el catálogo) se compartan con todas las personas con las que deseas trabajar con ADC.
Configura el acceso y los usuarios para el espacio.
Sigue los pasos de Administra usuarios del espacio para ADC en la Google Cloud documentación. Usa la orientación que se describió anteriormente en esta página sobre los roles de IAM obligatorios para controlar el acceso.
Aprovisiona proyectos previamente.
Crea uno o más proyectos nuevos de Google Cloud en la carpeta. Asegúrate de que vincules una cuenta Cloud Billing a estos proyectos. Tu desarrollador de aplicaciones usará estos proyectos cuando implemente la infraestructura definida en la plantilla.
Configura una cuenta de servicio de implementación.
ADC administra el aprovisionamiento automatizado de recursos con una cuenta de servicio de alcance limitado. Esto impide que el desarrollador de aplicaciones use su propia cuenta para implementar la infraestructura.
ADC puede crear automáticamente una cuenta de servicio de 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 plataforma)
La persona del ingeniero de plataforma usa el lienzo de diseño o incluso Gemini Cloud Assist para crear una plantilla ADC nueva.
Define 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) deseas 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 la Web que usen los recursos.
- Los desarrolladores de aplicaciones pueden usar Firebase AI Logic, Firebase Authentication, Cloud Firestore y Firebase Security Rules en su app (consulta una lista de todos los productos de Firebase admitidos para ADC).
- Firebase Security Rules se configuran inicialmente para rechazar todas las solicitudes de acceso de forma predeterminada. Luego, cuando el desarrollador de aplicaciones use esta plantilla para su propia implementación, podrá cambiar estas Security Rules para que se alineen con el modelo de acceso requerido.
Define políticas.
Si deseas definir políticas, como roles de IAM para la infraestructura implementada o regiones permitidas para los recursos, debes configurarlas en las interfaces respectivas para esas políticas. ADC actualmente no admite la definición de políticas a nivel de la plantilla.
Puedes asignar roles de IAM de Firebase específicos 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ígnales el rol 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.
Agrega la plantilla a un catálogo.
Después de probar la plantilla, agrégala al catálogo ADC 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 del desarrollador de aplicaciones selecciona una plantilla predefinida, la configura para su caso de uso específico y, luego, implementa la infraestructura.
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 posibles regiones para los recursos, se limitan a las que estableció el ingeniero de plataforma cuando creó la plantilla.
Implementa la infraestructura.
Después de crear el borrador de la aplicación, implementa la ADC app en uno de los proyectos aprovisionados previamente creados para la implementación de la infraestructura (consulta el Paso 1: Configura ADC más arriba).
Puedes visitar la Firebase consola 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 la Google Cloud infraestructura de Firebase (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 acciones importantes que debe realizar la persona del desarrollador de aplicaciones:
Conecta la base de código de tu app a Firebase.
Obtén la configuración de Firebase y, luego, agrégala 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.jsonal directorio adecuado dentro de tu proyecto de Android.Mantén el código y los recursos alineados.
(si usas Cloud Firestore) Asegúrate de actualizar y publicar Firebase Security Rules para que se alineen con el modelo de datos de Cloud Firestore para la app.
¿Qué más puedes hacer?
- Supervisa las "apps" de ADC implementadasADC, 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 más amplias Google Cloud