Guía Completa De Docker & Kubernetes Con Spring Boot 2022
Última actualización: 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: Español | Size: 13.34 GB | Duration: 32h 43m
Última actualización: 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: Español | Size: 13.34 GB | Duration: 32h 43m
Construye Microservicios Spring Boot, Docker, Kubernetes, Spring Cloud, LoadBalancer, Security JWT, Amazon AWS ECS y EKS
What you'll learn
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
Aprende qué es Docker y Kubernetes y por qué podría querer utilizarlos en sus microservicicos
Centraliza las configuraciones de los microservicios con Kubernetes Config Map
Aprende a establecer comunicación entre microservicios, habilitar balanceo de carga (LoadBalancer)
Auto-escalamiento dinámico hacia arriba y hacia abajo de instancias de los microservicios, balanceo de carga (LoadBalancer) con Kubernetes y Spring Cloud
Implementa Autenticación y Autorización con Spring Security OAuth2, JWT y Spring Authorization Server
Despliegues en producción contenedores Docker y Kubernetes en AWS, EC2 (Elastic Computing), ECS (Elastic Container Service) y EKS (Elastic Kubernetes Service)
Requirements
Dominio de Java y programación orientada a objetos
Conocimientos de Spring Framework e Spring Boot
Conocimientos de Bases de Datos y SQL
Description
Bienvenido al curso de Microservicios, aprenderás línea a línea y desde cero a construir un arquitectura de microservicios con Spring Boot 2, Docker, Docker Compose, Multi-Container, Kubernetes 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 8 y 11, 12, 13, 14, 15, 16, 17, 18 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 JavaAl finalizar recibes un certificado digitalSomos 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.
Overview
Section 1: Introducción
Lecture 1 Introducción al curso
Lecture 2 Antes de Comenzar
Lecture 3 Instalación JDK Windows (opcional)
Lecture 4 Instalación JDK MacOS (opcional)
Lecture 5 Instalación JDK Linux (opcional)
Lecture 6 Instalación IntelliJ IDEA
Lecture 7 Cómo hacer preguntas
Lecture 8 Creando nuestro primer microservicio con Spring Boot y Cloud
Lecture 9 Introducción a los microservicios
Section 2: Microservicio Usuarios
Lecture 10 Configurando el contexto de persistencia JPA/Hibernate
Lecture 11 Introducción a los repositorios (CrudRepository de Spring Data JPA)
Lecture 12 Implementando el componente Repository de acceso a datos
Lecture 13 Implementando el componente Service
Lecture 14 Implementando el controlador RestController y metodos handler GET
Lecture 15 RestController y metodos handler POST y PUT
Lecture 16 RestController y metodos handler DELETE
Lecture 17 Configurando en el application.properties conexión MySQL
Lecture 18 Instalando Base de Datos MySQL
Lecture 19 Probando la conexión a MySQL
Lecture 20 Probando API Restful en la herramienta Postman
Section 3: Microservicio Cursos
Lecture 21 Creando msvc cursos
Lecture 22 Añadiendo la clase Entity y el CrudRepository
Lecture 23 Agregado el componente Service
Lecture 24 Escribiendo el controlador RestController para cursos
Lecture 25 Configurando el datasource y conexión con PostgreSQL
Lecture 26 Instalando PostgreSQL
Lecture 27 Probando API Restful de cursos con Postman
Section 4: Validaciones y manejo de errores
Lecture 28 Validadando los datos del JSON
Lecture 29 Validando si existente el usuario en la BBDD
Lecture 30 Validando si existente el usuario en la BBDD parte 2
Section 5: Cliente HTTP Feign: Comunicación entre microservicios
Lecture 31 Introducción conectando microservicios
Lecture 32 Creando JPA entity intermedia CursoUsuario
Lecture 33 Añadiendo JoinColumn curso_id como foreignkey y la clase POJO Usuario
Lecture 34 Revisando tablas de la BBDD y agregando métodos de comunicación HTTP
Lecture 35 Escribiendo el Cliente HTTP con Spring Cloud Feign
Lecture 36 Añadiendo e implementando métodos de comunicación HTTP en el Service
Lecture 37 Añadiendo métodos de comunicación en el Controlador Rest
Lecture 38 Probando comunicaciones HTTP entre microservicios en Postman
Lecture 39 Msvc usuarios obtener alumnos por ids
Lecture 40 Msvc cursos detalle del curso con los alumnos asignados
Lecture 41 Des-asignar un alumno del curso al ser eliminado en el Msvc usuarios
Lecture 42 Agregando en cliente Http de Msvc-usuarios para eliminar alumno de Msvc-cursos
Lecture 43 Descargar Código Fuente
Section 6: Docker: Introducción
Lecture 44 Introducción a contenedores Docker
Lecture 45 Ventajas de los contenedores en el desarrollo
Lecture 46 Arquitectura de Docker: Imágenes & Contenedores
Lecture 47 Instalación Docker Windows
Lecture 48 Instalación Docker macOS
Lecture 49 Instalación Docker Linux
Lecture 50 Generando archivo jar para dockerizar
Lecture 51 Creando archivo Dockerfile usando imagen OpenJDK
Lecture 52 Construyendo nuestra primera imagen con Dockerfile y corriendo contenedor
Lecture 53 Comunicación entre aplicación en contenedor y aplicación local
Lecture 54 Resumiendo un poco
Section 7: Docker: Optimizando Dockerfile
Lecture 55 Comprendiendo las capas de la imagen
Lecture 56 Optimizando Dockerfile
Lecture 57 Optimizando Dockerfile parte 2 - añadiendo nuevas capas
Lecture 58 Optimizando Dockerfile con compilaciones de varias etapas o multi-stage builds
Section 8: Docker: Comandos para manejar imagenes y contenedores
Lecture 59 Introducción
Lecture 60 Reiniciando contenedores
Lecture 61 Conceptos y comandos para adjuntar (attach) o separar contenedores del terminal
Lecture 62 Eliminar contenedores e imagenes
Lecture 63 Eliminar contenedores detenidos automáticamente
Lecture 64 Ingresando en modo interactivo en contenedores
Lecture 65 Copiando archivos hacia/desde el contenedor en ejecucion
Lecture 66 Copiando archivos logs de spring desde el contenedor
Lecture 67 Más detalles sobre las imagenes y contenedores con el comando inspect
Lecture 68 Nombrando y etiquetando imagenes & contenedores
Section 9: Docker Networks: Comunicación entre contenedores
Lecture 69 Introducción
Lecture 70 Dockerizando microservicio cursos y configurando la red o network
Lecture 71 Comunicación entre contenedores
Lecture 72 Dockerizando MySQL
Lecture 73 Dockerizando PostgreSQL
Lecture 74 Comunicación contenedores con BBDD Dockerizadas (MySQL y PostgreSQL)
Lecture 75 Revisando microservicios dockerizados en Postman
Lecture 76 Problema con persistencia de datos en MySQL/Postgres al eliminar el contenedor
Lecture 77 Docker Volumes: la solución al problema de persistencia de datos
Lecture 78 Conectarse desde contenedor cliente de línea de comandos a MySQL/Postgres
Section 10: Docker: Arguments y Environment Variables
Lecture 79 Introducción
Lecture 80 Trabajando con variables de ambiente
Lecture 81 Trabajando con argumentos en el Dockerfile
Lecture 82 Solución al problema Dockerfile ARG en multi-stage
Lecture 83 Variables de ambiente (env) para los parametros de MySQL y Postgres
Lecture 84 Revisando variables de ambiente DB con inspect y Postman
Lecture 85 Variables de ambiente (env) para los hostnames de los contenedores
Lecture 86 Descargar Código Fuente
Section 11: Docker Compose: Orquestador para definir y ejecutar multi-contenedores
Lecture 87 Introducción Docker Compose
Lecture 88 Instalando Docker Compose en Linux
Lecture 89 Creando el archivo docker compose
Lecture 90 Definiendo contenedores de BBDD MySQL y PostgreSQL
Lecture 91 Añadiendo contenedores de microservicios
Lecture 92 Ejecutando todo con docker-compose Up y Down para detener y eliminar todo
Lecture 93 Build imagen en docker compose
Lecture 94 Descargar Código Fuente
Section 12: Docker Hub: Repositorio para compartir imágenes en la nube
Lecture 95 Introducción Docker Hub y repasando lo aprendido
Lecture 96 Creando nuestro repositorio y enviando imagen a Docker Hub con push
Lecture 97 Bajando imagen desde Docker Hub con pull
Lecture 98 Modificando docker-compose para obtener imagenes desde repositorio Docker Hub
Lecture 99 Descargar Código Fuente
Section 13: Docker: Despliegue en producción - Amazon AWS
Lecture 100 Introducción
Lecture 101 Comenzando con Amazon EC2
Lecture 102 Lanzando nuestra instancia EC2
Lecture 103 Conectando a instancia de amazon linux EC2 e instalando Docker
Lecture 104 Corriendo contenedores con docker-compose en maquina remota AWS EC2
Lecture 105 Corriendo contenedores en multi-maquinas EC2 o multi-host - parte 1
Lecture 106 Corriendo contenedores en multi-maquinas EC2 o multi-host - parte 2
Lecture 107 Introducción AWS Elastic Container Service (Amazon ECS)
Lecture 108 Importante sobre precios de ECS
Lecture 109 Creando Cluster ECS y una definición de tarea o task definition
Lecture 110 Agregando contenedor mysql en la definición de tarea o task definition
Lecture 111 Agregando servicio para exponer los contenedores
Lecture 112 Solucionando problema de conexión de la base de datos
Lecture 113 Solución II: problema de conexión configurando datasource (Opcional)
Lecture 114 Agreagando LoadBalancer al servicio
Lecture 115 Agregando tarea para microservicio cursos
Lecture 116 Agregando servicio para exponer contenedor de cursos y LoadBalancer
Lecture 117 Modificando task usuarios con URL del loadbalancer de cursos
Lecture 118 Probando los servicios ECS en Postman
Lecture 119 Agregando volumen EFS a contenedor MySQL
Lecture 120 Agregando volumen EFS a contenedor de PostgreSQL
Lecture 121 Finalizando y eliminando todos los recursos de ECS
Section 14: Kubernetes
Lecture 122 Introducción a Kubernetes
Lecture 123 Porqué Kubernetes
Lecture 124 Arquitectura de Kubernetes
Lecture 125 Alcance de Kubernetes y las herramientas necesarias para instalar
Lecture 126 Instalación Windows
Lecture 127 Instalación MacOS
Lecture 128 Introducción a los objetos de Kubernetes
Lecture 129 Los objetos Pods
Lecture 130 Los objetos Deployments
Lecture 131 Creando deployment mysql
Lecture 132 Deployment mysql con las variables de ambientes
Lecture 133 Creando el servicio de mysql para la comunicación interna con hostname
Lecture 134 Creando Deployment usuarios
Lecture 135 Creando el servicio de usuarios para la comunicación, tráfico y LoadBalancer
Lecture 136 Actualizando imagen de un deployment
Lecture 137 Replicas, escalando instancias de pods en Deployment
Lecture 138 Pasando del método Imperativo al Declarativo con archivos de configuraciones yml
Lecture 139 Trabajando con la forma Declarativa yaml
Lecture 140 Escribiendo Deployment declarativo de postgres
Lecture 141 Escribiendo Service declarativo de postgres
Lecture 142 Escribiendo Deployment y Service de cursos
Lecture 143 Aplicando Deployment y Service de cursos y probando en Postman
Section 15: Kubernetes: Volumes
Lecture 144 Introducción a los Volumes de Kubernetes
Lecture 145 Resumen sobre los volumenes
Lecture 146 Configurando volume hostPath para MySQL
Lecture 147 Configurando volume hostPath para PostgreSQL
Lecture 148 Configurando PersistentVolume para MySQL
Lecture 149 Configurando PersistentVolumeClaim para MySQL
Lecture 150 Configurando PersistentVolume para PostgreSQL
Section 16: Kubernetes: ConfigMap y Secret - Configuración centralizada
Lecture 151 Agregando diccionario ConfigMap
Lecture 152 Aplicando y utilizando las configuraciones en los Deployments
Lecture 153 Agregando Secret
Lecture 154 Descargar Código Fuente
Section 17: Kubernetes: Spring Cloud Kubernetes
Lecture 155 Introducción Spring Cloud Kubernetes
Lecture 156 Configurando nuestros msvcs con Spring Cloud Kubernetes
Lecture 157 Aplicando cambios en K8s y probando en Postman
Lecture 158 Ejemplo visualizando LoadBalancer con metadata de los pods
Lecture 159 Configuraciones de Spring Boot en ConfigMap
Lecture 160 Configuraciones de entornos dev y prod
Lecture 161 Configurando Liveness y Readiness en microservicios con Spring Boot Actuator
Lecture 162 Configurando Pod con Liveness y Readiness Probe
Lecture 163 Configurando Pod Container Resources
Lecture 164 Descargar Código Fuente
Section 18: Kubernetes: Spring Cloud Gateway
Lecture 165 Introducción a Spring Cloud Gateway
Lecture 166 Creando y configurando servicio Spring Cloud Gateway
Lecture 167 Configurando rutas de msvcs en Gateway y Dockerizando
Lecture 168 Configuración de rutas usando application.properties y applications.yml
Lecture 169 Escribiendo Deployment y Service de Gateway y probando en Postman
Lecture 170 Descargar Código Fuente
Section 19: Kubernetes: Despliegue en AWS EKS (Elastic Kubernetes Service)
Lecture 171 Creando cluster de kubernetes en Amazon EKS
Lecture 172 Importante: sobre los precios de AWS EKS
Lecture 173 Configurando kubectl para la comunicación con Amazon EKS
Lecture 174 Creando Worker Nodes EC2
Lecture 175 Creando sistema de almacenamiento con Amazon EFS para MySQL y PostgreSQL
Lecture 176 Aplicando los recursos AWS EFS CSI Driver en cluster EKS
Lecture 177 Modificando yaml de PersistentVolume (PV) y PVC con el driver CSI de EFS
Lecture 178 Aplicando todos los objetos pods, deployments, svc en EKS y probando en Postman
Lecture 179 Eliminando cluster EKS y Recursos AWS (Opcional)
Section 20: Kubernetes: Security JWT con OAuth 2.1
Lecture 180 Creando microservicio Spring Authorization Server (OAuth 2.1 )
Lecture 181 Configurando el Servidor de Autorización
Lecture 182 Configurando OAuth2 Client
Lecture 183 Configurando OAuth2 Client SecurityConfig
Lecture 184 Configurando OAuth2 Resource Server
Lecture 185 Configurando varibles de entorno en Msvc Usuarios
Lecture 186 Configurando varibles de entorno en Msvc Auth
Lecture 187 Escribiendo Deployment y Service de Auth
Lecture 188 Aplicando configuraciones y cambios & probando con Postman
Lecture 189 Login OAuth 2.1
Lecture 190 Encriptando Password BCrypt
Lecture 191 Configurando BCrypt Password Encoder en el servidor de autorización
Lecture 192 Implementando método handler login (Controlador)
Lecture 193 Implementando clase UserDetailsService para login personalizado con WebClient
Lecture 194 Aplicando cambios y probando
Lecture 195 WebClient con SpringCloud LoadBalancer
Lecture 196 Propagar token JWT en msvc cursos
Lecture 197 Login OAuth2 Cliente Http Postman
Lecture 198 Final del Curso y Código Fuente
Desarolladores que dominan Spring y quieran actualizar y profundizar sus conocimientos con Docker y Kubernetes,Desarolladores que manejan Spring Boot y necesitas aprender Docker y Kubernetes para miscroservicios,Personas que dominan Spring y quieran introducirse en la arquitectura de microservicios,Personas que estudian informática y/o ingeniería que estén estudiando o han estudiado Java y spring,Personas interesadas en el desarrollo backend que dominan Java y spring,Personas que quieran aprender desde cero Docker y Kubernetes como un ecosistema de miscroservicios