gestión Ágil de entornos de despliegue en la nube 2

34
Gestión ágil de entornos de despliegue en la Nube Ernesto Cárdenas Cangahuala Microsoft Influencer @fisica3

Upload: ernesto-cardenas-cangahuala

Post on 14-Apr-2017

111 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Gestión Ágil de Entornos de Despliegue en la Nube 2

Gestión ágil de entornos de despliegue en la Nube

Ernesto Cárdenas CangahualaMicrosoft Influencer@fisica3

Page 2: Gestión Ágil de Entornos de Despliegue en la Nube 2

Presentación• Ing. Informático• Microsoft Influencer Developer• Fotógrafo aficionado• Algún tiempo “fuera” ;)• @agileperu• www.consultorinternet.com

Page 3: Gestión Ágil de Entornos de Despliegue en la Nube 2

¿Qué esperamos ver hoy?

Page 4: Gestión Ágil de Entornos de Despliegue en la Nube 2

Pongamonos en contexto…• ¿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 5: Gestión Ágil de Entornos de Despliegue en la Nube 2

¿Qué esperamos conseguir con CI/CD?• 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 6: Gestión Ágil de Entornos de Despliegue en la Nube 2

¿Cómo lo hemos hecho hasta ahora?

Page 7: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 8: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 9: Gestión Ágil de Entornos de Despliegue en la Nube 2

Muchos pasos ¿Verdad?•¿Qué atajos podemos conseguir?

Page 10: Gestión Ágil de Entornos de Despliegue en la Nube 2

Y con la nube… • 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 11: Gestión Ágil de Entornos de Despliegue en la Nube 2
Page 12: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 13: Gestión Ágil de Entornos de Despliegue en la Nube 2

Ok, muy bonito pero…

•¡Yo no necesito Cloud!

Page 14: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 15: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 16: Gestión Ágil de Entornos de Despliegue en la Nube 2

Mi opinión: los beneficios de ir a la nube superan los problemas en la mayoría de los casos

Page 17: Gestión Ágil de Entornos de Despliegue en la Nube 2

Pero, no olvidemos…

Page 18: Gestión Ágil de Entornos de Despliegue en la Nube 2

Pero, no olvidemos…

Page 19: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 Ágil de Entornos de Despliegue en la Nube 2

Así que analicemos los contextos

Page 21: Gestión Ágil de Entornos de Despliegue en la Nube 2

¿PaaS o IaaS?• IaaS si se espera seguir trabajando con

las aplicaciones a medida (ya muy maduras)• Docker (¿CAAS?)• Un stack muy especifico• Estamo$ dispu€stos a pagar por tiempo

idle• 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• Simplicidad autoescalamiento

Page 22: Gestión Ágil de Entornos de Despliegue en la Nube 2

Pero… recordemos algo

Page 23: Gestión Ágil de Entornos de Despliegue en la Nube 2

Infraestructura como código… ¡sigue siendo infraestructura!

Page 24: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 25: Gestión Ágil de Entornos de Despliegue en la Nube 2

En conclusión: ser simple y enfocarnos en ser productivos

Page 26: Gestión Ágil de Entornos de Despliegue en la Nube 2

¡Ok! ¿Cómo lo logramos?

Page 27: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 28: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 29: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 30: Gestión Ágil de Entornos de Despliegue en la Nube 2

¿Qué nos ofrecen los fabricantes hoy?

Page 31: Gestión Ágil de Entornos de Despliegue en la Nube 2

DemoUna foto parcial al día de hoy…

Page 32: Gestión Ágil de Entornos de Despliegue en la Nube 2

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 33: Gestión Ágil de Entornos de Despliegue en la Nube 2

Una reflexión final…•Recordemos lo que paso con la electricidad…

Page 34: Gestión Ágil de Entornos de Despliegue en la Nube 2

¿Preguntas?