Modyo
Comienza Aquí
productos digitales

Los entornos pre-productivos permiten crear canales digitales más robustos y confiables

Los entornos pre-productivos reducen el riesgo de errores al permitir a las organizaciones crear diferentes instancias para aplicar los cambios en sus canales digitales antes de llegar al usuario final.

Compartir en:

Relacionado con:

Technology Leaders Frontend Architects

Publicado el 19 Dic, 2021 4 minutos de lectura

¿Qué son los entornos pre-productivos?

Los entornos pre-productivos permiten a las organizaciones generar diferentes instancias para examinar los cambios en sus canales digitales antes de llegar al usuario final. De esta manera, se reduce al mínimo el riesgo de errores.

Este tipo de arquitectura varía significativamente según el producto y la implementación, pero de manera general funciona bajo el principio de tener diferentes instancias de un sitio web. El primer nivel es donde se introducen los cambios y el segundo nivel es donde se despliegan al usuario final.

Generalmente, el primer nivel tiene varias instancias, pero posee al menos un ambiente de desarrollo donde los equipos publican todos los cambios realizados y una vez que estos cambios son verificados, pasan al segundo nivel, usualmente conocido como el entorno de producción.

desarrollador trabajando en un computador conectado al front end de un sitio web

Una de las implementaciones más frecuentes utiliza 4 diferentes niveles o instancias para ayudar a los equipos a realizar un seguimiento de los cambios y los efectos que puedan tener sobre el rendimiento general de una aplicación. Estos 4 niveles son:

El entorno de desarrollo: Este es el ambiente que los desarrolladores utilizan para añadir nuevas capacidades y examinar su funcionalidad en un entorno realista. Este entorno está sujeto a cambios constantes sin ningún aviso, puede fallar o presentar conductas inesperadas.

El entorno de pruebas: Este ambiente se utiliza para ejecutar automáticamente las pruebas unitarias. A diferencia del entorno de desarrollo aquí los cambios llegan con menor frecuencia, generalmente en horarios predefinidos y solo ingresan los cambios que funcionaron sin problema en el entorno de desarrollo.

El entorno intermedio: Este ambiente es un espejo o clon exacto hasta el más mínimo detalle del entorno de producción. Aquí llegan los cambios que se aprobaron del entorno de pruebas, el objetivo de este entorno es verificar que la aplicación como un todo permanezca estable después de los cambios introducidos.

El entorno de producción: Aquí es donde ejecuta la aplicación pública de cara al usuario final. Todo cambio que llegue aquí debe, en teoría, funcionar a la perfección.


dev server > qa server > staging server > prod server



¿Por qué es importante utilizar ambientes pre-productivos ?

La separación de entornos asegura que los cambios se puedan monitorear y controlar cuidadosamente a través de diferentes etapas. Cuando se realiza un cambio en el sistema, primero se implementa en el entorno de 'prueba', donde los desarrolladores pueden monitorearlo y controlarlo. Una vez que se haya probado el cambio en busca de errores, se implementará en el entorno de 'producción' para su lanzamiento. 

Este método busca reducir al mínimo posible la introducción de regresiones o errores, no solo porque se utiliza un sistema escalonado de cambios que permite una revisión detallada para aislar y reparar fácilmente cualquier error, sino porque los cambios se ejecutan en el ecosistema en que se van a desenvolver así es posible verificar si afectan otras partes de la aplicación y son compatibles con el entorno de producción.

Por esta razón es crítico que al momento de usar entornos pre-productivos, se repliquen con exactitud absoluta todas las características de configuración, la más minúscula diferencia puede ser espacio para problemas de compatibilidad.

Por ejemplo, una petición a la base de datos que utilice un comando introducido en la versión 1.2 del software mientras el entorno de producción utiliza la versión 1.1 ya es suficiente para que se introduzcan errores potencialmente críticos.

Precisamente esta es una de las mayores dificultades de crear estos entornos, que requieren de un mantenimiento y sincronización constante de todas las piezas de software y librerías involucradas. Se requiere que cada entorno tenga exactamente las mismas condiciones para que no se introduzcan errores que solo ocurren en un entorno en particular. Un simple descuido en la configuración de una instancia, puede tirar por la borda el esfuerzo sincronizado de todo un equipo.

mano dibujando líneas entre figuras geométricas

¿Cómo aplicar un sistema de entornos pre-productivos en Modyo?

Modyo tiene amplia experiencia trabajando con el sector empresarial con muchos servicios críticos como e commerce, banca, fintechs y servicios financieros, esto nos ayudó a crear una solución que tiene las ventajas de un sistema de ambientes pre-productivos mientras simplifica el proceso y elimina la complejidad del mantenimiento.

Los site stages de Modyo permiten la creación rápida de instancias de un canal digital, obteniendo una copia exacta hasta el más mínimo detalle en un solo paso.

Una vez que tenemos esta copia o stage del sitio, podemos utilizarla para implementar de forma segura cambios que solo serán accesibles al equipo de desarrollo.

Un site stage combina la funcionalidad del entorno de desarrollo y de pruebas porque solo los cambios aprobados pueden llegar al sitio de producción.

También reemplaza al entorno intermedio porque todos servicios se ejecutan sobre la infraestructura de Modyo en la nube, que ofrece exactamente la misma configuración a todos los canales digitales.


prod server: public site > site stages > public site


Una vez terminadas las pruebas de integración y verificada la nueva funcionalidad. Los cambios del site stage pueden unirse al sitio principal con la seguridad de que todo funcionará según lo esperado.

Adicionalmente, todo cambio introducido sin importar que venga desde cualquier instancia entra al flujo estándar de cambios lo que garantiza que tendrá el mismo riguroso control de calidad que el resto de la aplicación.

Conclusiones

El uso de entornos pre-productivos reduce dramáticamente la incidencia de errores, permite el trabajo paralelo de diferentes equipos y sirve como un cortafuego para el avance de regresiones o problemas de incompatibilidad.

El principal problema de este sistema es el mantenimiento y logística que requiere tener una serie de entornos sincronizados mientras se mantiene un flujo constante de cambios.

3 personan aprueban las publicación de un contenido

Modyo trabaja una arquitectura de entornos simplificada, segura y flexible que permite un proceso de desarrollo y pruebas sin afectar la experiencia de usuario, perfecto para sitios de alto tráfico y servicios críticos.

Si este caso de uso les parece interesante y quieren saber más, nos encantaría hablar con ustedes sobre cómo podemos ayudarles con su próximo proyecto o producto digital.

Photo de Leslie Lopez en Unsplash

Otras publicaciones

Obten más información al respecto