Descubre el plan de estudios y las asignaturas del Curso Devops online
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
- 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. 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
- 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 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 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, 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 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 estructurado, de tal forma que pudiera ser entregado a un cliente que demandará dicho despliegue.
El experto tiene dos asignaturas que permitirán a los alumnos adquirir los conocimientos necesarios para presentarse a dos certificaciones.
Ambas asignaturas tienen como finalidad únicamente la preparación para los exámenes de certificación. La realización de los mismos y la obtención de las certificaciones asociadas no entran dentro del experto universitario.
- Certificación AZ-900: Microsoft Azure Fundamentals. Dirigida a adquirir conocimientos básicos en Microsoft Azure y en 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.
Seminarios extraordinarios:
- Google Cloud Platform (GCP)
- Certificaciones profesionales: AWS y Microsoft
- IBM Cloud