InternacionalAcceso estudiantes

Programa Avanzado en
DevOps y Cloud

Plan de Estudios

Un plan de estudios actualizado y de carácter práctico

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 tecnología?
  • El origen de DevOps
  • Las necesidades de 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
    • Nomenclatura
    • Versionado
    • Organización de repos
    • Artifactory
    • Nexus
    • Pros-Contras
    • Gestión de accesos
    • 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.)
    • Herramientas

Tema 5. 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 6. Calidad del software

  • Calidad del código y políticas de seguridad
  • Revisión del software al servicio de la eficiencia operativa
  • Tipos de pruebas
    • Unitarias
    • Aceptación
    • Integración
    • Regresión
    • Rendimiento
    • Escalabilidad
    • Portabilidad
    • Seguridad
    • Análisis de código estático
    • Funcionales
    • No funcionales
  • Pruebas funcionales automatizadas
    • Selenium
    • Cucumber
    • Gherkin
  • Principales herramientas 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 estudiante aplicará y desarrollará los conocimientos adquiridos a lo largo del curso. El objetivo es que 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, entre otros. 

Módulo 3. Entornos clouds en DevOps

Tema 7. Open source en DevOps

  • Introducción
    • Definición de open source
    • Criterios del  open source
    • Software propietario
    • Licencias de código
  • Upstream y downstream
    • Influencia en el desarrollo de software
    • Organizaciones y comunidades open source
  •  Open source de comunidad y empresarial
    • Diferencias
    • Software libre en el mundo empresarial
    • Patentes en el software libre

Tema 8. 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 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 estudiante 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.  

Se deberá crear un informe describiendo el entorno desplegado, así como los pasos necesarios a seguir para desplegarlo. Este estará redactado y estructurado, de tal forma que pudiera ser entregado a un cliente que pudiera demandar dicho despliegue. 

Completa tus estudios con una formación complementaria 

El programa tiene dos asignaturas que te permitirán adquirir los conocimientos necesarios para presentarse a dos certificaciones. Además, incluye los exámenes de ambas certificaciones

  • Certificación AZ-900Microsoft AZURE Fundamentals. Dirigida a adquirir conocimientos básicos en Microsoft AZURE y a obtener la certificación Microsoft Certified: AZURE Fundamentals. 
  • Certificación AWS Cloud Practitioner: dirigida a adquirir conocimientos básicos de la Certificación AWS Cloud Practitioner y en conocer pautas para obtener dicha certificación.