profile picture

Vicent Perez

Software Engineer & Tech Lead

LinkedIn
Road to AWS Solutions Architect – Professional (Día 14/20) ⬇️ Hoy vamos con un tema muuuy interesante: las principales técnicas de despliegue para tus aplicaciones. El software falla, evoluciona, cambia, se adapta constantemente. Esto nos lleva a tener que refinar y mejorar la solución, desplegando (publicar) esos cambios al entorno de producción (donde acceden nuestros usuarios). Esto nos abre un mundo de posibilidades, porque lo que NO queremos es que, en alguno de esos cambios, publiquemos la aplicación y tengamos algún fallo que haga que no esté disponible (ERROR, ERROR..). Aquí es donde entran las técnicas de despliegue. Vamos a ver las principales ⤵️ 💥 All-at-once (también conocida como In-place o Big Bang) Se reemplaza todo de golpe. Es rápida, pero también la más risky. La tenemos que evitar siempre que podamos. Podríamos planteárnosla en entornos no críticos. Si algo falla, requiere redesplegar por completo. 🔵 Blue/Green 🟢 Esta técnica consiste en crear dos entornos: Blue (el activo) y Green (el nuevo). El tráfico va al Blue hasta que hayamos testeado bien el Green (con pruebas manuales, tráfico simulado, Q&A, etc). Una vez todo esté ok, movemos el tráfico al nuevo entorno. 🐦 Canary Se expone la nueva versión a un pequeño porcentaje de tráfico (por ejemplo, un 5%) y se va incrementando gradualmente. Si esa pequeña muestra funciona bien (sin errores, latencia, etc), se incrementa progresivamente el tráfico hasta llegar al 100%. Aquí, a diferencia del Blue/Green, el "canary" sí está en producción, por tanto puede afectar a los usuarios reales. 📈 Linear Dentro de los canary tenemos también el Linear, que básicamente es una variante, pero se especifica el % de incrementos cada X tiempo. 👻 Shadow La nueva versión recibe el mismo tráfico que la activa, pero no responde al usuario, pudiendo comparar resultados en paralelo, sin riesgo. 🎛️ Feature Flags / Toggles Esta es TOP, de mis favoritas. El código está desplegado, pero las funcionalidades se activan/desactivan por configuración. Permite liberar nuevas funciones de forma segura y gradual. Todas estas estrategias están soportadas por AWS (o, al menos, se pueden implementar con facilidad). Atentos porque siempre suele aparecer alguna pregunta relacionada en el examen. Servicios como CodeDeploy, Elastic Beanstalk, ECS, Lambda, AppConfig, ALB o Route 53 ofrecen mecanismos integrados para poder llevarlas a cabo. Elegir la técnica adecuada dependerá del tipo de aplicación, del entorno y del nivel de riesgo que estemos dispuestos a asumir… Pero es algo a tener siempre en cuenta! ¿Conoces alguna más? ¡Déjamelo en los comentarios!
LinkedIn post image

© 2025 Vicent Pérez