SlideShare a Scribd company logo
1 of 3
Download to read offline
6 www.coiicv.org
Bit@cora Noviembre 2016
El término microservicios se ha populariza-
do en los últimos años principalmente a tra-
vés de las principales empresas de Internet
que han desarrollado sus productos a partir
de un conjunto de servicios más pequeños,
para de esta forma ganar en escalabilidad y
mantenibilidad en sus aplicaciones.
Los microservicios son servicios pequeños
y autónomos que trabajan conjuntamente
y se comunican mediante mecanismos sen-
cillos, normalmente como si fueran un re-
curso API de HTTP. Estos servicios se basan
en la filosofía Unix, cuyos objetivos son es-
cribir programas que hagan “una sóla cosa
pero bien hecha” y escribir “programas que
trabajen conjuntamente”.
Los microservicios son construidos alrede-
dor de funcionalidades de negocio , pueden
ser desplegados de manera automática y
cada uno puede serlo de manera indepen-
diente al resto de servicios de la aplicación.
Por ejemplo, en arquitecturas J2EE, los mi-
croservicios son equivalentes a tener una
arquitectura orientada a servicios(SOA),
pero cambiando los componentes J2EE, pe-
ticiones SOAP y WSDL por llamadas HTTP a
una API REST que exponen pequeñas fun-
cionalidades y se comunican de forma dis-
tribuida entre servicios.
Características de una Arquitectura
de Microservicios
La arquitectura basada en microservicios
pretende solucionar problemas específicos
de las aplicaciones monolíticas, que son las
que habitualmente encontramos en el en-
torno empresarial. La idea que es dividir la
aplicación en módulos independientes, ex-
puestos vía API REST, y que ofrecen una
funcionalidad siguiendo la regla de mínimo
acoplamiento y máxima cohesión.
Esta división en microservicios permite la
evolución de cada servicio por separado,
siempre que mantenga sus interfaces de
acceso, y más importante, permite la eje-
cución y escalado horizontal de dichos mó-
dulos, permitiendo a la aplicación crecer y
decrecer en función de la demanda o nece-
sidades de negocio.
Además cada uno es independiente y su có-
digo debe poder ser desplegado sin afectar
a los demás. Incluso cada uno de ellos pue-
de escribirse en un lenguaje de programa-
ción diferente, ya que solo exponen la API
o interfaz común al resto de microservicios.
Un elemento importante de una arquitectu-
ra basada en microservicios es el Gateway
Microservicios, un nuevo enfoque para
arquitecturas orientas a servicios.
José Manuel Ortega Candel
Centers Technician de Everis.
@jmortegac
www.linkedin.com/in/jmortega1
7www.coiicv.org
Bit@cora Noviembre 2016
•	 Facilita la gestión de equipos multifun-
cionales y autónomos. Cada microser-
vicio por sí mismo es multifuncional, es
decir, tiene una parte frontend, backend
y base de datos. De esta forma pode-
mos formar equipos multifuncionales
que se encarguen de varios microservi-
cios, escalando el proceso de desarrollo
de forma más sencilla.
•	 Despliegue progresivo. Nos permite
aplicar integración continua alcanzando
altos valores de disponibilidad. Esto im-
plica que ya no tienes un único conte-
nedor, sino que hay que estar pendiente
de n contenedores de aplicaciones.
•	 Altamente desacoplados: Despliegue
progresivo, sin afectar a todo el sistema.
•	 En vez de tener un único ejecutable,
cada componente tiene la capacidad de
ejecutarse por sí mismo, y los servicios
se comunican entre sí a través de lla-
madas.
Conclusiones
Cada día más proyectos se centran en los
microservicios como enfoque para su arqui-
tectura del software, sobretodo en el ám-
bito de las aplicaciones empresariales. Una
arquitectura de microservicios puede pare-
cer muy beneficiosa, pero como todo, tiene
sus pros y contras, como cualquier arqui-
tectura software.
Lo que hay que tener en cuenta es que los
microservicios introducen complejidad, que
hay que gestionar. Hay que hacer un mayor
esfuerzo en despliegues automáticos, mo-
nitorización y logging, gestionar fallos, con-
sistencia de datos, estrategia de pruebas y
más factores que introducen los sistemas
distribuidos.
o pasarela, que permite lanzar peticiones
en paralelo a cada microservicio cada vez
que se quieran obtener los datos necesarios
para la parte frontend de la aplicación.
Entre las ventajas que tiene usar una arqui-
tectura basada en microservicios se pueden
destacar:
•	 La libertad de lenguaje. Los microservi-
cios pueden estar escritos en diferentes
lenguajes de programación, utilizar di-
ferentes tecnologías de almacenamien-
to y estar distribuidos en diferentes ser-
vidores.
•	 Escalabilidad. Con servicios más peque-
ños, solo escalamos aquellos servicios
que necesitan ser escalados, sin tener
que alterar las otras partes del sistema.
•	 Facilidad de despliegue. Puedes realizar
un cambio en un servicio y desplegarlo
independientemente del resto del siste-
ma. Cada microservicio se puede des-
plegar de forma independiente del resto
y un cambio en un módulo no afectará
a los demás.
•	 Combinar los servicios como nos intere-
sen. Incluso, reutilizarlos para distintos
uso dentro de la empresa.
•	 Escalar a nivel de microservicios. Cada
uno de ellos expone una funcionalidad,
así podemos distribuirlo según nuestras
necesidad pensando en la demanda y el
balanceo de carga de cada aplicación.
Es más fácil de escalar a nivel de sof-
tware, ya que en lugar de replicar toda
la aplicación y gestionarlo con balan-
ceadores, replicaremos los microservi-
cios que tengan más carga.
•	 Tolerancia a fallos. El fallo en un micro-
servicio no afecta a los demás ya que
son totalmente independientes.
8 www.coiicv.org
Bit@cora Noviembre 2016
El enfoque que más se encuentra hoy en día
es de empresas que han visto que gestionar
su software como una aplicación monolítica se
ha vuelto tan complejo, que han empezado
a separar la aplicación en microservicios o a
gestionar nuevos desarrollos de esta forma.
En este caso, sí se aconseja evolucionar
la arquitectura hacia microservicios, pero
poco a poco, manteniendo una parte mono-
lítica, combinada con ciertos microservicios
separados.

