SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Introducción a arquitecturas basadas en microservicios
Introducción a arquitecturas
basadas en microservicios
Introducción a arquitecturas basadas en microservicios
¿Qué son los microservicios?
“Microservices is a software architecture
style, in which complex applications are
composed of small, independent processes
communicating with each other using
language-agnostic APIs. These services are
small, highly decoupled and focus on doing a
small task.”
Introducción a arquitecturas basadas en microservicios
Arquitecturas monolíticas vs arquitecturas de microservicios
Arquitecturas monolíticas (pre-SOA) Arquitecturas SOA Microservicios
Introducción a arquitecturas basadas en microservicios
Beneficios de arquitecturas basadas en microservicios
Principio de responsabilidad única: Cada microservicio hará una cosa, pero la hará bien.
“VS”
MicroserviciosMonolítica
Introducción a arquitecturas basadas en microservicios
Desarrollo más eficiente al ser servicios más pequeños y especializados.
Beneficios de arquitecturas basadas en microservicios
“VS”
MicroserviciosMonolítica
Introducción a arquitecturas basadas en microservicios
Escalado eficiente, elástico y horizontal en función de la demanda.
Beneficios de arquitecturas basadas en microservicios
“VS”
MicroserviciosMonolítica
Introducción a arquitecturas basadas en microservicios
Beneficios de arquitecturas basadas en microservicios
Políglota, cada servicio puede estar desarrollado con una tecnología diferente.
Beneficios de arquitecturas basadas en microservicios
“VS”
MicroserviciosMonolítica
Introducción a arquitecturas basadas en microservicios
Despliegue independiente de cada microservicio.
Beneficios de arquitecturas basadas en microservicios
“VS”
MicroserviciosMonolítica
Introducción a arquitecturas basadas en microservicios
Casos de uso
Introducción a arquitecturas basadas en microservicios
Desafíos derivados de una arquitectura de microservicios
Introducción a arquitecturas basadas en microservicios
¿Qué necesitamos en una arquitectura basada en microservicios?
Introducción a arquitecturas basadas en microservicios
Arquitectura de microservicios
Edge Service
Registry
Load Balancer
Ribbon
Ribbon
Microservicio
Configuración
Logging
Circuit Breaker
Introducción a arquitecturas basadas en microservicios
Vista general en una arquitectura basada en microservicios: Netflix
Zuul
Eureka
Server
Ribbon
Ribbon
Ribbon
Microservicio
Configuración
Logging
Hystrix
(Spring, Cloud,
Config, etc.)
(Log4, Blitz4J,
ELK, etc.)
Introducción a arquitecturas basadas en microservicios
Registry: Autodescubrimiento con Eureka
@Configuration
@EnableAutoConfiguration
@EnableEurekaClient
@RestController
public class EurekaClientApplication {
@RequestMapping("/")
public String home() {
return "Hello World" ;
}
public static void main(String[] args) {
SpringApplication .run(EurekaClientApplication.class, args);
}
}
Cliente Eureka
@SpringBootApplication
@EnableEurekaServer
@EnableDiscoveryClient
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication .run(EurekaServerApplication.
class, args);
}
}
Servidor Eureka
Introducción a arquitecturas basadas en microservicios
Load Balancer: Ribbon
Instancia
2
Instancia
n
Instancia
1
Eureka
Server
Ribbon
...
Introducción a arquitecturas basadas en microservicios
Edge Service: Zuul
●
●
Introducción a arquitecturas basadas en microservicios
Circuit Breaker: Hystrix
Introducción a arquitecturas basadas en microservicios
Circuit Breaker: Hystrix
Introducción a arquitecturas basadas en microservicios
Circuit Breaker: Hystrix
Ejemplo de monitorización en tiempo real de un
microservicio utilizando Hystrix
Introducción a arquitecturas basadas en microservicios
Monitorización: Turbine y Graffite
Ejemplo de dashboard en tiempo real de varios microservicios utilizando Turbine
Introducción a arquitecturas basadas en microservicios
Configuración: Spring Cloud Config y/o Archaius
Introducción a arquitecturas basadas en microservicios
Logging: Log4J 2.0 + RSyslog
Introducción a arquitecturas basadas en microservicios
¡A programar!
"Lo que tenemos que aprender lo
aprendemos haciéndolo"
Aristóteles
Introducción a arquitecturas basadas en microservicios
Muchas gracias :)

