Curso Introducción a DevOps
conocer los procesos, patrones y técnicas que ofrece la filosofía DevOps para reducir el tiempo medio de ciclo, esto es, el tiempo transcurrido desde la concepción de una idea hasta su puesta en producción. A la finalización de la acción formativa, los asistentes podrán:
- Saber lo que es DevOps y qué patrones seguir para poder entregar el SW con plazos menores y mayor calidad.
- Aplicar técnicas para mejorar la colaboración entre los equispos de desarrollo y operaciones.
- Unificar procesos e incentivos con el objetivo de tener unas metas compartidas para todos los equipos.
- Integrar varias herramientas para soportar el ciclo de vida completo de un proyecto.
- Agilizar el proceso de entrega de SW.
OBJETIVOS
Todos los perfiles de los equipos de desarrollo y explotación de Sistemas Software: Ingenieros Software, Progra-
madores, Responsables y Técnicos de los sistemas de software en producción, Responsables de mejora de procesos TI.
Dirigido a
conocimientos de programación y construcción de Software.
Conocimientos de programación y construcción de Software.
Temario del curso
I - IDENTIFICACIÓN DE LA PROBLEMÁTICA O SITUACIÓN ACTUAL
- Existencia de silos.
- Objetivos distintos entre distintos equipos.
- Procesos optimizados pero no alineados.
- Metodologías ágiles no aplican al equipo de operaciones.
- Métricas usadas que entran en conflicto.
- Actualizaciones poco frecuentes y batch size elevado.
- Tiempo de ciclo muy alto.
- Búsqueda de culpables si algo no va bien.
II - BENEFICIOS QUE SE PUEDEN OBTENER APLICANDO DEVOPS
- Liberar recursos gracias a la automatización.
- Tener objetivos y métricas compartidos por todos los departamentos implicados en el proceso de delivery.
- Evitar la existencia de silos.
- Gestionar el cambio de forma unificada.
- Tener un batch size reducido.
- Explotar antes el SW desarrollado.
- Mitigar el riesgo en las actualizaciones.
- Alta reducción en la necesidad de mantener complejos procesos de rollback.
- Eliminar tareas manuales (proceso de releasing y provisioning automatizado).
III - CÓMO CONSEGUIR LOS BENEFICIOS DE APLICAR DEVOPS
- Describiendo patrones para compartir y alinear metas e incentivos.
- Redefiniendo el concepto de calidad y aplicando técnicas para mejorarla.
- Automatizando los procesos de release:
- Delivery pipelines.
- Creación y uso de Baselines.
- Versionado de artefactos.
- Packaging tools.
- Independizar configuración.
- Task-based development.
- Almacén de binarios y trazabilidad a tareas.
- Scripts de BBDD y gestión de ChangeSets.
- Gestionando la infraestructura como código.
- Provisioning con Puppet
- Provisioning con Puppet
- Definiendo pruebas de aceptación:
- Acordando criterios de aceptación.
- Automatizando con Thucydides.
- ATDD.
IV - EJEMPLO PRÁCTICO
- Se utilizarán varias herramientas OpenSource o de uso libre para modelar el proceso de delivery de SW y hacer- lo de forma automatizada, eliminando tantos procesos manuales como sea posible.
- Se construirá una tool-chain utilizando:
- JIRA, FishEye, Subversion, Eclipse, TestLink, Jenkins, Maven, Artifactory, XL Release, XL Deploy, Puppet, MCollective.
- Se utilizará una aplicación de ejemplo sobre la que se crearán nuevas versiones (código, base de datos, confi- guración, infraestructura) y se promocionarán de forma automatizada entre distintos entornos.