More Related Content

What's hot

MuleSoft Meetups Panama City 04 - MuleSoft API Manager
MuleSoft Meetups Panama City 04 - MuleSoft API ManagerMuleSoft Meetups Panama City 04 - MuleSoft API Manager
MuleSoft Meetups Panama City 04 - MuleSoft API ManagerLarry Magallanes
 
Mulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design CenterMulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design CenterLarry Magallanes
 
Conceptos Fundamentales De La Web 2
Conceptos Fundamentales De La Web 2Conceptos Fundamentales De La Web 2
Conceptos Fundamentales De La Web 2Hector Faabio
 
Tecnologías en la web 2.0
Tecnologías en la web 2.0Tecnologías en la web 2.0
Tecnologías en la web 2.0Edwin Ortiz
 
MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 Larry Magallanes
 
La Web 2
La Web 2La Web 2
La Web 2panque
 
La Web 2 Presentacion Actual
La Web 2 Presentacion ActualLa Web 2 Presentacion Actual
La Web 2 Presentacion Actualpanque
 
Comparativo entre plataformas de ESB
Comparativo entre plataformas de ESBComparativo entre plataformas de ESB
Comparativo entre plataformas de ESBIntellego Chile
 
MuleSoft y las arquitecturas orientadas a microservicios
MuleSoft y las arquitecturas orientadas a microserviciosMuleSoft y las arquitecturas orientadas a microservicios
MuleSoft y las arquitecturas orientadas a microserviciosCarlos Reinoza
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por queFátima Casaú Pérez
 

What's hot (19)

