MÓDULO IV: AUTOMATICACIÓN DEL PROCESO DE DESARROLLO
Las empresas tienen que adaptar sus productos y servicios a las nuevas expectativas del mercado: digitalización, movilidad, time to market, etc.
Este escenario obliga las empresas a mejorar y automatizar sus procesos . La automatización permite cumplir con esos objetivos y cómo reducir costes, mejorar la calidad y cambiar la cultura de empresa.
La automatización hace más eficientes los recursos, evitando realizar tareas repetitivas y con poco valor añadido, evitar errores de operación, facilitar el mantenimiento correctivo y preventivo, estandariza el conocimiento y normaliza el proceso.
Programa del Módulo
1.- Infraestructura como código:
Infraestructura como código: crear infraestructura con código en proveedores de nube con Terraform, Vagrant y Ansible.
Herramientas de implementación: herramientas para la implementación y provisión de infraestructura de código.
2.- Contenedores
Hipervisores y máquinas virtuales: conceptos básicos sobre Xen, Hyper V y VmWare.
Por qué los contenedores: conceptos básicos sobre los contenedores y el motivo de su uso con el caso de uso.
Contenedores: Explicación sobre diferentes sistemas de contenedores (Kernel Linux, CoreOS, Docker, CRI-O, Kubernetes, Openshift).
Docker: arquitectura y contenedores de Docker.
Máquina virtual vs Docker: diferencias y casos de uso entre máquinas virtuales (hipervisores) y contenedores Docker.
Componentes de Kubernetes: explicación avanzada sobre la arquitectura de Kubernetes y cómo implementar contenedores en ella.
Openshift como administración de clústeres de contenedores empresariales: explicación y taller completos y avanzados sobre cómo crear un clúster Openshift completo en AWS y GCC con software implementado desde Gitlab CI / Jenkins y Nexus con Terraform.
3.- Gestión del ciclo de vida
Control de versiones (Git):
• Operaciones básicas
• Trabajo en equipo (Merge, Cherrypick, checkout)
• Sucursales
Integración / implementación continua: cree una canalización del sistema que integre el código en un repositorio compartido, administre la creación de paquetes, etiquetados por versiones, implementados en entornos de prueba y probados automáticamente para encontrar errores lo antes posible.
Automatización del proceso de desarrollo: Realice pipelines para compilación y prueba y software.
4.- Automatización de despliegues y escalado
Automatización de implementaciones y escalamiento hacia arriba y hacia abajo: cree canalizaciones para la implementación y reglas para escalar hacia arriba y hacia abajo automáticamente en función de métricas y KPI.