Descripción general de los entornos

En las apps de producción, debes configurar un flujo de trabajo de desarrollo claro, en especial si hay más de una persona trabajando en ellas. Por lo general, un flujo de trabajo de desarrollo implica configurar y administrar múltiples entornos.

Firebase tiene distintos niveles de compatibilidad con los flujos de trabajo para desarrolladores y los entornos constituyentes. Una vez que te familiarices con los términos del flujo de trabajo para desarrolladores y las suposiciones en esta página, consulta las prácticas recomendadas generales y los lineamientos generales de seguridad para configurar un proyecto de Firebase y tus apps.

Acerca de los entornos

En el desarrollo de software, un entorno corresponde a todo el hardware y software necesarios para ejecutar una instancia de una aplicación o de un sistema de aplicaciones.

Una serie de entornos proporciona aislamiento para desarrollar y probar software sin afectar a los usuarios. Como se muestra en el siguiente diagrama, en un nivel global, los entornos se consideran de preproducción o producción, y puedes tener tantos entornos de preproducción como sean necesarios. En el diagrama, también se describen prácticas y funciones comunes asociadas con cada tipo de entorno.

El proceso de traspasar una función o versión a través de estos entornos hasta la producción se denomina canalización de implementación.

Diagrama en el que se muestran los entornos que, por lo general, conforman la
          canalización de implementación, incluidos el desarrollo, las pruebas y el control de calidad, la etapa de pruebas y,
          por último, la producción

Tipos de entornos

Un entorno se compone de la infraestructura subyacente que necesitas para ejecutar y admitir las aplicaciones, su código y sus datos. Expande cada uno de los siguientes términos para revisar las descripciones de algunos entornos comunes, así como sugerencias sobre los tipos de datos que se usan en cada clase de entorno.

Todos los desarrolladores necesitan un entorno de desarrollo, es decir, un lugar seguro y aislado para probar cambios mientras los crean Lo ideal es que cada desarrollador de tu equipo tenga acceso a su propio entorno dev. Además, si el entorno dev es una instancia local, el profesional puede realizar iteraciones mucho más rápido.

Los datos de un entorno de desarrollo se inicializan con datos que, por lo general, se parecen a los datos de producción, pero nunca deben contener datos de usuarios reales. También pueden contener datos que causaron errores en el pasado, como strings muy largas.

Si tienes pruebas automatizadas, necesitas un entorno para ejecutarlas y restablecer los datos cada vez que inicies el entorno de pruebas.

Si tienes ingenieros de control de calidad, es posible que necesiten un entorno que todos usen o que requieran entornos individuales para probar una nueva versión potencial.

Los datos de los entornos de prueba y control de calidad se inicializan con datos de calidad que, generalmente, representan los datos de producción, junto con datos que representan situaciones limítrofes y ejemplos de datos que causaron errores en el pasado.

Para probar de forma realista cómo funcionará una versión en producción, necesitas un entorno de etapa de pruebas que imite la infraestructura de producción de la manera más parecida posible. Es común tener varias instancias de etapa de pruebas si necesitas probar integraciones específicas de forma aislada.

Aquí encontrarás las diferencias comunes entre la etapa de pruebas y la de producción:

  • Es posible que algunas etapas de pruebas no tengan funciones o integraciones específicas que podrían causar efectos secundarios. Por ejemplo, la etapa de pruebas puede configurarse para no enviar correos electrónicos.

  • Las etapas de pruebas pueden tener datos anónimos que, si bien pueden ser falsos, deben ser lo más realistas posible. Debido a que la etapa de pruebas es un lugar para depurar problemas de forma segura, puedes otorgar a un equipo más acceso a los datos de etapa de pruebas que a los de producción. Por lo tanto, para proteger la privacidad de los usuarios, no debes usar datos reales de ellos en esta etapa.

Para cada aplicación que mantengas, necesitas un solo entorno de producción. Esta es la instancia con la que interactúan tus usuarios.

A diferencia de los otros entornos en los que puedes cambiar, borrar o volver a crear datos, los datos en tu entorno prod son muy importantes. La pérdida o alteración de los datos de producción afectará directamente a los usuarios.

En Firebase console, recomendamos etiquetar el proyecto de Firebase asociado con tu entorno de producción como un tipo de entorno de "producción". Esta etiqueta puede ayudarte a recordar a ti y a tus colegas que cualquier cambio podría afectar a las apps de producción asociadas y sus datos.

Próximos pasos