Workflow continuo de desarrollo a producción

Esta capacitación presenta a los alumnos una serie de buenas prácticas, técnicas y metodologías que permiten optimizar la gestión del ciclo de vida de un producto de software, desde su desarrollo hasta su puesta y funcionamiento en producción.

A toda persona del área de IT que participe, de forma directa o indirecta, en un proyecto de desarrollo de software, ya sea durante su construcción, durante su mantenimiento o durante su gestión en producción.

  • Herramientas para aplicar metodologías ágiles tanto al desarrollo de software como a su gestión en producción, incluyendo la estandarización del trabajo, la automatización de tareas, la mejora de productividad, la calidad del producto final y la frecuencia en las entregas a clientes.
  • Herramientas para aprender cómo desarrollar y gestionar software de calidad.
  • Una comprensión acerca de cómo mejorar el trabajo entre los equipos.

El curso cuenta con una parte teórica, en la que se introducen los conceptos, y una parte aplicada, donde los alumnos deben resolver diferentes problemas de forma práctica.

La carga horaria total estimada es de 30 horas, distribuidas de la siguiente manera:

  • 12 horas para las clases teóricas.
  • 12 horas para la resolución de los ejercicios prácticos.
  • Entre 4 y 6 horas para debatir sobre las problemáticas planteadas a través de los ejercicios prácticos.

Aunque no es excluyente, recomendamos que quienes tomen esta capacitación cuenten con experiencia previa o conocimientos sobre alguno de los siguientes campos:

  • Desarrollo de software
  • Testing de software
  • Administración de sistemas

Temario

Contenido Teórico

  • Importancia de utilizar estándares de codificación.
  • Semántica del versionado para componentes y producto.
  • Utilización de un sistema de tickets para seguimiento.
  • Versionado de la base de datos.
  • Versionado de código.
    • Presentación de distintos flujos de trabajo con GIT para manejar los cambios en desarrollo, discriminando parches, nuevas funcionalidades y su relación con el sistema de tickets.
  • Testing: tests de unidad, de integración, de aceptación. Linting. TDD.
  • Integración y entrega continua: automatización de testing; generación y almacenamiento de artefactos, binarios, imágenes.
  • Definición de ambientes.
  • Estrategias para la puesta en producción. Rolling update, blue-green deployment, canary deployment. Despliegue continuo.
  • Herramientas de monitoreo y estadísticas. Gestión de logs. Retroalimentación a desarrollo.
  • Escalamiento. Twelve-factor app.
  • DevOps, Automatización e Infraestructura como código (IaC).

Contenido Práctico

  • Trabajo 1: estándares de codificación y schema migrations.
  • Trabajo 2: Git y Git Flow.
  • Trabajo 3: test-driven development, integración y despliegue continuos.
  • Trabajo 4: Vagrant.
  • 2 talleres guiados de Vagrant y Ansible.

Excelente, muy bien dado y muy bueno el contenido!

Julián S. - Desarrollador de software

Sinceramente, el curso supero mis expectativas, me sirvió para medirme con el mercado actual , fue muy claro y practico el material utilizado, despertando interés en muchas cuestiones. Son 100% recomendables.

Nelson A. - Desarrollador de software