Integration Cloud Service vs SOA
Integration Cloud Service vs SOAIntegration Cloud Service vs SOA
Integration Cloud Service vs SOA
 
MuleSoft Meetups Panama City 04 - MuleSoft API Manager
MuleSoft Meetups Panama City 04 - MuleSoft API ManagerMuleSoft Meetups Panama City 04 - MuleSoft API Manager
MuleSoft Meetups Panama City 04 - MuleSoft API Manager
 
Mulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design CenterMulesoft Anypoint platform: Design Center
Mulesoft Anypoint platform: Design Center
 
Conceptos Fundamentales De La Web 2
Conceptos Fundamentales De La Web 2Conceptos Fundamentales De La Web 2
Conceptos Fundamentales De La Web 2
 
¿Que son los microservicios?
¿Que son los microservicios?¿Que son los microservicios?
¿Que son los microservicios?
 
Tecnologías en la web 2.0
Tecnologías en la web 2.0Tecnologías en la web 2.0
Tecnologías en la web 2.0
 
Semana 6 Navegación y parámetros Sprint Boot
Semana 6   Navegación y parámetros Sprint BootSemana 6   Navegación y parámetros Sprint Boot
Semana 6 Navegación y parámetros Sprint Boot
 
MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019 MuleSoft Anypoint Platform - Releases 2019
MuleSoft Anypoint Platform - Releases 2019
 
La Web 2
La Web 2La Web 2
La Web 2
 
La Web 2 Presentacion Actual
La Web 2 Presentacion ActualLa Web 2 Presentacion Actual
La Web 2 Presentacion Actual
 
Enterprise Application integration
Enterprise Application integrationEnterprise Application integration
Enterprise Application integration
 
Wcf.ppp
Wcf.pppWcf.ppp
Wcf.ppp
 
Comparativo entre plataformas de ESB
Comparativo entre plataformas de ESBComparativo entre plataformas de ESB
Comparativo entre plataformas de ESB
 
MuleSoft y las arquitecturas orientadas a microservicios
MuleSoft y las arquitecturas orientadas a microserviciosMuleSoft y las arquitecturas orientadas a microservicios
MuleSoft y las arquitecturas orientadas a microservicios
 
Herramientas de la web
Herramientas de la webHerramientas de la web
Herramientas de la web
 
t3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por quet3chfest 2016 - Implementando microservicios, como y por que
t3chfest 2016 - Implementando microservicios, como y por que
 
Soa
SoaSoa
Soa
 
EAI Segunda parte
EAI Segunda parteEAI Segunda parte
EAI Segunda parte
 
Inf 2
Inf 2Inf 2
Inf 2
 

Viewers also liked

Programación funcional, una nueva forma de resolver problemas.
Programación funcional, una nueva forma de resolver problemas.Programación funcional, una nueva forma de resolver problemas.
Programación funcional, una nueva forma de resolver problemas.Jose Manuel Ortega Candel
 
Bellos lugares del mundo
Bellos lugares del mundoBellos lugares del mundo
Bellos lugares del mundoJoan Ruiz
 
Pwr91syllabus
Pwr91syllabusPwr91syllabus
Pwr91syllabusPWR91
 
Plataformas de aprendizajes online. Una visión global de los MOOC.
Plataformas de aprendizajes online. Una visión global de los MOOC.Plataformas de aprendizajes online. Una visión global de los MOOC.
Plataformas de aprendizajes online. Una visión global de los MOOC.Jose Manuel Ortega Candel
 
Journal new horizons volume 81-82
Journal new horizons volume 81-82Journal new horizons volume 81-82
Journal new horizons volume 81-82Muhammad Saad Ali
 
Caos nas relações internacionais contemporâneas
Caos nas relações internacionais contemporâneasCaos nas relações internacionais contemporâneas
Caos nas relações internacionais contemporâneasFernando Alcoforado
 
Un passeig pel mon
Un passeig pel mon Un passeig pel mon
Un passeig pel mon jcarbo24
 
