Microservicios Guía Completa de Docker & Kubernetes
Construye Microservicios Docker, Kubernetes, Spring Boot, Spring Cloud, LoadBalancer, Security JWT, Amazon AWS ECS y EKS
Lo que serás capaz de hacer
Bienvenido al curso de Microservicios, aprenderás línea a línea y desde cero a construir un arquitectura de microservicios con Docker, Docker Compose, Multi-Container, Kubernetes, Spring Boot y Spring Cloud Kubernetes, desde los conceptos más básicos hasta un completo ecosistema de servicios interconectados mediante el registro y escalamiento dinámico con Kubernetes (Integrado con Spring Cloud), Spring Cloud Gateway (puerta de enlace), balanceo de carga con LoadBalancer. Además de automatizar, escalar y desplegar en producción los microservicios en contenedores Docker y Kubernetes en Amazon AWS ECS y EKS. También aprenderás a dar seguridad y proteger las rutas endpoints de los diferentes microservicios con Spring Security OAuth2, JWT y nuevo Spring Authorization Server. Además aprenderás a centraliza toda la configuración de los microservicios utilizando Kubernetes ConfigMap y Secrets y muchos mas. Durante el curso también trabajaremos con varios componentes del ecosistema de Spring como IoC, Spring Boot, RestController, Servicios Web RESTful, cliente HTTP con Feing, Spring Data JPA e Hibernate para la persistencia y CRUD (crear, leer, actualizar y eliminar), usaremos bases de datos MySQL 8 y PostgreSQL, entre otros temas más. El curso es completamente funcional con versiones de Java 17, 21, 25 y superiores . ¿Qué son los microservicios? Son un enfoque de arquitectura y organización para el desarrollo de aplicaciones compuestas por pequeños servicios autónomos que se comunican a través de API RESTful, en otras palabras, nos permiten dividir nuestro gran sistema en una serie de componentes más pequeños e independientes que colaboran entre si. La arquitectura de microservicios hace que las aplicaciones sean más simples de escalar, más rápidas de desarrollar y más fácil de reutilizar. Donde cada servicio está diseñado para un conjunto de funciones y se enfoca en resolver un problema específico, por ejemplo un servicio desarrollado para una determinada función se puede usar como un componente básico en otro microservicio. ¿Porqué elegir nuestros cursos? Acceso 7 x 24 a nuestra Plataforma e-learning. Soporte online con profesor Java Al finalizar recibes un certificado digital Somos pioneros en brindarte este tipo de acceso para darte la libertad que necesitas para estudiar, donde quiera que te encuentres. Excelente relación calidad-precio. Conocimiento aplicable a proyectos reales del mercado laboral. Atención rápida y satisfactoria a las dudas por parte del profesor. Interactividad del curso ya que contiene foros y comunicación para resolver dudas. Todos los materiales del curso están en español y al finalizar recibes un diploma UDEMY digital certificando tu aprobación con validez internacional y LinkedIn. Si quieres ser un desarrollador de arquitecturas de microservicios con Spring Boot 2 y Spring Cloud y avanzar al siguiente nivel, es casi obligatorio este curso, te invito a que te inscribas, nos vemos adentro.
- Aprende a crear y consumir servicios web RESTful con Spring Boot
- Aprende Docker desde cero
- Aprende Kubernetes desde cero
- Conecta y consume otros microservicios utilizando cliente HTTP con Feign Spring Cloud
- Aprende a crear y usar imágenes y contenedores con Docker
- Aprende sobre las redes de contenedores con Docker Networks y DNS Service Discovery
Temario
UNIDAD 1 - Introducción · 9 leccionesUNIDAD 1 - Introducción
UNIDAD 1 - Introducción
- Introducción al curso
- Antes de Comenzar
- Instalación JDK Windows (opcional)
- Instalación JDK MacOS (opcional)
- Instalación JDK Linux (opcional)
- Instalación IntelliJ IDEA
- Cómo hacer preguntas
- Creando nuestro primer microservicio con Spring Boot y Cloud
- Introducción a los microservicios
UNIDAD 2 - Microservicio Usuarios · 11 leccionesUNIDAD 2 - Microservicio Usuarios
UNIDAD 2 - Microservicio Usuarios
- Configurando el contexto de persistencia JPA/Hibernate
- Introducción a los repositorios (CrudRepository de Spring Data JPA)
- Implementando el componente Repository de acceso a datos
- Implementando el componente Service
- Implementando el controlador RestController y metodos handler GET
- RestController y metodos handler POST y PUT
- RestController y metodos handler DELETE
- Configurando en el application.properties conexión MySQL
- Instalando Base de Datos MySQL
- Probando la conexión a MySQL
- Probando API Restful en la herramienta Postman
UNIDAD 3 - Microservicio Cursos · 7 leccionesUNIDAD 3 - Microservicio Cursos
UNIDAD 3 - Microservicio Cursos
- Creando msvc cursos
- Añadiendo la clase Entity y el CrudRepository
- Agregado el componente Service
- Escribiendo el controlador RestController para cursos
- Configurando el datasource y conexión con PostgreSQL
- Instalando PostgreSQL
- Probando API Restful de cursos con Postman
UNIDAD 4 - Validaciones y manejo de errores · 3 leccionesUNIDAD 4 - Validaciones y manejo de errores
UNIDAD 4 - Validaciones y manejo de errores
- Validadando los datos del JSON
- Validando si existente el usuario en la BBDD
- Validando si existente el usuario en la BBDD parte 2
UNIDAD 5 - Cliente HTTP Feign: Comunicación entre microservicios · 13 leccionesUNIDAD 5 - Cliente HTTP Feign: Comunicación entre microservicios
UNIDAD 5 - Cliente HTTP Feign: Comunicación entre microservicios
- Introducción conectando microservicios
- Creando JPA entity intermedia CursoUsuario
- Añadiendo JoinColumn curso_id como foreignkey y la clase POJO Usuario
- Revisando tablas de la BBDD y agregando métodos de comunicación HTTP
- Escribiendo el Cliente HTTP con Spring Cloud Feign
- Añadiendo e implementando métodos de comunicación HTTP en el Service
- Añadiendo métodos de comunicación en el Controlador Rest
- Probando comunicaciones HTTP entre microservicios en Postman
- Msvc usuarios obtener alumnos por ids
- Msvc cursos detalle del curso con los alumnos asignados
- Des-asignar un alumno del curso al ser eliminado en el Msvc usuarios
- Agregando en cliente Http de Msvc-usuarios para eliminar alumno de Msvc-cursos
- Descargar Código Fuente
UNIDAD 6 - Docker: Introducción · 12 leccionesUNIDAD 6 - Docker: Introducción
UNIDAD 6 - Docker: Introducción
- Introducción a contenedores Docker
- Ventajas de los contenedores en el desarrollo
- Arquitectura de Docker: Imágenes & Contenedores
- Instalación Docker Windows
- Instalación Docker macOS
- Instalación Docker Linux
- Generando archivo jar para dockerizar
- Creando archivo Dockerfile usando imagen OpenJDK
- Construyendo nuestra primera imagen con Dockerfile y corriendo contenedor
- Comunicación entre aplicación en contenedor y aplicación local
- Resumiendo un poco
- Contenedores e imágenes
UNIDAD 7 - Docker: Optimizando Dockerfile · 5 leccionesUNIDAD 7 - Docker: Optimizando Dockerfile
UNIDAD 7 - Docker: Optimizando Dockerfile
- Comprendiendo las capas de la imagen
- Optimizando Dockerfile
- Optimizando Dockerfile parte 2 - añadiendo nuevas capas
- Optimizando Dockerfile con compilaciones de varias etapas o multi-stage builds
- Qué son las capas
UNIDAD 8 - Docker: Comandos para manejar imagenes y contenedores · 11 leccionesUNIDAD 8 - Docker: Comandos para manejar imagenes y contenedores
UNIDAD 8 - Docker: Comandos para manejar imagenes y contenedores
- Introducción
- Reiniciando contenedores
- Conceptos y comandos para adjuntar (attach) o separar contenedores del terminal
- Eliminar contenedores e imagenes
- Eliminar contenedores detenidos automáticamente
- Ingresando en modo interactivo en contenedores
- Copiando archivos hacia/desde el contenedor en ejecucion
- Copiando archivos logs de spring desde el contenedor
- Más detalles sobre las imagenes y contenedores con el comando inspect
- Nombrando y etiquetando imagenes & contenedores
- Manejando imagenes y contenedores
UNIDAD 9 - Docker Networks: Comunicación entre contenedores · 12 leccionesUNIDAD 9 - Docker Networks: Comunicación entre contenedores
UNIDAD 9 - Docker Networks: Comunicación entre contenedores
- Introducción
- Dockerizando microservicio cursos y configurando la red o network
- Comunicación entre contenedores
- Dockerizando MySQL
- Dockerizando PostgreSQL
- Comunicación contenedores con BBDD Dockerizadas (MySQL y PostgreSQL)
- Revisando microservicios dockerizados en Postman
- Problema con persistencia de datos en MySQL/Postgres al eliminar el contenedor
- Docker Volumes: la solución al problema de persistencia de datos
- Conectarse desde contenedor cliente de línea de comandos a MySQL/Postgres
- Docker Networks: Comunicación entre contenedores
- Sobre los Volumes
UNIDAD 10 - Docker: Arguments y Environment Variables · 9 leccionesUNIDAD 10 - Docker: Arguments y Environment Variables
UNIDAD 10 - Docker: Arguments y Environment Variables
- Introducción
- Trabajando con variables de ambiente
- Trabajando con argumentos en el Dockerfile
- Solución al problema Dockerfile ARG en multi-stage
- Variables de ambiente (env) para los parametros de MySQL y Postgres
- Revisando variables de ambiente DB con inspect y Postman
- Variables de ambiente (env) para los hostnames de los contenedores
- Docker Environment Variables
- Descargar Código Fuente
UNIDAD 11 - Docker Compose: Orquestador para definir y ejecutar multi-contenedores · 9 leccionesUNIDAD 11 - Docker Compose: Orquestador para definir y ejecutar multi-contenedores
UNIDAD 11 - Docker Compose: Orquestador para definir y ejecutar multi-contenedores
- Introducción Docker Compose
- Instalando Docker Compose en Linux
- Creando el archivo docker compose
- Definiendo contenedores de BBDD MySQL y PostgreSQL
- Añadiendo contenedores de microservicios
- Ejecutando todo con docker-compose Up y Down para detener y eliminar todo
- Build imagen en docker compose
- Docker Compose
- Descargar Código Fuente
UNIDAD 12 - Docker Hub: Repositorio para compartir imágenes en la nube · 5 leccionesUNIDAD 12 - Docker Hub: Repositorio para compartir imágenes en la nube
UNIDAD 12 - Docker Hub: Repositorio para compartir imágenes en la nube
- Introducción Docker Hub y repasando lo aprendido
- Creando nuestro repositorio y enviando imagen a Docker Hub con push
- Bajando imagen desde Docker Hub con pull
- Modificando docker-compose para obtener imagenes desde repositorio Docker Hub
- Descargar Código Fuente
UNIDAD 13 - Docker: Despliegue en producción - Amazon AWS · 22 leccionesUNIDAD 13 - Docker: Despliegue en producción - Amazon AWS
UNIDAD 13 - Docker: Despliegue en producción - Amazon AWS
- Introducción
- Comenzando con Amazon EC2
- Lanzando nuestra instancia EC2
- Conectando a instancia de amazon linux EC2 e instalando Docker
- Corriendo contenedores con docker-compose en maquina remota AWS EC2
- Corriendo contenedores en multi-maquinas EC2 o multi-host - parte 1
- Corriendo contenedores en multi-maquinas EC2 o multi-host - parte 2
- Introducción AWS Elastic Container Service (Amazon ECS)
- Importante sobre precios de ECS
- Creando Cluster ECS y una definición de tarea o task definition
- Agregando contenedor mysql en la definición de tarea o task definition
- Agregando servicio para exponer los contenedores
- Solucionando problema de conexión de la base de datos
- Solución II: problema de conexión configurando datasource (Opcional)
- Agreagando LoadBalancer al servicio
- Agregando tarea para microservicio cursos
- Agregando servicio para exponer contenedor de cursos y LoadBalancer
- Modificando task usuarios con URL del loadbalancer de cursos
- Probando los servicios ECS en Postman
- Agregando volumen EFS a contenedor MySQL
- Agregando volumen EFS a contenedor de PostgreSQL
- Finalizando y eliminando todos los recursos de ECS
UNIDAD 14 - Kubernetes · 25 leccionesUNIDAD 14 - Kubernetes
UNIDAD 14 - Kubernetes
- Introducción a Kubernetes
- Porqué Kubernetes
- Arquitectura de Kubernetes
- Alcance de Kubernetes y las herramientas necesarias para instalar
- Instalación Windows
- Instalación MacOS
- Introducción a los objetos de Kubernetes
- Los objetos Pods
- Los objetos Deployments
- Creando deployment mysql
- Deployment mysql con las variables de ambientes
- Creando el servicio de mysql para la comunicación interna con hostname
- Creando Deployment usuarios
- Creando el servicio de usuarios para la comunicación, tráfico y LoadBalancer
- Actualizando imagen de un deployment
- Replicas, escalando instancias de pods en Deployment
- Pasando del método Imperativo al Declarativo con archivos de configuraciones yml
- Trabajando con la forma Declarativa yaml
- Escribiendo Deployment declarativo de postgres
- Escribiendo Service declarativo de postgres
- Deployment y Service de cursos
- Escribiendo Deployment y Service de cursos
- Aplicando Deployment y Service de cursos y probando en Postman
- Kubernetes
- Servicios de Kubernetes
UNIDAD 15 - Kubernetes: Volumes · 7 leccionesUNIDAD 15 - Kubernetes: Volumes
UNIDAD 15 - Kubernetes: Volumes
- Introducción a los Volumes de Kubernetes
- Resumen sobre los volumenes
- Configurando volume hostPath para MySQL
- Configurando volume hostPath para PostgreSQL
- Configurando PersistentVolume para MySQL
- Configurando PersistentVolumeClaim para MySQL
- Configurando PersistentVolume para PostgreSQL
UNIDAD 16 - Kubernetes: ConfigMap y Secret - Configuración centralizada · 4 leccionesUNIDAD 16 - Kubernetes: ConfigMap y Secret - Configuración centralizada
UNIDAD 16 - Kubernetes: ConfigMap y Secret - Configuración centralizada
- Agregando diccionario ConfigMap
- Aplicando y utilizando las configuraciones en los Deployments
- Agregando Secret
- Descargar Código Fuente
UNIDAD 17 - Kubernetes: Spring Cloud Kubernetes · 10 leccionesUNIDAD 17 - Kubernetes: Spring Cloud Kubernetes
UNIDAD 17 - Kubernetes: Spring Cloud Kubernetes
- Introducción Spring Cloud Kubernetes
- Configurando nuestros msvcs con Spring Cloud Kubernetes
- Aplicando cambios en K8s y probando en Postman
- Ejemplo visualizando LoadBalancer con metadata de los pods
- Configuraciones de Spring Boot en ConfigMap
- Configuraciones de entornos dev y prod
- Configurando Liveness y Readiness en microservicios con Spring Boot Actuator
- Configurando Pod con Liveness y Readiness Probe
- Configurando Pod Container Resources
- Descargar Código Fuente
UNIDAD 18 - Kubernetes: Spring Cloud Gateway · 7 leccionesUNIDAD 18 - Kubernetes: Spring Cloud Gateway
UNIDAD 18 - Kubernetes: Spring Cloud Gateway
- Introducción a Spring Cloud Gateway
- Creando y configurando servicio Spring Cloud Gateway
- Configurando rutas de msvcs en Gateway y Dockerizando
- Configuración de rutas usando application.properties y applications.yml
- Deployment y Service de gateway
- Escribiendo Deployment y Service de Gateway y probando en Postman
- Descargar Código Fuente
UNIDAD 19 - Kubernetes: Despliegue en AWS EKS (Elastic Kubernetes Service) · 9 leccionesUNIDAD 19 - Kubernetes: Despliegue en AWS EKS (Elastic Kubernetes Service)
UNIDAD 19 - Kubernetes: Despliegue en AWS EKS (Elastic Kubernetes Service)
- Creando cluster de kubernetes en Amazon EKS
- Importante: sobre los precios de AWS EKS
- Configurando kubectl para la comunicación con Amazon EKS
- Creando Worker Nodes EC2
- Creando sistema de almacenamiento con Amazon EFS para MySQL y PostgreSQL
- Aplicando los recursos AWS EFS CSI Driver en cluster EKS
- Modificando yaml de PersistentVolume (PV) y PVC con el driver CSI de EFS
- Aplicando todos los objetos pods, deployments, svc en EKS y probando en Postman
- Eliminando cluster EKS y Recursos AWS (Opcional)
UNIDAD 20 - Kubernetes: Security JWT con OAuth 2.1 · 20 leccionesUNIDAD 20 - Kubernetes: Security JWT con OAuth 2.1
UNIDAD 20 - Kubernetes: Security JWT con OAuth 2.1
- Creando microservicio Spring Authorization Server (OAuth 2.1 )
- Configurando el Servidor de Autorización
- Configurando OAuth2 Client
- Configurando OAuth2 Client SecurityConfig
- Configurando OAuth2 Resource Server
- Configurando varibles de entorno en Msvc Usuarios
- Configurando varibles de entorno en Msvc Auth
- Escribiendo Deployment y Service de Auth
- Aplicando configuraciones y cambios & probando con Postman
- Login OAuth 2.1
- Encriptando Password BCrypt
- Configurando BCrypt Password Encoder en el servidor de autorización
- Implementando método handler login (Controlador)
- Implementando clase UserDetailsService para login personalizado con WebClient
- Aplicando cambios y probando
- WebClient con SpringCloud LoadBalancer
- Propagar token JWT en msvc cursos
- Propagar token JWT en demás metodos en UsuarioClientRest
- Login OAuth2 Cliente Http Postman
- Final del Curso y Código Fuente
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
20 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
12 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Andrés Guzmán.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 20 unidades · 210 lecciones · 60 h
- 12 meses de acceso
- 12 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Andrés Guzmán; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