Más contenido relacionado

Destacado

Analysis of Websites as Graphs for SEO
Analysis of Websites as Graphs for SEOAnalysis of Websites as Graphs for SEO
Analysis of Websites as Graphs for SEOParadigma Digital
 
Use Groovy&Grails in your spring boot projects
Use Groovy&Grails in your spring boot projectsUse Groovy&Grails in your spring boot projects
Use Groovy&Grails in your spring boot projectsParadigma Digital
 
Manuel Hurtado. Couchbase paradigma4oct
Manuel Hurtado. Couchbase paradigma4octManuel Hurtado. Couchbase paradigma4oct
Manuel Hurtado. Couchbase paradigma4octParadigma Digital
 
Programación Reactiva con RxJava
Programación Reactiva con RxJavaProgramación Reactiva con RxJava
Programación Reactiva con RxJavaParadigma Digital
 
Google Analytics for Developers
Google Analytics for DevelopersGoogle Analytics for Developers
Google Analytics for DevelopersParadigma Digital
 
Aplicaciones Serverless
Aplicaciones ServerlessAplicaciones Serverless
Aplicaciones ServerlessatSistemas
 
¿Cómo vencer a los dragones digitales?
¿Cómo vencer a los dragones digitales?¿Cómo vencer a los dragones digitales?
¿Cómo vencer a los dragones digitales?Paradigma Digital
 
Divide y Vencerás: introducción a los Microservicios
Divide y Vencerás: introducción a los MicroserviciosDivide y Vencerás: introducción a los Microservicios
Divide y Vencerás: introducción a los MicroserviciosThoughtworks
 
Zookeeper: Wait-free Coordination for Internet-scale Systems
Zookeeper: Wait-free Coordination for Internet-scale SystemsZookeeper: Wait-free Coordination for Internet-scale Systems
Zookeeper: Wait-free Coordination for Internet-scale SystemsLeandro Lera Romero
 
Kaazing Gateway + Apache Active MQ + Javascript + Stomp
Kaazing Gateway + Apache Active MQ + Javascript + StompKaazing Gateway + Apache Active MQ + Javascript + Stomp
Kaazing Gateway + Apache Active MQ + Javascript + StompIrontec
 
Transformación digital y el nuevo paradigma de TI
Transformación digital y el nuevo paradigma de TI Transformación digital y el nuevo paradigma de TI
Transformación digital y el nuevo paradigma de TI Software Guru
 
2017-01-26 Internet Arriskuak: Andramendi Ikastola, Gurasoen saioa
2017-01-26 Internet Arriskuak: Andramendi Ikastola, Gurasoen saioa2017-01-26 Internet Arriskuak: Andramendi Ikastola, Gurasoen saioa
2017-01-26 Internet Arriskuak: Andramendi Ikastola, Gurasoen saioaUrko Zurutuza
 

Destacado (20)

Analysis of Websites as Graphs for SEO
Analysis of Websites as Graphs for SEOAnalysis of Websites as Graphs for SEO
Analysis of Websites as Graphs for SEO
 
Use Groovy&Grails in your spring boot projects
Use Groovy&Grails in your spring boot projectsUse Groovy&Grails in your spring boot projects
Use Groovy&Grails in your spring boot projects
 
ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
Manuel Hurtado. Couchbase paradigma4oct
Manuel Hurtado. Couchbase paradigma4octManuel Hurtado. Couchbase paradigma4oct
Manuel Hurtado. Couchbase paradigma4oct
 
Cómo usar google analytics
Cómo usar google analyticsCómo usar google analytics
Cómo usar google analytics
 
Kafka y python
Kafka y pythonKafka y python
Kafka y python
 
Programación Reactiva con RxJava
Programación Reactiva con RxJavaProgramación Reactiva con RxJava
Programación Reactiva con RxJava
 
Overview atlas (1)
Overview atlas (1)Overview atlas (1)
Overview atlas (1)
 
Google Analytics for Developers
Google Analytics for DevelopersGoogle Analytics for Developers
Google Analytics for Developers
 
Aplicaciones Serverless
Aplicaciones ServerlessAplicaciones Serverless
Aplicaciones Serverless
 
