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
  • 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.