Herramientas para computación distribuida. De Hadoop a Spark
Herramientas para computación distribuida. De Hadoop a SparkHerramientas para computación distribuida. De Hadoop a Spark
Herramientas para computación distribuida. De Hadoop a SparkJose Manuel Ortega Candel
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareJose Manuel Ortega Candel
 
HPC Top 5 Stories: March 22, 2017
HPC Top 5 Stories: March 22, 2017HPC Top 5 Stories: March 22, 2017
HPC Top 5 Stories: March 22, 2017NVIDIA
 

Viewers also liked (20)

Programación funcional, una nueva forma de resolver problemas.
Programación funcional, una nueva forma de resolver problemas.Programación funcional, una nueva forma de resolver problemas.
Programación funcional, una nueva forma de resolver problemas.
 
Remedio casero
Remedio caseroRemedio casero
Remedio casero
 
Bellos lugares del mundo
Bellos lugares del mundoBellos lugares del mundo
Bellos lugares del mundo
 
Salud y medio ambiente
Salud y medio ambiente Salud y medio ambiente
Salud y medio ambiente
 
Pwr91syllabus
Pwr91syllabusPwr91syllabus
Pwr91syllabus
 
Resumen analitico de access
Resumen analitico de accessResumen analitico de access
Resumen analitico de access
 
Como se educa sem violencia
Como se educa sem violenciaComo se educa sem violencia
Como se educa sem violencia
 
Plataformas de aprendizajes online. Una visión global de los MOOC.
Plataformas de aprendizajes online. Una visión global de los MOOC.Plataformas de aprendizajes online. Una visión global de los MOOC.
Plataformas de aprendizajes online. Una visión global de los MOOC.
 
Journal new horizons volume 81-82
Journal new horizons volume 81-82Journal new horizons volume 81-82
Journal new horizons volume 81-82
 
Caos nas relações internacionais contemporâneas
Caos nas relações internacionais contemporâneasCaos nas relações internacionais contemporâneas
Caos nas relações internacionais contemporâneas
 
Red MAN
Red MANRed MAN
Red MAN
 
Atos 2 - Gabriela Rocha
Atos 2 - Gabriela RochaAtos 2 - Gabriela Rocha
Atos 2 - Gabriela Rocha
 
Un passeig pel mon
Un passeig pel mon Un passeig pel mon
Un passeig pel mon
 
Herramientas para computación distribuida. De Hadoop a Spark
Herramientas para computación distribuida. De Hadoop a SparkHerramientas para computación distribuida. De Hadoop a Spark
Herramientas para computación distribuida. De Hadoop a Spark
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
 
Privacidad en Internet
Privacidad en InternetPrivacidad en Internet
Privacidad en Internet
 
Product Vision Board
Product Vision BoardProduct Vision Board
Product Vision Board
 
HPC Top 5 Stories: March 22, 2017
HPC Top 5 Stories: March 22, 2017HPC Top 5 Stories: March 22, 2017
HPC Top 5 Stories: March 22, 2017
 
Análisis de un artefacto tecnológico
Análisis de un artefacto tecnológicoAnálisis de un artefacto tecnológico
Análisis de un artefacto tecnológico
 
Herramientas gestion proyectos
Herramientas gestion proyectosHerramientas gestion proyectos
Herramientas gestion proyectos
 

Similar to Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.

TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0
TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0
TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0Victor Cueva
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareAntonio Gallego
 
atSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedatSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedJuanjo Sánchez
 
EPSM_API_Led_Connectivity
EPSM_API_Led_ConnectivityEPSM_API_Led_Connectivity
EPSM_API_Led_ConnectivityHector Preciado
 
APPSWEBI4.0.pptx
APPSWEBI4.0.pptxAPPSWEBI4.0.pptx
APPSWEBI4.0.pptx22040086
 
Computacion en la nube
Computacion en la nubeComputacion en la nube
Computacion en la nubecristina312
 
