Para aplicaciones de producción, debes configurar un flujo de trabajo de desarrollo claro, especialmente si tienes más de una persona trabajando en tu aplicación. Un flujo de trabajo de desarrollo normalmente implica configurar y administrar múltiples entornos.
Firebase tiene distintos niveles de soporte para los flujos de trabajo de los desarrolladores y los entornos constituyentes. Una vez que esté familiarizado con los términos y suposiciones del flujo de trabajo del desarrollador en esta página, consulte nuestras mejores prácticas generales y pautas de seguridad generales para configurar un proyecto de Firebase y sus aplicaciones.
Acerca de los entornos
En el desarrollo de software, un entorno es todo el hardware y software necesarios para ejecutar una instancia de una aplicación o sistema de aplicaciones.
Una serie de entornos proporciona aislamiento para desarrollar y probar software sin afectar a los usuarios. Como se muestra en el diagrama siguiente, los entornos de alto nivel se consideran preproducción o producción y puede tener tantos entornos de preproducción como sea necesario. El diagrama también describe prácticas y características comunes asociadas con cada tipo de entorno .
El proceso de hacer avanzar una característica o una versión a través de estos entornos hasta la producción se denomina canalización de implementación .
Tipos de ambientes
Un entorno se compone de la infraestructura subyacente que necesita para ejecutar y respaldar su aplicación, su código y sus datos. Amplíe cada uno de los siguientes términos para revisar las descripciones de algunos entornos comunes, incluidos consejos sobre los tipos de datos utilizados en cada tipo de entorno.
Todo desarrollador necesita un entorno de desarrollo: un lugar seguro y aislado para probar los cambios a medida que se crean. Lo ideal es que cada desarrollador de su equipo tenga acceso a su propio entorno de desarrollo. Además, si el entorno de desarrollo es una instancia local, un desarrollador puede iterar mucho más rápido.
Los datos en un entorno de desarrollo están llenos de datos que generalmente se parecen a los datos de producción, pero nunca deben contener datos de usuarios reales. También puede contener datos que hayan causado errores en el pasado, como cadenas muy largas.
Si tiene pruebas automatizadas, necesita un entorno en el que ejecutar esas pruebas y debe restablecer los datos cada vez que activa el entorno de prueba.
Si tiene ingenieros de control de calidad, es posible que necesiten un entorno que todos utilicen o entornos individuales para probar una nueva versión candidata.
Los datos en los entornos de prueba y control de calidad se complementan con datos de calidad que generalmente son representativos de los datos de producción, junto con datos que representan casos extremos y ejemplos de datos que han causado errores en el pasado.
Para realizar pruebas realistas de cómo funcionará una versión en producción, necesita un entorno de prueba que imite la infraestructura de producción lo más fielmente posible. Es común tener varias instancias provisionales si necesita probar integraciones específicas de forma aislada.
Aquí hay diferencias comunes entre puesta en escena y producción:
Es posible que a la puesta en escena le falten algunas características o integraciones que podrían causar efectos secundarios. Por ejemplo, la preparación puede configurarse para no enviar correos electrónicos.
La puesta en escena puede tener datos anonimizados; Los datos pueden ser falsos, pero deben ser realistas. Dado que la preparación es un lugar para depurar problemas de forma segura, puede brindarle al equipo un acceso más amplio a los datos de preparación que a los datos de producción. Por lo tanto, para proteger la privacidad del usuario, no debe utilizar datos reales del usuario en la preparación.
Para cada aplicación que mantenga, necesita un único entorno de producción. Esta es la instancia con la que interactúan sus usuarios.
A diferencia de otros entornos donde puede cambiar, eliminar y/o recrear datos, los datos en su entorno de producción son muy importantes; perder o alterar sus datos de producción afectará directamente a sus usuarios.
En Firebase console, recomendamos etiquetar el proyecto de Firebase asociado con tu entorno de producción como tipo de entorno de "producción" . Esta etiqueta puede ayudar a recordarle a usted y a sus compañeros de equipo que cualquier cambio podría afectar sus aplicaciones de producción asociadas y sus datos.
Próximos pasos
Revise nuestras mejores prácticas generales para configurar proyectos de Firebase. Esta guía responde preguntas sobre la jerarquía de proyectos de Firebase, cómo registrar las variantes de tu aplicación y el multiinquilino.
Revise las pautas generales de seguridad para diferentes entornos. Quiere asegurarse de que cada entorno y sus datos estén seguros.
Revisa la lista de verificación de lanzamiento de Firebase .