Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Arquitectura de Microservicios. Spring boot y Kubernetes
Highest Rated
Rating: 4.4 out of 5(24 ratings)
2,166 students

Arquitectura de Microservicios. Spring boot y Kubernetes

Aplicación de Arquitectura de Microservicios en el mundo real. Patrones e implementaciones antes casos de uso complejos
Last updated 12/2024
Spanish

What you'll learn

  • Introducción a Arquitectura de Microservicios. Se aprenderá las consideraciones bases para establecer una arquitectura de microservicios
  • Pros/Contras de Microservicios de la arquitectura de microserivicios aplicadas a casos de usos reales
  • Principios arquitectónicos SOLID. Como aplicar los principios de calidad de desarrollo desde el punto de vista arquitectónico
  • Introducción a las herramientas que soportarán la arquitectura de microservicios.
  • RoadMap de consideraciones, herramientas, pricipios de desarrollo y patrones para implementar con éxito una aquitectura de microservicios
  • Desarrollo de microservicios basado en spring boot. Principios SOLID, arquitectura Hexagonal
  • Toda la verdad sobre la arquitectura operacional de microservicios. Cuando aplicarla y como aplicarla sin morir en el intento
  • Caso práctico de un microservicio spring boot integrado con componentes de arquitectura operacional
  • Componentes arquitectónicos para acelerar los desarrollos
  • Reflexion cuando usar los patrones de diseño de arquitectura de microservicios. Event Sourcing, CQRS, Circuit Breaker etc...

Course content

4 sections23 lectures4h 35m total length
  • Roadmap Formativo5:05

    Elegir el stack tecnológico adecuado para una arquitectura de microservicios es una decisión estratégica que afecta la escalabilidad, rendimiento, facilidad de mantenimiento y tiempo de desarrollo del sistema. La selección debe basarse en los requerimientos del negocio, las necesidades técnicas y las capacidades del equipo de desarrollo.


    Retos al Seleccionar el Stack

    1. Sobrecarga de Complejidad:

      • Usar herramientas avanzadas como Kubernetes o Kafka puede ser excesivo para sistemas pequeños.

    2. Curva de Aprendizaje:

      • Algunas herramientas requieren conocimientos específicos (ej., Helm, observabilidad distribuida).

    3. Compatibilidad entre Componentes:

      • Asegúrate de que las tecnologías elegidas integren bien entre sí.

    4. Costos Operacionales:

      • Infraestructura compleja puede aumentar los costos de operación, especialmente en entornos cloud.

  • Introducción a la Arquitectura de Microservicios2:18

    Elegir el stack tecnológico adecuado para una arquitectura de microservicios es una decisión estratégica que afecta la escalabilidad, rendimiento, facilidad de mantenimiento y tiempo de desarrollo del sistema. La selección debe basarse en los requerimientos del negocio, las necesidades técnicas y las capacidades del equipo de desarrollo.


    Retos al Seleccionar el Stack

    1. Sobrecarga de Complejidad:

      • Usar herramientas avanzadas como Kubernetes o Kafka puede ser excesivo para sistemas pequeños.

    2. Curva de Aprendizaje:

      • Algunas herramientas requieren conocimientos específicos (ej., Helm, observabilidad distribuida).

    3. Compatibilidad entre Componentes:

      • Asegúrate de que las tecnologías elegidas integren bien entre sí.

    4. Costos Operacionales:

      • Infraestructura compleja puede aumentar los costos de operación, especialmente en entornos cloud.

  • Principios Básicos de Arquitectura de Microservicios12:26

    En esta sección, nos sumergiremos en la definición y los principios básicos que constituyen la arquitectura de microservicios. Comprender estos fundamentos es esencial para apreciar la potencia y la flexibilidad que ofrece esta arquitectura, así como para diferenciarla de otros enfoques arquitectónicos en el desarrollo de software.

  • Elementos Básicos para implementar una Arquitectura de Microservicios7:01

    En esta sección, exploraremos un análisis equilibrado de la arquitectura de microservicios, centrándonos tanto en sus ventajas claras como en los desafíos y consideraciones que las organizaciones pueden enfrentar al adoptar esta arquitectura. Aunque la arquitectura de microservicios ha ganado popularidad debido a sus numerosas ventajas, también presenta una serie de desafíos que deben ser cuidadosamente evaluados y gestionados para garantizar una implementación exitosa y efectiva en el desarrollo de software.


Requirements

  • Experiencia en el diseño y desarrollo en arquitecturas de microservios

Description

Curso teórico basado en la experiencia profesional en la migración de arquitecturas monolíticas a arquitecturas operacionales basadas en microservicios. Es una secuencia de cursos donde en la introducción se abordarán que es realmente una arquitectura de micro-servicios en la practica, patrones, principios de desarrollo, herramientas y como y cuando implantarlo.

En efoque del curos será orientar la definición y desarrollo con el fin de simplificar una arquitectura que de por si es compleja siguiendo siempre una evaluación y ofreciendo alternativas justificadas para dar soporte a carácterísticas esenciales en la arquitectura de microservicios y siendo crítico con otras prácticas que añaden complejidad y no ofrecen valor funcional.

Se verá cómo Simplificar una Arquitectura de Microservicios

  1. Identificar Dominios Claros (Uso de DDD):

    • Usar Bounded Contexts para definir responsabilidades bien delimitadas, evitando servicios demasiado grandes o fragmentados.

  2. Adoptar Principios "You Aren't Gonna Need It" (YAGNI):

    • Evitar añadir funcionalidades o arquitecturas innecesarias desde el principio.

    • Diseñar los microservicios según las necesidades actuales, permitiendo iteraciones posteriores.

  3. Automatización de Procesos:

    • Automatizar despliegues, pruebas y monitoreo con herramientas como CI/CD, Kubernetes y observabilidad centralizada.

  4. Uso de Herramientas Estándar:

    • Emplear frameworks y soluciones probadas para reducir la carga de configuración, como Spring Boot, Spring Cloud, y soluciones nativas de Kubernetes (ConfigMaps, Secrets).

  5. Evitar el Sobre-Fraccionamiento:

    • Dividir los servicios solo cuando sea necesario, evitando microservicios demasiado pequeños que generan más problemas que soluciones.

  6. Estandarización:

    • Usar contratos API claros (ej., OpenAPI), convenciones de nomenclatura, y herramientas compartidas para reducir inconsistencias entre equipos.

Impacto de la Simplicidad

  1. Mayor Velocidad de Desarrollo:

    • La simplicidad permite a los equipos implementar cambios y nuevas funcionalidades más rápido.

  2. Estabilidad Operativa:

    • Diseños simples son más predecibles, más fáciles de monitorear y menos propensos a errores.

  3. Mejor Experiencia del Equipo:

    • Los equipos no se ven abrumados por una arquitectura compleja, lo que mejora la productividad y la moral.

  4. Éxito en el Largo Plazo:

    • Una arquitectura simplificada es más adaptable a futuros cambios y evita la acumulación de deuda técnica.


La simplicidad no implica sacrificar funcionalidad, sino diseñar con enfoque y claridad. Una implementación simplificada de microservicios:

  • Reduce la complejidad técnica.

  • Facilita la colaboración entre equipos.

  • Aumenta la velocidad y calidad de entrega.



Who this course is for:

  • Desarrolladores Senior y Diseñadores de arquitectura de software