Taller 4 grado 11 7....
Taller 4 grado 11 7....Taller 4 grado 11 7....
Taller 4 grado 11 7....vane980430
 
Taller 4 grado 11 7....
Taller 4 grado 11 7....Taller 4 grado 11 7....
Taller 4 grado 11 7....vane980430
 
Taller 4 grado 11 7....
Taller 4 grado 11 7....Taller 4 grado 11 7....
Taller 4 grado 11 7....vane980430
 
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...atSistemas
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...MongoDB
 
Arquitectura de Integracion de los Servicios
Arquitectura de Integracion de los ServiciosArquitectura de Integracion de los Servicios
Arquitectura de Integracion de los Serviciosnohemizamudio
 

Similar to Microservicios, un nuevo enfoque para arquitecturas orientas a servicios. (20)

Microservicios.pptx
Microservicios.pptxMicroservicios.pptx
Microservicios.pptx
 
Microservicios - RabbitMQ
Microservicios - RabbitMQMicroservicios - RabbitMQ
Microservicios - RabbitMQ
 
TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0
TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0
TESIS APLICACION DE MASHUPS EMPRESARIALES SOBRE ENTERPRISE 2.0
 
Cloud Native Development in the JVM
Cloud Native Development in the JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
 
CapíTulo 7
CapíTulo 7CapíTulo 7
CapíTulo 7
 
Paradigmas De La Programacion
Paradigmas De La ProgramacionParadigmas De La Programacion
Paradigmas De La Programacion
 
La web 2.0
La web 2.0La web 2.0
La web 2.0
 
Taller 4 11 1 (1)
Taller 4 11 1 (1)Taller 4 11 1 (1)
Taller 4 11 1 (1)
 
atSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedatSistemas - Presentacion Hybreed
atSistemas - Presentacion Hybreed
 
EPSM_API_Led_Connectivity
EPSM_API_Led_ConnectivityEPSM_API_Led_Connectivity
EPSM_API_Led_Connectivity
 
APPSWEBI4.0.pptx
APPSWEBI4.0.pptxAPPSWEBI4.0.pptx
APPSWEBI4.0.pptx
 
Computacion en la nube
Computacion en la nubeComputacion en la nube
Computacion en la nube
 
Taller 4 grado 11 7....
Taller 4 grado 11 7....Taller 4 grado 11 7....
Taller 4 grado 11 7....
 
Taller 4 grado 11 7....
Taller 4 grado 11 7....Taller 4 grado 11 7....
Taller 4 grado 11 7....
 
Taller 4 grado 11 7....
Taller 4 grado 11 7....Taller 4 grado 11 7....
Taller 4 grado 11 7....
 
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
Hybreed. Plataforma de desarrollo de aplicaciones móviles híbridas. Descripci...
 
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
 
Arquitectura de Integracion de los Servicios
Arquitectura de Integracion de los ServiciosArquitectura de Integracion de los Servicios
Arquitectura de Integracion de los Servicios
 
Trabajo de microservicios
Trabajo de microserviciosTrabajo de microservicios
Trabajo de microservicios
 

More from Jose Manuel Ortega Candel

Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfJose Manuel Ortega Candel
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfPyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfJose Manuel Ortega Candel
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Jose Manuel Ortega Candel
 
Evolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfEvolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfJose Manuel Ortega Candel
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfJose Manuel Ortega Candel
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudJose Manuel Ortega Candel
 
Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Jose Manuel Ortega Candel
 
Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Jose Manuel Ortega Candel
 
Sharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sSharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sJose Manuel Ortega Candel
 
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Jose Manuel Ortega Candel
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanShodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanJose Manuel Ortega Candel
 
ELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamJose Manuel Ortega Candel
 
Monitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsMonitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsJose Manuel Ortega Candel
 
Python memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorPython memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorJose Manuel Ortega Candel
 

More from Jose Manuel Ortega Candel (20)

Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
 
PyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdfPyGoat Analizando la seguridad en aplicaciones Django.pdf
PyGoat Analizando la seguridad en aplicaciones Django.pdf
 
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
Ciberseguridad en Blockchain y Smart Contracts: Explorando los Desafíos y Sol...
 
Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops Evolution of security strategies in K8s environments- All day devops
Evolution of security strategies in K8s environments- All day devops
 
Evolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdfEvolution of security strategies in K8s environments.pdf
Evolution of security strategies in K8s environments.pdf
 
Implementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdfImplementing Observability for Kubernetes.pdf
Implementing Observability for Kubernetes.pdf
 
Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
 
Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud Construyendo arquitecturas zero trust sobre entornos cloud
Construyendo arquitecturas zero trust sobre entornos cloud
 
Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python Tips and tricks for data science projects with Python
Tips and tricks for data science projects with Python
 
Sharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8sSharing secret keys in Docker containers and K8s
Sharing secret keys in Docker containers and K8s
 
Implementing cert-manager in K8s
Implementing cert-manager in K8sImplementing cert-manager in K8s
Implementing cert-manager in K8s
 
Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)Python para equipos de ciberseguridad(pycones)
Python para equipos de ciberseguridad(pycones)
 
Python para equipos de ciberseguridad
Python para equipos de ciberseguridad Python para equipos de ciberseguridad
Python para equipos de ciberseguridad
 
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodanShodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
Shodan Tips and tricks. Automatiza y maximiza las búsquedas shodan
 
ELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue TeamELK para analistas de seguridad y equipos Blue Team
ELK para analistas de seguridad y equipos Blue Team
 
Monitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source toolsMonitoring and managing Containers using Open Source tools
Monitoring and managing Containers using Open Source tools
 
Python Memory Management 101(Europython)
Python Memory Management 101(Europython)Python Memory Management 101(Europython)
Python Memory Management 101(Europython)
 
SecDevOps containers
SecDevOps containersSecDevOps containers
SecDevOps containers
 
Python memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collectorPython memory managment. Deeping in Garbage collector
Python memory managment. Deeping in Garbage collector
 

