Deploy: en qué consiste y cómo hacerlo

Por Redacción HostingPlus

Publicado en:

El desarrollo web profesional se realiza en entornos locales controlados para poder implementar funciones, ajustar diseños y realizar test de usabilidad antes de realizar deploy y subir la web a un servidor para que esté disponible a todos los usuarios de internet. El objetivo de todo este trabajo local es conseguir que la web llegue a los usuarios sin errores.

En este artículo veremos qué es un deploy, cuál es su utilidad y cómo ponerlo en práctica.

Qué es deploy y para qué sirve

Se define deploy como el proceso por el que se hace público o se pone a disposición de los usuarios un producto que estaba en fase de desarrollo o pruebas, siendo este producto una aplicación o una página web.

Un ejemplo de deploy se produce cuando se sube a un hosting una página web haciéndola pública para los usuarios de internet en ese momento.

El objetivo del deploy es poner en producción una web lista para que usuario pueda utilizarla, sin errores en sus funciones, accesos, diseño o consultas. Por eso es importante realizar muchas pruebas y test antes de realizar deploy, para garantizar el correcto funcionamiento del sitio web.

Qué es Fast rollback

Es importante disponer de un Fast rollback cuando se realiza un deploy. Este concepto hace referencia a la posibilidad de volver de forma rápida y sencilla al punto anterior al que se encontraba el sitio web antes de realizar el deploy.

A pesar de que todo lo que se envía a deploy ha sido revisado y comprobado siempre es posible que ocurra algún incidente o se produzca un error inesperado que pueda dejar el sitio web inaccesible o con un funcionamiento incorrecto. Disponiendo de una opción de Fast rollback se puede volver al punto exacto que se encontraba el sitio web antes del deploy.

Por qué homogeneizar el ambiente de desarrollo

Es importante homogeneizar los entornos de desarrollo para poder reducir el número de errores que llegan a producción. Estos ambientes de desarrollo y pruebas tienen que ser iguales a los de producción para evitar conflictos y conseguir que se realice el deploy con éxito.

Cómo ponerlo en práctica

El proceso para realizar deploy se puede realizar de tres formas diferenciadas, un proceso manual, un proceso automatizado con algunas acciones manuales y un proceso totalmente automatizado. 

Deploy manual

Se produce cuando el proceso necesario para realizar deploy requiere de acciones manuales. Dos ejemplos de tipo de deploy manual los encontramos en:

  • Cuando se hace deploy de un sitio web utilizando una herramienta FTP que requiere conectarse a un servidor, seleccionar el directorio donde se subirán los archivos de la web y otras acciones manuales.
  • Cuando se necesita realizar algún pequeño cambio en la web, como modificar un pequeño archivo para corregir un error o activar una función.

Deploy mixto

Se produce cuando el deploy se encuentra automatizado, pero aun así requiere de alguna pequeña acción manual para que se produzca (como ejecutar un código o dar un permiso de acceso). 

Deploy continuo

Se trata del deploy que más se utiliza en la actualidad y se realiza de forma totalmente automatizada. Este concepto está íntimamente relacionado con nuevas metodologías de desarrollo de software como DevOps y entrega continua.

El deploy continuo permite pasar a producción los cambios realizados por varios programadores, sin que se produzcan problemas o errores en el proceso.

Existen tres estrategias que permiten realizar deploy de forma exitosa:

  • Rolling. Esta estrategia permite que ambas versiones convivan, es decir, la versión antigua está accesible hasta que no se complete 100 % la subida de la nueva. Esto permite eliminar los tiempos de caída de un sitio web a la hora de actualizarlo a una nueva versión, añadir una nueva funcionalidad o cambiar algún aspecto de su diseño.
  • Blue Green. Con esta estrategia se dispone de dos ambientes idénticos en producción llamados blue y green. El objetivo es poder hacer pruebas en producción en el ambiente green que contiene la nueva versión, mientras que el ambiente blue continúa trabajando con la versión actual.
  • Canary. Se trata de personalizar el deploy a ciertos usuarios. Consiste en poner en producción el sitio web solo para unos usuarios determinados. Esta estrategia permite valorar la reacción de los usuarios ante los cambios realizados sin necesidad de que afecten a todo la web. Se utiliza para probar nuevas versiones de un sitio web en la práctica, sin que tenga repercusión en el funcionamiento general del sitio web.

 

Los test son la clave para poder realizar un deploy de forma efectiva, rápida y libre de errores. Cuando se trabaja en una página web o aplicación uno de los aspectos más importantes es conseguir que lleguen a producción, es decir, sean accesibles por los usuarios en las mejores condiciones posibles.

Para realizar deploy es posible utilizar distintas estrategias que permitan pasar un sitio web a producción con la seguridad de que cualquier error o incidencia no afecte negativamente al tráfico o usabilidad del mismo.