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

PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...dramosbrise1403
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaRicardoEstrada90
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).jcaballerosamayoa
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptxjarniel1
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .llocllajoaquinci00
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024NicolleAndrade7
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfprofmartinsuarez
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnajrujel91
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .itzyrivera61103
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docxssusere34b451
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC6dwwcgtpfx
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónUniversidad de Sonora
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónAntonia Yamilet Perez Palomares
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxdoloresolmosantiago
 

Último (20)

PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
PRÁCTICA Nº 4: “Análisis de secuencias del ADN con el software BioEdit y uso ...
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).BUSCADORES DE INTERNET (Universidad de Sonora).
BUSCADORES DE INTERNET (Universidad de Sonora).
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptxNIVEL DE  MADUREZ TECNOLÓGICA (TRL).pptx
NIVEL DE MADUREZ TECNOLÓGICA (TRL).pptx
 
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
CIBERSEGURIDAD Y SEGURIDAD INFORMATICA .
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024Ejercicio 1 periodo 2 de Tecnología 2024
Ejercicio 1 periodo 2 de Tecnología 2024
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccnaTELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
TELECOMUNICACIONES- CAPITULO2: Modelo Osi ccna
 
Uso de las TIC en la vida cotidiana .
Uso de las TIC en la vida cotidiana       .Uso de las TIC en la vida cotidiana       .
Uso de las TIC en la vida cotidiana .
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiCVelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
VelderrainPerez_Paola_M1C1G63-097.pptx. LAS TiC
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la ComunicaciónNavegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
Navegadores de internet - Nuevas Tecnologías de la Información y la Comunicación
 
De Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptxDe Olmos Santiago_Dolores _ M1S3AI6.pptx
De Olmos Santiago_Dolores _ M1S3AI6.pptx
 

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 :)