Temario del curso
Introducción
- Arquitectura de sistemas y servicios, PaaS y diseño nativo de la nube
Descripción general de la arquitectura de sistemas monolíticos
- Ejecutar toda la funcionalidad de una aplicación monolítica en un solo proceso
- Escalabilidad mediante la replicación en múltiples servidores
- Protocolos utilizados en sistemas monolíticos: EAI, CORBA, etc.
Descripción general de los servicios web
- Arquitectura Orientada a Servicios (SOA) y Arquitectura de Microservicios
Arquitectura Orientada a Servicios (SOA)
- Beneficios y costos de SOA
- Éxitos y fracasos en la implementación de SOA
- Mensajería y ESB
- Infraestructura y herramientas que respaldan SOA
Cómo los microservicios implementan conceptos de servicios web
- Hacer una cosa y hacerla bien
- DevOps
- Despliegue y entrega continuos (Integración continua, proceso de construcción continua, etc.)
- Protocolos ligeros
Protocolos y estándares de microservicios
- HTTP, JMS, AMQP, Websockets, JSON, etc.
Frameworks de desarrollo para construir microservicios
- Frameworks basados en Java (Spring Cloud)
- Frameworks basados en Javascript (Seneca)
Descomponer una aplicación monolítica
- Desarrollar aplicaciones implementables de forma independiente
- Organizar aplicaciones de microservicios en torno a capacidades empresariales
- Estudio de caso: Migrar una aplicación monolítica a tres microservicios principales
Configurar un entorno de desarrollo con Spring Cloud
- Configurar Docker y Docker Compose
- Configurar variables de entorno
Descripción general de Spring Cloud y Spring Boot
- Subproyectos de Spring Cloud: Config Server & Bus, Eureka, Ribbon, Feign y Hystrix
- Spring Boot
Crear una aplicación con Spring Boot
Gestión de configuración centralizada y versionada con Spring Cloud Config
Actualizaciones de configuración dinámica con Spring Cloud Bus
Descubrimiento de servicios con Eureka
Balanceo de carga con Ribbon
Aplicar cortacircuitos con Hystrix
Clientes REST declarativos con Feign
Trabajar con API Gateway
Proteger una aplicación de microservicios
Rastrear microservicios para descubrir latencias
Implementar microservicios
- Contenedores (Docker, K8N, LXC, etc...)
- Gestión de configuración (Ansible, etc...)
- Descubrimiento de servicios
- Monitoreo y gestión de microservicios
- Infraestructura para microservicios
Escalabilidad en la nube y automática de microservicios
- Redundancia y conmutación por fallo de microservicios
- Escalabilidad de rendimiento para microservicios
- Escalabilidad automática
- Implementar microservicios en OpenStack, AWS y otras plataformas en la nube
Solución de problemas comunes en aplicaciones distribuidas
- Complejidad del ecosistema
- Rendimiento de la red
- Seguridad
- Implementación
- Pruebas
- Nano-servicios
Consideraciones finales para construir sistemas listos para producción
- Hacer el sistema fácil para principiantes
- Hacer el sistema completo para que pueda servir como base para aplicaciones empresariales
Resumen y conclusión
Requerimientos
- Comprensión de ingeniería de software y sistemas
- Experiencia en desarrollo con Java
- Experiencia con Spring Framework
Audiencia
- Desarrolladores de Java que deseen construir e implementar microservicios rápidamente
- Arquitectos de sistemas que deseen implementar una arquitectura de microservicios
Testimonios (2)
Practica ejercicios en EA.
Pawel - Krajowa Szkola Skarbowosci
Curso - UML in Enterprise Architect (workshops)
Traducción Automática
Las prácticas
Ivan - si
Curso - Spring Cloud for Microservices
Traducción Automática