¿QUÉ ES DEVOPS? (Y POR QUÉ DEBERÍAINTERESARTE…)
Azure EveryWhere
Año 2016
AGENDA
• ¿Qué es DevOps? (Conceptual).
• ¿Cuál es la problemática identificada?:
• Problemática vista desde el “Desarrollo”.
• Problemática vista desde
“Infraesturctura”.
• ¿Qué termina pasando?
• ¿Cuál es la solución propuesta?:
• Principios DevOps.
• Métodos DevOps.
• Prácticas DevOps.
• ¿En qué cambia mi trabajo?:
• ¿Qué NO es DevOps?
• ¿Qué SI es DevOps?
• ¿En qué cambia mi trabajo?
• ¿Preguntas?
¿QUÉ ES DEVOPS?
• Es una Cultura, un conjunto de Patrones que
hace hincapié en la colaboración y la
comunicación entre Desarrolladores y IT Pros.
• Promueve Metas, Procesos y Herramientas
compartidas entre Devs y IT Pros.
• Es un proceso integrado desde el inicio de un
desarrollo hasta su despliegue y operación.
• Habla de un Equipo, no de un Rol.
¿QUÉ ES DEVOPS?
• Permite llegar más rápido con la
solución desarrollada al Mercado.
• Incrementa el retorno de inversión.
• Promueve un ecosistema estable.
• Facilita la integración y entrega
continua de Soluciones.
• Reduce complejidad en el proceso.
¿QUÉ ES DEVOPS?
¿CUÁL ES LA PROBLEMÁTICAIDENTIFICADA?
A ver en qué lio estamos…
Desarrollador IT Pro
¿CUÁL ES LA PROBLEMÁTICA IDENTIFICADA? (NRO 1)
¿CUÁL ES LA PROBLEMÁTICA IDENTIFICADA? (NRO 1)
Próximos pasos:
• Se prepara el script de implementación (si lo hay!).
• Se reflejan (a mano) los cambios en la configuración necesarios (IIS, Config de OS,
personalizaciones).
• Se instalan las librerías necesarias (ponele con paquetes estandar...).
• Se realiza la carta en la base de datos.
• Se arregla horario y ejecutan actividades.
¿CUÁL ES LA PROBLEMÁTICA IDENTIFICADA? (NRO 1)
¿CUÁL ES LA PROBLEMÁTICA IDENTIFICADA? (NRO 1)
¿Y qué responde el desarrollador?
¿CUÁL ES LA PROBLEMÁTICA IDENTIFICADA? (NRO 1)
¿CUÁL ES LA PROBLEMÁTICA IDENTIFICADA? (NRO 2)
¿CUÁL ES LA PROBLEMÁTICA IDENTIFICADA? (NRO 2)
¿Y qué responde el Depto de IT?
¿CUÁL ES LA PROBLEMÁTICA IDENTIFICADA? (NRO 2)
Desarrollo
• Ve el mundo desde sus ojos.
• Tienen poco conocimiento del
impacto de su código en los Sistemas.
• Tienen un Sistema Operativo local
optimizado para su desarrollo.
• Ejecutan el código localmente.
Infraestructura
• Ve el mundo desde sus ojos.
• Velan porque los Sistemas sufran el
menor impacto posible desconocido.
• Tienen poco conocimiento de configs,
Servicios web, automatización, scripts.
• No hablan con Desarrollo.
¿Y QUÉ TERMINA PASANDO?
¿Y QUÉ TERMINA PASANDO?
• Todo el proceso de salida a producción se relentiza.
• Se terminan mezclando releases en producción.
• Aumenta la tensión y definitivamente los riesgos.
• Los cambios, si quieren seguir el ritmo del Mercado, son peligrosos.
¿CUÁL ES LA SOLUCIÓN PROPUESTA?
¿Cómo seguimos?
SOLUCIÓN PROPUESTA
¿Qué?
• Colaboración entre administradores y
desarrolladores.
• Comunicación entre administradores
y desarrolladores.
• Disposición al cambio antes que la
sobre planificación.
¿Cómo? Por ejemplo…
• Conocimiento de problemas de Devs + IT
Pros.
• Conocimiento básico de lenguages de
programación, frameworks de trabajo,
IDEs, scripting, desarrollo de scripts.
• Utilización de Infraestructura como
Código (IaC) SIEMPRE + Automatización.
PRINCIPIOS DEVOPS
¿Qué?
• Implementar Metodología Agil para
Desarrolladores y IT Pros.
• Implementar Roles, Artefactos y
Herramientas que faciliten el punto
anterior.
• Procesos ágiles para la organización.
¿Cómo? Por ejemplo…
• Scrum / Kanban en todo el Equipo.
• Utilización activa de artefactos como:
Product Backlog, Sprint Backlog, IP/IR,
etc.
• Proceso de Integración Continua (viso
como proceso, no como tecnología).
MÉTODOS DEVOPS
¿Qué?
• Técnicas y Herramientas de desarrollo.
• Técnicas y Herramientas de
automatización.
• Entornos Estandarizados.
• Monitoreo Proactivo.
¿Cómo? Por ejemplo…
• Despliegue continuo + Visual Studio.
• PowerShell, Scripting, Puppet, Cheft,
Azure Automation, etc.
• Docker, Containers, IIS.
• SCOM, MOM, Application Insights,
Nagios, Zabbix.
PRÁCTICAS DEVOPS
¿QUÉ DEBEMOS EVITAR?
¿EN QUÉ CAMBIA MI TRABAJO?¿Cómo seguimos?
Desarolladores
• Deben aprender de Infraestructura, cableado
estructurado, IaaS.
IT Pros
• Deben aprender a programar en múltiples
lenguages y herramientas como Visual Studio.
¿QUÉ NO ES DEVOPS?
Desarolladores
• Implicación en las primeras fases del desarrollo de
una solución junto a Operaciones.
• Soy responsable del código de la aplicación y en
parte de su configuración.
• Debo concentrarme en desarrollar y entregar un
paquete estándar de implementación.
• La administración final es abstracta y en la mayoría
de los casos significa “Operar la Plataforma”.
IT Pros
• Implicación en las primeras fases del desarrollo de
una solución junto a Desarrollo.
• Soy responsable de la configuración del código
(archivos Web.config, App.config, etc).
• Debo entender los paquetes que llegan de
desarrollo, validarlos e implementarlos.
• La Infraestructura no debe implementarse desde
cero: se reutilizan escenarios (fundamental PaaS).
¿QUÉ SI ES DEVOPS?
Desarolladores
• Se automatizan los Builds y los Releases como
parte del proceso de Desarrollo, y se entregan
paquetes estandarizados para su implementación.
• Se auditan los cambios en toda la plataforma.
• Las métricas son compartidas con Operaciones.
• Debe conocer sobre los Sistemas Operativos y el
impacto del código en los mismos.
IT Pros
• Se automatiza la infraestructura y el
aprovisionamiento de la misma para que los
desarrolladores se concentren más en el código.
• Se auditan los cambios en toda la plataforma.
• Las métricas son compartidas con Desarrollo.
• Se gestiona el ciclo de vida de los Sistemas
Operativos comunicando a Desarrollo
proactivamente. Se planifican los stacks.
¿QUÉ SI ES DEVOPS?
Desarolladores
• Utilización en método de entrega “PaaS” de
sistemas operativos (templates), ambientes de
trabajo y entornos de desarrollo.
• Concientización de cómo impacta el código en el
sistema operativo o entorno de trabajo.
• Estandarización de aplicaciones para que no sean
“excepciones” en los entornos estandarizados.
• Comunicación y Colaboración con Operaciones
desde etapas tempranas del Proyecto.
IT Pros
• Utilización de técnicas y herramientas que
permiten trabajar con Infraestructura como Código
(IaC). Creación basada en PaaS (preferentemente).
• Automatización de Operaciones que antes se
“retocaban” a mano. Trabajo con Scripts.
• Manipulación de archivos de configuración de
aplicaciones.
• Comunicación y Colaboración con Desarrollo desde
etapas tempranas del Proyecto.
¿EN QUÉ CAMBIA MI TRABAJO?
¿PREGUNTAS?
OFICINA CENTRALAlgeiba S.A.Buenos Aires, ArgentinaParaná 771, Piso 2 (C1017AAO)Ciudad Autónoma de Buenos AiresTel/Fax: (+54-11) [email protected]
Montevideo, [email protected]
Lima, Perú[email protected]
Lima, Perú
Montevideo,Uruguay
Buenos Aires,Argentina