¿Cómo vencer a los dragones digitales?
¿Cómo vencer a los dragones digitales?¿Cómo vencer a los dragones digitales?
¿Cómo vencer a los dragones digitales?
 
Python y Flink
Python y FlinkPython y Flink
Python y Flink
 
HTML5 Web Components
HTML5 Web ComponentsHTML5 Web Components
HTML5 Web Components
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a Django
 
Divide y Vencerás: introducción a los Microservicios
Divide y Vencerás: introducción a los MicroserviciosDivide y Vencerás: introducción a los Microservicios
Divide y Vencerás: introducción a los Microservicios
 
Zookeeper: Wait-free Coordination for Internet-scale Systems
Zookeeper: Wait-free Coordination for Internet-scale SystemsZookeeper: Wait-free Coordination for Internet-scale Systems
Zookeeper: Wait-free Coordination for Internet-scale Systems
 
Kaazing Gateway + Apache Active MQ + Javascript + Stomp
Kaazing Gateway + Apache Active MQ + Javascript + StompKaazing Gateway + Apache Active MQ + Javascript + Stomp
Kaazing Gateway + Apache Active MQ + Javascript + Stomp
 
Transformación digital y el nuevo paradigma de TI
Transformación digital y el nuevo paradigma de TI Transformación digital y el nuevo paradigma de TI
Transformación digital y el nuevo paradigma de TI
 
2017-01-26 Internet Arriskuak: Andramendi Ikastola, Gurasoen saioa
2017-01-26 Internet Arriskuak: Andramendi Ikastola, Gurasoen saioa2017-01-26 Internet Arriskuak: Andramendi Ikastola, Gurasoen saioa
2017-01-26 Internet Arriskuak: Andramendi Ikastola, Gurasoen saioa
 
Monitorización
MonitorizaciónMonitorización
Monitorización
 

Más de Paradigma Digital

Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.Paradigma Digital
 
Java 8 time to join the future
Java 8  time to join the futureJava 8  time to join the future
Java 8 time to join the futureParadigma Digital
 
Programación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFluxProgramación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFluxParadigma Digital
 
Orquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace NetflixOrquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace NetflixParadigma Digital
 
Meetup microservicios: API Management
Meetup microservicios: API ManagementMeetup microservicios: API Management
Meetup microservicios: API ManagementParadigma Digital
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.Paradigma Digital
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxParadigma Digital
 
Implementando microservicios
Implementando microserviciosImplementando microservicios
Implementando microserviciosParadigma Digital
 
Equipo de Marketing de Paradigma Digital
Equipo de Marketing de Paradigma DigitalEquipo de Marketing de Paradigma Digital
Equipo de Marketing de Paradigma DigitalParadigma Digital
 

Más de Paradigma Digital (14)

Ddd + ah + microservicios
Ddd + ah + microserviciosDdd + ah + microservicios
Ddd + ah + microservicios
 
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.
 
Have you met Istio?
Have you met Istio?Have you met Istio?
Have you met Istio?
 
Linkerd a fondo
Linkerd a fondoLinkerd a fondo
Linkerd a fondo
 
Horneando apis
Horneando apisHorneando apis
Horneando apis
 
Java 8 time to join the future
Java 8  time to join the futureJava 8  time to join the future
Java 8 time to join the future
 
Programación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFluxProgramación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFlux
 
Orquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace NetflixOrquestando microservicios como lo hace Netflix
Orquestando microservicios como lo hace Netflix
 
Meetup microservicios: API Management
Meetup microservicios: API ManagementMeetup microservicios: API Management
Meetup microservicios: API Management
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.
 
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxDocker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptx
 
Implementando microservicios
Implementando microserviciosImplementando microservicios
Implementando microservicios
 
Equipo de Marketing de Paradigma Digital
Equipo de Marketing de Paradigma DigitalEquipo de Marketing de Paradigma Digital
Equipo de Marketing de Paradigma Digital
 
Cultura Digital Paradigma
Cultura Digital ParadigmaCultura Digital Paradigma
Cultura Digital Paradigma
 