Recently uploaded

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Recently uploaded (10)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.

  • 1. 6 www.coiicv.org Bit@cora Noviembre 2016 El término microservicios se ha populariza- do en los últimos años principalmente a tra- vés de las principales empresas de Internet que han desarrollado sus productos a partir de un conjunto de servicios más pequeños, para de esta forma ganar en escalabilidad y mantenibilidad en sus aplicaciones. Los microservicios son servicios pequeños y autónomos que trabajan conjuntamente y se comunican mediante mecanismos sen- cillos, normalmente como si fueran un re- curso API de HTTP. Estos servicios se basan en la filosofía Unix, cuyos objetivos son es- cribir programas que hagan “una sóla cosa pero bien hecha” y escribir “programas que trabajen conjuntamente”. Los microservicios son construidos alrede- dor de funcionalidades de negocio , pueden ser desplegados de manera automática y cada uno puede serlo de manera indepen- diente al resto de servicios de la aplicación. Por ejemplo, en arquitecturas J2EE, los mi- croservicios son equivalentes a tener una arquitectura orientada a servicios(SOA), pero cambiando los componentes J2EE, pe- ticiones SOAP y WSDL por llamadas HTTP a una API REST que exponen pequeñas fun- cionalidades y se comunican de forma dis- tribuida entre servicios. Características de una Arquitectura de Microservicios La arquitectura basada en microservicios pretende solucionar problemas específicos de las aplicaciones monolíticas, que son las que habitualmente encontramos en el en- torno empresarial. La idea que es dividir la aplicación en módulos independientes, ex- puestos vía API REST, y que ofrecen una funcionalidad siguiendo la regla de mínimo acoplamiento y máxima cohesión. Esta división en microservicios permite la evolución de cada servicio por separado, siempre que mantenga sus interfaces de acceso, y más importante, permite la eje- cución y escalado horizontal de dichos mó- dulos, permitiendo a la aplicación crecer y decrecer en función de la demanda o nece- sidades de negocio. Además cada uno es independiente y su có- digo debe poder ser desplegado sin afectar a los demás. Incluso cada uno de ellos pue- de escribirse en un lenguaje de programa- ción diferente, ya que solo exponen la API o interfaz común al resto de microservicios. Un elemento importante de una arquitectu- ra basada en microservicios es el Gateway Microservicios, un nuevo enfoque para arquitecturas orientas a servicios. José Manuel Ortega Candel Centers Technician de Everis. @jmortegac www.linkedin.com/in/jmortega1
  • 2. 7www.coiicv.org Bit@cora Noviembre 2016 • Facilita la gestión de equipos multifun- cionales y autónomos. Cada microser- vicio por sí mismo es multifuncional, es decir, tiene una parte frontend, backend y base de datos. De esta forma pode- mos formar equipos multifuncionales que se encarguen de varios microservi- cios, escalando el proceso de desarrollo de forma más sencilla. • Despliegue progresivo. Nos permite aplicar integración continua alcanzando altos valores de disponibilidad. Esto im- plica que ya no tienes un único conte- nedor, sino que hay que estar pendiente de n contenedores de aplicaciones. • Altamente desacoplados: Despliegue progresivo, sin afectar a todo el sistema. • En vez de tener un único ejecutable, cada componente tiene la capacidad de ejecutarse por sí mismo, y los servicios se comunican entre sí a través de lla- madas. Conclusiones Cada día más proyectos se centran en los microservicios como enfoque para su arqui- tectura del software, sobretodo en el ám- bito de las aplicaciones empresariales. Una arquitectura de microservicios puede pare- cer muy beneficiosa, pero como todo, tiene sus pros y contras, como cualquier arqui- tectura software. Lo que hay que tener en cuenta es que los microservicios introducen complejidad, que hay que gestionar. Hay que hacer un mayor esfuerzo en despliegues automáticos, mo- nitorización y logging, gestionar fallos, con- sistencia de datos, estrategia de pruebas y más factores que introducen los sistemas distribuidos. o pasarela, que permite lanzar peticiones en paralelo a cada microservicio cada vez que se quieran obtener los datos necesarios para la parte frontend de la aplicación. Entre las ventajas que tiene usar una arqui- tectura basada en microservicios se pueden destacar: • La libertad de lenguaje. Los microservi- cios pueden estar escritos en diferentes lenguajes de programación, utilizar di- ferentes tecnologías de almacenamien- to y estar distribuidos en diferentes ser- vidores. • Escalabilidad. Con servicios más peque- ños, solo escalamos aquellos servicios que necesitan ser escalados, sin tener que alterar las otras partes del sistema. • Facilidad de despliegue. Puedes realizar un cambio en un servicio y desplegarlo independientemente del resto del siste- ma. Cada microservicio se puede des- plegar de forma independiente del resto y un cambio en un módulo no afectará a los demás. • Combinar los servicios como nos intere- sen. Incluso, reutilizarlos para distintos uso dentro de la empresa. • Escalar a nivel de microservicios. Cada uno de ellos expone una funcionalidad, así podemos distribuirlo según nuestras necesidad pensando en la demanda y el balanceo de carga de cada aplicación. Es más fácil de escalar a nivel de sof- tware, ya que en lugar de replicar toda la aplicación y gestionarlo con balan- ceadores, replicaremos los microservi- cios que tengan más carga. • Tolerancia a fallos. El fallo en un micro- servicio no afecta a los demás ya que son totalmente independientes.
  • 3. 8 www.coiicv.org Bit@cora Noviembre 2016 El enfoque que más se encuentra hoy en día es de empresas que han visto que gestionar su software como una aplicación monolítica se ha vuelto tan complejo, que han empezado a separar la aplicación en microservicios o a gestionar nuevos desarrollos de esta forma. En este caso, sí se aconseja evolucionar la arquitectura hacia microservicios, pero poco a poco, manteniendo una parte mono- lítica, combinada con ciertos microservicios separados.