Este repositorio ha sido creado para contener la información y código utilizado durante la capacitación para el desarrollo de aplicaciones Java.
El curso de desarrollo de microservicios usando Java y Docker busca desarrollar las habilidades técnicas de los participantes, y las competencias necesarias para diseñar, desarrollar e implementar arquitectura de microservicios eficientes. En el curso los participantes aprenderán en qué consisten los microservicios, cuáles son los beneficios y los desafíos. Luego se les introducirá al contexto de microservicios bajo el lenguaje Java, para finalmente introducir los contenedores, mediante el uso de Docker y entender las estrategias que están detrás del despliegue de microservicios.
El curso se centrará en el desarrollo de competencias en el diseño y creación de microservicios usando Docker y, al final del curso, el estudiante habrá desarrollado las competencias para diseñar y programar aplicaciones usando Docker, Java y microservicios
- Introducción a los microservicios y su arquitectura.
- Beneficios y desafíos de los microservicios.
- Principios de diseño de microservicios.
- Ecosistemas de microservicios.
- SOA vs microservicios.
- API's y Microservicios.
- Principios de diseño de software.
- Desarrollo de API RESTful utilizando frameworks como Spring Boot.
- Gestión de dependencias con Maven o Gradle.
- Pruebas unitarias y pruebas de integración. JUnit
- Principios REST
- Características de los microservicios
- Procesos de Comunicación
- Manejo de transacciones
- Introducción a los contenedores
- Conceptos y componentes de Docker.
- Creación y gestión de imágenes de Docker.
- Despliegue de contenedores Docker.
- Orquestación de contenedores con Docker Compose o Kubernetes.
- Monitoreo y registro de microservicios.
- Gestión de Configuración y Entrega Continua
- Integración y entrega continuas (CI/CD) utilizando Jenkins o herramientas similares.
- Automatización de pruebas y despliegue de microservicios.
- Principios de seguridad en microservicios.
- Autenticación y autorización en microservicios.
- Manejo de vulnerabilidades y riesgos.
- Escalabilidad y rendimiento de microservicios.