Último

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Último (11)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Introducción a arquitecturas basadas en microservicios.

  • 1. Introducción a arquitecturas basadas en microservicios Introducción a arquitecturas basadas en microservicios
  • 2. Introducción a arquitecturas basadas en microservicios ¿Qué son los microservicios? “Microservices is a software architecture style, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task.”
  • 3. Introducción a arquitecturas basadas en microservicios Arquitecturas monolíticas vs arquitecturas de microservicios Arquitecturas monolíticas (pre-SOA) Arquitecturas SOA Microservicios
  • 4. Introducción a arquitecturas basadas en microservicios Beneficios de arquitecturas basadas en microservicios Principio de responsabilidad única: Cada microservicio hará una cosa, pero la hará bien. “VS” MicroserviciosMonolítica
  • 5. Introducción a arquitecturas basadas en microservicios Desarrollo más eficiente al ser servicios más pequeños y especializados. Beneficios de arquitecturas basadas en microservicios “VS” MicroserviciosMonolítica
  • 6. Introducción a arquitecturas basadas en microservicios Escalado eficiente, elástico y horizontal en función de la demanda. Beneficios de arquitecturas basadas en microservicios “VS” MicroserviciosMonolítica
  • 7. Introducción a arquitecturas basadas en microservicios Beneficios de arquitecturas basadas en microservicios Políglota, cada servicio puede estar desarrollado con una tecnología diferente. Beneficios de arquitecturas basadas en microservicios “VS” MicroserviciosMonolítica
  • 8. Introducción a arquitecturas basadas en microservicios Despliegue independiente de cada microservicio. Beneficios de arquitecturas basadas en microservicios “VS” MicroserviciosMonolítica
  • 9. Introducción a arquitecturas basadas en microservicios Casos de uso
  • 10. Introducción a arquitecturas basadas en microservicios Desafíos derivados de una arquitectura de microservicios
  • 11. Introducción a arquitecturas basadas en microservicios ¿Qué necesitamos en una arquitectura basada en microservicios?
  • 12. Introducción a arquitecturas basadas en microservicios Arquitectura de microservicios Edge Service Registry Load Balancer Ribbon Ribbon Microservicio Configuración Logging Circuit Breaker
  • 13. Introducción a arquitecturas basadas en microservicios Vista general en una arquitectura basada en microservicios: Netflix Zuul Eureka Server Ribbon Ribbon Ribbon Microservicio Configuración Logging Hystrix (Spring, Cloud, Config, etc.) (Log4, Blitz4J, ELK, etc.)
  • 14. Introducción a arquitecturas basadas en microservicios Registry: Autodescubrimiento con Eureka @Configuration @EnableAutoConfiguration @EnableEurekaClient @RestController public class EurekaClientApplication { @RequestMapping("/") public String home() { return "Hello World" ; } public static void main(String[] args) { SpringApplication .run(EurekaClientApplication.class, args); } } Cliente Eureka @SpringBootApplication @EnableEurekaServer @EnableDiscoveryClient public class EurekaServerApplication { public static void main(String[] args) { SpringApplication .run(EurekaServerApplication. class, args); } } Servidor Eureka
  • 15. Introducción a arquitecturas basadas en microservicios Load Balancer: Ribbon Instancia 2 Instancia n Instancia 1 Eureka Server Ribbon ...
  • 16. Introducción a arquitecturas basadas en microservicios Edge Service: Zuul ● ●
  • 17. Introducción a arquitecturas basadas en microservicios Circuit Breaker: Hystrix
  • 18. Introducción a arquitecturas basadas en microservicios Circuit Breaker: Hystrix
  • 19. Introducción a arquitecturas basadas en microservicios Circuit Breaker: Hystrix Ejemplo de monitorización en tiempo real de un microservicio utilizando Hystrix
  • 20. Introducción a arquitecturas basadas en microservicios Monitorización: Turbine y Graffite Ejemplo de dashboard en tiempo real de varios microservicios utilizando Turbine
  • 21. Introducción a arquitecturas basadas en microservicios Configuración: Spring Cloud Config y/o Archaius
  • 22. Introducción a arquitecturas basadas en microservicios Logging: Log4J 2.0 + RSyslog
  • 23. Introducción a arquitecturas basadas en microservicios ¡A programar! "Lo que tenemos que aprender lo aprendemos haciéndolo" Aristóteles
  • 24. Introducción a arquitecturas basadas en microservicios Muchas gracias :)