![Page 1: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/1.jpg)
Gestión ágil de entornos de despliegue en la Nube
Ernesto Cárdenas Cangahuala
@fisica3
![Page 2: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/2.jpg)
Presentación• Ing. Informático, limeño• Microsoft Influencer Developer• Fotógrafo aficionado• Algún tiempo “fuera” ;)• @agileperu• www.consultorinternet.com• @fisica3
![Page 3: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/3.jpg)
¿Qué esperamos ver hoy?
![Page 4: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/4.jpg)
Erase una vez… un desarrollador
![Page 5: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/5.jpg)
En la Universidad• !En mi casa compilaba!
![Page 6: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/6.jpg)
Durante el Desarrollo• ¿Qué has hecho ayer en
todo el día?• …¡Subir el proyecto a
preproducción!
![Page 7: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/7.jpg)
• ¡La web de producción esta grabando en la BD de preproducción!• Este… ayer subí la corrección
de un bug….• ¡Además ahora las formulas
dan valores incorrectos!
… Mantenimiento
![Page 8: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/8.jpg)
… sacando nuevas versiones• ¡Chicos! El cliente esta
contento con la versión que mandaron el martes, ¿pueden subirla a producción esta tarde (viernes)?• Este… ya estamos
desarrollando la nueva funcionalidad y el código ha cambiado
![Page 9: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/9.jpg)
Con esto en cuenta…• ¿Cuanto le tomaría a tu
organización desplegar un cambio que involucre tan solo una línea de código?• ¿Lo haces de una manera
confiable y reproducible?
• Mary & Tom Poppendieck
![Page 10: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/10.jpg)
¿Qué esperamos conseguir?• Apoyar la agilidad• Centrarnos en lo
relevante para el negocio• Eliminar desperdicio• Mejorar continuamente• Evitar manipulación
humana de los binarios• Automatizar el paso
hacia los entornos
![Page 11: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/11.jpg)
¿Cómo lo hemos hecho hasta ahora?
![Page 12: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/12.jpg)
En mi caso…• Provisionando MV• Hasta que se acaba el espacio en el host :P• Reinstalando cada ambiente destino• Habilitando el entorno para ser “receptor” de
despliegue• Preparando configuraciones…
![Page 13: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/13.jpg)
Concretamente• Instalar Windows Server • Habilitar .Net e IIS• Instalar WebDeploy• Crear usuario local para efectos de despliegue• Configurar Web Deploy • lo que incluye habilitar ciertos servicios• Crear Website y Virtual Server• Exportar archivos
• Importar archivos desde proyecto... Para cada destino!
![Page 14: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/14.jpg)
Muchos pasos ¿Verdad?• ¿Qué atajos
podemos conseguir?
![Page 15: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/15.jpg)
La nube nos trae• Costos variables, paga solo lo
que usas• Flexibilidad y rapidez para
provisionar entornos• Catálogo muy amplio (pero no
ilimitado) • A otros que se hacen cargo del
trabajo sucio…• Nuevas consideraciones de
seguridad• Más autonomía para las
unidades de negocio (ojo!)
![Page 16: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/16.jpg)
![Page 17: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/17.jpg)
Entonces ¿Complejidad o facilidad?• Como en todo… depende• Si vas por PaaS casi todo va out of the box
;)• Si vas por IaaS ¾ de lo que ya tenías On
Premise, pero con mayor soporte para automatización (Puppet o Chef de serie y archivado de imágenes)• Si requieres redundancia geográfica o
ultra escalabilidad, siempre será algo complejo, solo que ahora puedes asociar las piezas de manera mucho mas sencilla.
![Page 18: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/18.jpg)
Mi opinión: los beneficios superan los problemas en la mayoría de los casos
![Page 19: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/19.jpg)
En todo caso la pregunta es…•¿Qué ventajas obtenemos de la nube para resolver nuestras necesidades de Integración y Entrega Continua?
![Page 20: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/20.jpg)
Aunque llegados a este punto podríamos decir también…
•¡Yo no necesito Cloud!
![Page 21: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/21.jpg)
Y tal vez tengan razón, porque…• Hay una fuerte inversión en fierro aun no amortizada• Aplicaciones hechas con fuerte dependencia a una PC
encendida (un servicio, un demonio, un batch…)• Consideraciones de seguridad• La super aplicación a medida de la que depende todo
el negocio
![Page 22: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/22.jpg)
Entonces no descartemos un enfoque “híbrido”• La nube como backup de datos (encriptados)• Redundancia de Directorio Activo• Compilar en la nube, desplegar en local• Si tu mercado es solo local, pues entonces no hay
prisas, ¿verdad?
![Page 23: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/23.jpg)
Regresemos a nuestros dilemas
![Page 24: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/24.jpg)
¿PaaS o IaaS?• IaaS si se espera seguir trabajando
con las aplicaciones a medida (ya muy maduras)• Docker• Un stack muy especifico
• PaaS si el proyecto es nuevo y queremos tener un entorno ya listo para usar y escalar• Publicar APIs REST• Usar Big Data o Machine Learning• Data Lake
![Page 25: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/25.jpg)
Pero… recordemos algo
![Page 26: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/26.jpg)
Infraestructura como código… ¡sigue siendo infraestructura!
![Page 27: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/27.jpg)
Y ahora ¿qué se nos pide al desplegar?• Simplificar la vida a los desarrolladores (abstracción)• Hacer el “gran esfuerzo” una sola vez• Flexibilidad para generar entornos de manera
transparente• Niveles de aprobación para movernos entre entornos
![Page 28: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/28.jpg)
En conclusión: ser simple y enfocarnos en ser productivos
![Page 29: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/29.jpg)
¡Ok! ¿Cómo lo logramos?
![Page 30: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/30.jpg)
Centrémonos en tres objetivos iniciales• Simplificar la gestión de la configuración (variables de
entorno y cadenas de conexión)• Evitar la recompilación de código durante el paso
entre entornos• Evitar la recompilación de código para regresar a una
versión anterior.
![Page 31: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/31.jpg)
Mi gran dolor: gestión de configuración• Tradicionalmente: no
confundirse con los archivos de configuración que se suben• Una mejora:
transformaciones, pero eso implica tener una copia de todas las cadenas en el proyecto• ¿No seria mejor que el entorno
se haga cargo de todo esto?
![Page 32: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/32.jpg)
Mi lista de deseos• Que un commit/checkin pueda
disparar todo el proceso incluyendo el despliegue• Entorno de Build integrado en la plataforma sin dependencia de terceros• Variables de configuración administradas por la
plataforma• Facilidad para mover versiones entre entornos• Niveles de aprobación para efectuar los
movimientos entre entornos• Despliegue transparente y simultaneo a los
entornos redundantes de producción
![Page 33: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/33.jpg)
DemoUna foto parcial al día de hoy…
![Page 34: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/34.jpg)
Lecciones aprendidas• La nube facilita el trabajo,
debemos aprovecharla• Mantenlo simple de ser
posible, el equipo debe entender el nuevo flujo• Tenemos que ir mas allá de
lo que veíamos en On Premise• Decide que es lo mas
importante, procurando reducir dependencias adicionales
![Page 35: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/35.jpg)
Una reflexión final…•Recordemos lo que paso con la electricidad…
![Page 36: Gestión Agil de Entornos de Despliegue en la Nube](https://reader035.vdocuments.co/reader035/viewer/2022062523/58f048df1a28aba8138b4651/html5/thumbnails/36.jpg)
¿Preguntas?