Capacitación de DevOps

Programa

Este curso se divide en dos módulos, el primero será una introducción teórica a DevOps, con ejemplos prácticos, en la cual se presentarán los conceptos y las buenas prácticas necesarias, así como herramientas y mecanismos para trabajar con la estandarización y automatización como horizonte. El segundo módulo se enfocará directamente en Docker y tendrá un formato de taller, con presentaciones teóricas de los temas y ejercicios prácticos que los alumnos deberán resolver.

Objetivo

Los alumnos que finalicen el curso se llevarán un conocimiento de las buenas prácticas aplicables a cualquier proceso de desarrollo de software con el objetivo de automatizar y estandarizar el trabajo, para obtener productos finales de mayor calidad. A su vez, también contarán con conocimientos de la operatoria y gestión de ambientes de desarrollo, testing y producción.

Temario

Módulo 1: Introducción a DevOps

Organización del desarrollo

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

-Uso de GIT y plataformas de versionado.
-Separación de repositorios.
-Ramas protegidas. Definición de responsables técnicos.
-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.

• Automatización de testing. Integración continua.
• Generación y almacenamiento de artefactos, binarios, imágenes. Entrega continua.
• Definición de ambientes.
• Puesta en producción. Blue-green deployment. Canary deployment.
• Herramientas de monitoreo y estadísticas. Gestión de logs. Retroalimentación a desarrollo.
• Escalamiento. Twelve-factor app.

Módulo 2: Introducción a Docker

Parte teórica
Introducción

• Antecedentes
• ¿Qué es y por qué usarlo?
• Comparativa con máquinas virtuales
• Características generales
• Conceptos básicos: imágenes, contenedores, sistemas de archivos
• Instalación de docker

Comandos docker

• Comandos básicos
• Corriendo contenedores

• Dockerfile
• Imágenes: creación, análisis, reuso
• Contenedores: creación, análisis, parar, eliminar

Registry

• Registry docker
• Docker Hub
• Registries privadas

Consideraciones para trabajar con Docker

• Concepto de inmutabilidad aplicado a la infraestructura.
• Análisis e identificación de partes estáticas y dinámicas en un problema.
• Identificar problemas de crecimiento de contenedores
• Buenas prácticas.

Volúmenes

• ¿Dónde y cómo guardar la información?
• Características de los volúmenes.
• Diferentes tipos de volúmenes y sus características.
– Anónimos
– Nombrados
– Del SO host
– Desde otro contenedor

Más comandos docker

• Ingresar a un contenedor
• Commit
• Datos acerca de docker
• Liberar espacio: prune
• Límite de recursos
– Memoria
-CPU
– IO
• Multistage builds

Docker compose

• ¿Qué es y para qué sirve?

• Archivo docker-compose.yml
– Versiones
– Estructura

Conceptos de docker-compose

• Comando docker-compose y su uso
• Iniciando el proyecto
• Deteniendo el proyecto
• Destruyendo los contenedores
• Forzar la recreación
• Construyendo imágenes
• Observaciones
Docker en producción
• Trabajando con Docker standalone
– Iniciando contenedores con manejadores de procesos. Ejemplos usando systemd.
– Iniciando contenedores con políticas de reinicio. Análisis de diferentes políticas.

Clusters Docker

• ¿Qué son y para qué sirven?
• Características de los clusters.
• Consideraciones. Schedulers, manejo de volúmenes.
• Volúmenes distribuidos.
• Distintos tipos de clusters. Cattle, Kubernetes y Swarm.

 

Parte práctica

•Instalación en los diferentes sistemas
•Creando el primer contenedor
•Uso de Dockerfile para generar imágenes
•Visualización y uso de capas, historia de una imagen
• Reducir la historia de una imagen
• Reutilización y optimización de imágenes
• Controlar el crecimiento de un contenedor e identificar los cambios.
•Uso de volúmenes
• Trabajando con los diferentes tipos para comprender sus comportamientos, ventajas y desventajas

LUGAR DE DICTADO: 

Calle 44 Nº 793 entre 10 y 11- la Plata

ARANCEL

Dos (2) pagos de $6250. Conocé tus opciones de pago aquí.

CUPO MÁXIMO REQUERIDO: 

  • Cupo mínimo requerido _ 10 alumnos
    La apertura del curso está sujeta a la cantidad mínima de inscriptos.

Envíanos tu consulta!


Su nombre (*)

Su e-mail (*)

Confirme su e-mail (*)

Consulta

Disponible sólo en Argentina
Resumen

Destinatarios:
El curso está dirigido a desarrolladores de software a administradores de sistemas y a líderes de proyectos.

Duración:
12 encuentros

Duración de las clases: 18 a 20 hs

Docente:
Leonardo Di Tommaso

Modalidad:
Presencial

Cursada:
Martes y Jueves

Cupo mínimo:
10 alumnos