Plan de Estudios

Módulo 1. Introducción a DevOps

Tema 1. ¿Por qué DevOps?

  • Introducción y objetivos
  • De dónde venimos en la gestión de la TI
  • El origen de DevOps
  • Las necesidades d las empresas para abordar la transformación digital
  • El mercado laboral en TI y por qué son tan demandados los DevOps

Tema 2. Gestión de proyectos

  • Agile y DevOps
  • Gestión de Releases en DevOps
  • Definición de un Product Life Cycle (PLC) Software

Tema 3. Organización de equipos

  • Conceptos básicos
  • Caso Spotify
  • Caso ING
  • Procesos y Gestión de la Demanda

Módulo 2. Integración Continua y Calidad del Software

Tema 4. Integración Continua

  • Que es CI
  • Repositorios de código

GIT

Definición de SCM (Software Control Management)

  • Plataforma de desarrollo

Github

Gitlab

BitBucket

  • Semantic versión: Gestión del versionado
  • Herramientas orquestadoras del CI

Jenkins

Diseño de Pipelines (Groovy)

Gestión de Pipelines (Shared Libraries)

Repositorio de Pipelines

Repositorios de Artefactos

Gestión de dependencias y construcción (Maven, Gradle, Nugets,etc)

  • Nomenclatura
  • Versionado
  • Organización de repos

Herramientas

  • Artifactory
  • Nexus
  • Pros-Contras
  • Gestión de accesos

Tema 5. Calidad del Software

  • Calidad del código y políticas de seguridad
  • Revisión del software al servicio de la eficencia operativa
  • Tipos de pruebas

Funcionales:

  • Unitarias
  • Aceptación 
  • Integración
  • Regresión

No Funcionales:

  • Rendimiento
  • Escalabilidad
  • Portabilidad
  • Seguridad
  • Análisis de código estático

Pruebas funcionales automatizadas:

  • Selenium
  • Cucumber
  • Gherkin

Principales Herramientas de Gestión de Pruebas. 

Caso práctico 1. Desarrollo de un proyecto de integración y entrega continua de aplicaciones en Cloud.

En este trabajo el alumno aplicará y desarrollará los conocimientos adquiridos a lo largo del curso. El objetivo del presente trabajo es que el alumno defina el SCM y realice un pipeline de integración y entrega continua de aplicaciones en la nube partiendo de un cambio de software base. Se abordarán hitos de implementación de scripts de automatización de la operativa, reporte para monitorización del estado del correcto cumplimiento, pruebas que aborden todo el espectro o tipología requerida en el ejercicio de certificación de la calidad de un software, así como ficheros de configuración de sandboxes o entornos aislados de validación de pruebas determinadas (contenedores). Servicios como ECS Fargate, AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy, AWS S3 e IAM serán de uso recurrente en su realización.

 

Módulo 3. Entornos Clouds en DevOps

Tema 6. Open Source en DevOps

  • Introducción

Definición de Open Source
Criterios del Open Source
Software propietario
Licencias de código

  • Upstream and downstream

Influcencia en el desarrollo de software
Organizaciones y comunidades Open Source

  • OpenSource de comunidad y empresarial

Diferencias
Software libre en el mundo empresarial
Patentes en el software libre

Tema 7. Tecnología Cloud en DevOps

  • Introducción a las tecnologías Cloud

IaaS

PaaS

SaaS

  • Entornos Cloud

Cloud Pública

Cloud Privada

Cloud Híbrida

  • Creando infraestructura como código (Terraform)

Terraform CLI
Sintaxis de Terraform
Idempotencia en Terraform
Desplegando un servidor web de 2 capas con Terraform

  • Contenedores

Introducción a los contenedores
The Open Container Initiative (OCI)
Podman y Docker

  • Orquestación de contenedores

Arquitectura de Kubernetes
Desplegando un cluster con kubeadm
Objetos de Kubernetes
PaaS en el mundo empresarial- OpenShift

Tema 8. Entrega Continua

  • Estrategias de despliegue (ej: Blue/Green, Red/black, etc)
  • Pros y contras de cada uno y esfuerzo en el Rollback
  • Herramientas de gestión de entornos
  • Promoción entre entornos de Aplicación en el Software Base
  • Promoción entre entornos de la Plataforma DevOps

 

 

Tema 9. Gestión de Entornos

  • CMDB: Que es y para qué sirve
  • Implementar el patrón de despliegue adecuado (Ansible + AWX)

Módulo 4. Monitorización, Cuadros de Mando y DevSecOps

Tema 10. Monitorización y Cuadros de Mando

  • Organizaciones Data-Driven

Monitorización

  • Definición de métricas e indicadores para DevOps
  • Cuadros de mando DevOps. Herramientas.

Prometheus – Grafana
ELK
Kafka
Jupyter

Tema 11. Seguridad en DevOps

  • Gestión de Secretos
  • Gestión de Vulnerabilidades
  • DevSecOps: integración de seguridad dentro de los flujos de despliegue

Caso Práctico 2. Automatización y despliegue en entornos Cloud. 

El alumno automatizará el despliegue de un PaaS basado en Kubernetes, así como la infraestructura necesaria para su despliegue. Se automatizará también el despliegue de una aplicación sobre la plataforma PaaS desplegada. El alumno creará un informe describiendo el entorno desplegado así como los pasos necesarios a seguir para desplegarlo. Este informe estará redactado y estructuado de tal forma que pudiera ser entregado a un cliente que demandará dicho despliegue.

Solicita información