Duración

36 horas

Introducción

Los microservicios se han convertido en la manera más ágil para desarrollar aplicaciones para clientes o productos. De cara a formar a los alumnos, éstos deben conocer las bases del desarrollo bajo esta nueva metodología y paradigma de desarrollo.

Objetivos

  • Saber desarrollar microservicios con la base de Spring Boot.
  • Conocer las bases de la programación de Api Rest.
  • Saber manejar una conexión a una BBDD relacional desde Spring Data.
  • Saber manejar una BBDD NoSQL como MonogDB de manera reactiva.
  • Saber Manejar un API Rest de manera reactiva.
  • Saber documentar apropiadamente un API Rest con Swagger y OpenAPI.
  • Saber conectar microservicios dentro de la arquitectura de manera síncrona y asíncrona.
  • Saber manejar conexiones entre microservicios con posibilidad de fallos.

Temario

  1. Introducción a Microservicios
  • ¿Qué son los microservicios?
    • Introducción
    • Ciclo de vida del desarrollo de software
    • ¿Qué son los microservicios?
    • Resumen
  • Elementos de los microservicios
    • Introducción
    • Creando monolitos
    • Creando Microservicios
    • Organización
    • Almacén de datos
    • Interfaz de usuario
    • Servicios
    • Servicios Distribuidos
    • Seguridad
    • Escalabilidad y disponibilidad
    • Monitorización
    • Despliegue
    • Revisando los componentes básicos de microservicios
    • Resumen
  • ¿Por qué implementar microservicios?
    • Introducción
    • Desafíos
    • Aspectos relativos a negocio
    • Aspectos técnicos
    • Aspectos relativos a producción
    • Resumen
  1. Microservicios con Spring Boot
  • Consideraciones y diseño de microservicios
    • Introducción
    • De monolitos a microservicios
    • Razones para utilizar microservicios
    • Razones para no usar microservicios
    • Construyendo Microservicios con Spring Boot
    • Despliegue de Microservicios: Contenedores y orquestadores
    • Consideraciones sobre el bus de servicios y el transporte
    • Resumen
  • Cómo crear un microservicio
    • Introducción
    • Modelo de negocio
    • Arquitectura de microservicios
    • ¿Por qué una arquitectura de microservicios?
    • Un primer microservicio
    • Consumir y versionar un microservicio
    • Generación de clases cliente con OpenAPI
    • Uso de GRPC
    • Resumen
  • Conexión de microservicios de forma sincróna y asincrónica
    • Introducción
    • Añadir un Microservicio
    • Contextos Delimitados
    • Implementar comunicación entre servicios
    • Comunicación Síncrona y Asíncrona
    • Configurar un microservicio para comunicacón asíncrona
    • Recepción de mensajes con un bus de servicios
    • Envío de mensajes con un bus de servicios
    • Resumen
  • Conexión a fuentes de datos síncronas y asíncronas
    • Introducción
    • Conexión a BBDD relaciones
    • Entidades relacionales
    • Repositorios de Spring Data
    • Named Quieries
    • Conexión a BBDD reactivas
    • Mongo DB
    • Conexión a la BBDD
    • Documentos y Colecciones
    • Repositorios Reactivos
  1. Comunicación entre microservicios Spring Boot
  • Introducción a la comunicación entre microservicios
    • Introducción
    • La aplicación de ejemplo
    • Antes de empezar
    • Demo: La aplicación de ejemplo
    • Introducción a los servicios de la aplicación de ejemplo
  • Comunicación entre microservicios de manera síncrona
    • Webclient y Rest Template
    • Demostración: Comunicación Sincrónica entre Microservicios
    • Trabajar con gRPC
    • Demostración: Explorando la versión gRPC de un microservicio
    • Desventajas de la comunicación sincrónica entre microservicios
    • Resumen
  • Documentación de microservicios
    • Utilización de Swagger y OpenAPI
    • Definición del API
    • Exportación de la documentación
    • Visualización de la documentación
    • Demostración: Publicación de la API usando Swagger
  • Comunicación asíncrona entre microservicios
    • Introducción
    • Agregando comunicación asíncrona
    • Demo: Ejecución de la aplicación de ejemplo
    • Uso de un bus para la comunicación
    • Demo: Comunicación asíncrona entre diferentes microservicios
    • Procesos en en segundo plano
    • Demo: Añadir un servicio en segundo plano
    • Sondeo de un servicio
    • Demo: Sondeo de un servicio
    • Resolver el problema de la consistencia eventual
    • Demo: Explorando el problema de consistencia eventual en la aplicación de ejemplo
    • Añadir eventos de integración
    • Demo: Añadir eventos de integración a través del bus
    • Resumen
  • Cómo hacer que los microservicios sean más resilientes
    • Introducción
    • Posibles problemas de comunicación entre microservicios
    • Circuit Breaker Hysxtrix
    • Escalabilidad, registro de microservicios
    • Resumen
    • Acceso a una infraestructura de microservicios
    • Demo: Añadiendo un API Gateway
    • Agregar diferentes clientes y puertas de enlace
    • Demo: Agregar una puerta de enlace para móviles
    • Resumen
  1. Despliegue de microservicios mediante Kubernetes
  • Microservicios y contenedores
    • Introducción
    • Introducción a contenedores
    • ¿Por qué utilizar contenedores para microservicios?
    • Ejecución en contenedores
    • Ejecutar cargas de trabajo de producción en clústers
    • K8s: Conceptos
    • Conjunto de réplica y despliegue
    • Definición de la configuración en YAML
    • Actualizaciones
    • Gestión de recursos y comunicación entre pods
    • Uso de Servicios k8s
    • La aplicación de ejemplo y SSL
    • Despliegue de la aplicación de ejemplo en K8s desde línea de comando
    • Resumen
  • Despliegue de microservicios en Kubernetes
    • Introducción
    • Configuración de un clúster
    • Demo: Configuración de un clúster
    • Registro de contenedores y seguridad
    • Configuración del registro de contenedores
    • Estrategias de despliegue
    • Desplegar la versión inicial de la aplicación
    • Comprobaciones de estado de la aplicación
    • Despliegue de una nueva versión sin tiempo de inactividad
    • Resumen
  • Automatización de los despliegues con DevOps y Gitlab
    • Introducción
    • CI/CD seguro y conforme a normas
    • Un pipeline por microservicio
    • Despliegue en K8S usando Gitlab Pipelines
    • Resumen
  • Actualización de la base de datos en tiempo cero (Zero-downtime)
    • Introducción y esquema
    • Zero-downtime
    • Preparación de una implantación en tiempo cero con un cambio de base de datos
    • Ejecución de una implantación en tiempo cero con un cambio de base de datos
    • Resumen
  1. Arquitectura Clean
  • Introducción
    • Introducción
    • Visión general
    • ¿En qué consiste Clean Code?
    • ¿Por qué invertir en Clean Code?
    • Demo
    • Resumen
  • Arquitectura centrada en el dominio
    • Introducción
    • Arquitectura centrada en el dominio
    • Demo
    • Resumen
  • Capa de aplicación
    • Introducción
    • Capa de aplicación
    • Demo
    • Resumen
  • Comandos y consultas
    • Introducción
    • Comandos y consultas
    • Demo
    • Resumen
  • Organización funcional
    • Introducción
    • Organización funcional
    • Demo
    • Resumen
  • Microservicios
    • Introducción
    • Microservicios
    • Demo
    • Resumen
  • Arquitectura testable
    • Introducción
    • Arquitectura testable
    • Demo
    • Resumen
  • Evolución de la arquitectura
    • Introducción
    • Evolución de la arquitectura
    • Resumen
  • Testing
    • Definición de pruebas
    • Pruebas de unidad
    • Pruebas de integridad
    • Pruebas de aceptación
    • Pruebas estáticas de código
    • Pruebas de rendimiento

Pruebas de seguridad

Solicita  información

    Política de Privacidad