SlideShare una empresa de Scribd logo
1 de 29
M ------> M
Monolíticos Microservicios
Monolith
Monolith
by @
Monolith
Pros
- Simplicidad para desarrollar
- Deploy sencillo
- Testing concentrado
- Escalamiento sencillo
- Consistencia de datos
Contras
- Código muy largo
- Features o corrección de errores lentos
- Código concentrado
- No utilizar la mejor herramienta para el trabajo a
desarrollar
- Cambiar de tecnología es complicado
- Problemas de compatibilidad con otras plataformas o
software
- La escalabilidad tiene que ser por toda la aplicación
- Caída completa de la aplicación
Monolith
Equipo de Desarrolladores
- De diversos tamaños y con diversas tareas,
- Comparten el mismo código, repositorio
- Integración de nuevos developers compleja según el largo de la aplicación
Monolith
Microservices
Microservicios son
pequeñas partes de código
o pequeños programas,
son completamente
autónomos y se enfocan
en hacer una sola cosa y
hacerla bien
Microservices
- Una funcionalidad por cubrir
- Arquitectura propia consistente a la lógica
de negocios que hay que cubrir
Microservices
- Servicios como
componentes
- Productos no
proyectos
Microservices
Independientes /
Descentralizados
Microservices
Libertad de elegir la mejor
herramienta para nuestra
solución
Microservices
Equipo de trabajo no mayor a
la cantidad de gente que
alimentarias con 2 pizzas
¿Qué pasa con el equipo?
Two Pizza team rule
- Jeff Bezos
Microservices
¿Cómo se realiza la comunicación entre servicios?
Microservices
¿Y qué hay de mi base de datos?
Administración Descentralizada
de datos
- Datos por servicio
- Tecnología por servicio
- Sincronización mediante
Event - Sourcing
- CQRS
- Apache Kafka
- Pub / Sub
Microservices
API Gateway
- NGINX
- Express Gateway
- Apache
- Solución Cloud
Microservices
Escalabilidad
Microservices
Escalabilidad
- Contenedores
- VM’s o Cluster
- Orquestador de
Contenedores
- Docker Swarm
- Kubernetes
Microservices
Escalabilidad
- Balanceo de Carga
- Caching
- Monitoreo
- Control de acceso
Microservices
Deployments
Netflix Microservices
AWS
Cientos de equipos
+ Arquitectura Microservicios
+ Continuous Delivery
+ Multiple entornos de desarrollo
= 50 millones de deployments al año
(5708 por hora, o un deploy cada 0.63 segundos
AWS
Qué hay del Frontend?
https://github.com/andrewdacenko/web-
components-angular-react
Entonces cuándo utilizar microservicios?
Depende…...
Entonces cuándo utilizar microservicios?
Martin Fowler
Drawbacks
- Costoso
- Developers que sepan sobre Sistemas distribuidos
- IDE
- El stack de desarrollo puede ser demasiado para el
funcionamiento del servicio
- Partición y consistencia de datos
- Testing
Cómo migrar de monolítico a microservicios?
● Evalúa tu aplicación
● Rompela en componentes
● Ve del menor servicio al mayor servicio
● Todo lo nuevo se hace microservicio
Por dónde empiezo, qué necesito saber?
- Conocer completamente o a
profundidad un lenguaje de
programación
- Manejar con agilidad bases de datos
relacionales y no relacionales
- GIT
- Muy buen GIT
- No es broma
- Tener dominio sobre API REST
- Buena documentación de código y API’s
- Colas de mensajes (AMQP)
- Devops
- Webservers
- Docker
- Kubernetes / Docker Swarm-
- Cloud computing
- Arquitectura de software
- Algoritmia
- Trabajo en equipo y habilidades de
comunicación
Gracias

Más contenido relacionado

La actualidad más candente

Alta disponibilidad y balanceo de carga con Linux y nginx
Alta disponibilidad y balanceo de carga con Linux y nginxAlta disponibilidad y balanceo de carga con Linux y nginx
Alta disponibilidad y balanceo de carga con Linux y nginxPlain Concepts
 
Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2José Vázquez
 
Un recorrido por las herramientas de software libre que uso cada día, en los ...
Un recorrido por las herramientas de software libre que uso cada día, en los ...Un recorrido por las herramientas de software libre que uso cada día, en los ...
Un recorrido por las herramientas de software libre que uso cada día, en los ...Christian Rodriguez
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladoressergiovier
 
Carasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharCarasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharudalrico
 
Presentacion tecnica microsoft.net
Presentacion tecnica microsoft.netPresentacion tecnica microsoft.net
Presentacion tecnica microsoft.netRulo Rosaz
 
Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicasAny Saula
 
OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 Micael Gallego
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación DockerITPAMI
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core osDavid Luque Quintana
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCMicael Gallego
 
Karen mezu
Karen mezuKaren mezu
Karen mezukrnmezu
 
Tecnologías detrás de las redes sociales
Tecnologías detrás de las redes socialesTecnologías detrás de las redes sociales
Tecnologías detrás de las redes socialesKenny Iz
 

La actualidad más candente (20)

Alta disponibilidad y balanceo de carga con Linux y nginx
Alta disponibilidad y balanceo de carga con Linux y nginxAlta disponibilidad y balanceo de carga con Linux y nginx
Alta disponibilidad y balanceo de carga con Linux y nginx
 
Semana 2 Generación del proyecto usando Spring
Semana 2   Generación del proyecto usando SpringSemana 2   Generación del proyecto usando Spring
Semana 2 Generación del proyecto usando Spring
 
Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2Ponencia virtualización sl alejandro vázquez 2
Ponencia virtualización sl alejandro vázquez 2
 
Semana 7 Servicios Web REST con MongoDB final
Semana 7   Servicios Web REST con MongoDB finalSemana 7   Servicios Web REST con MongoDB final
Semana 7 Servicios Web REST con MongoDB final
 
Semana 3 Mongodb
Semana 3   MongodbSemana 3   Mongodb
Semana 3 Mongodb
 
Un recorrido por las herramientas de software libre que uso cada día, en los ...
Un recorrido por las herramientas de software libre que uso cada día, en los ...Un recorrido por las herramientas de software libre que uso cada día, en los ...
Un recorrido por las herramientas de software libre que uso cada día, en los ...
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
Virtualización para Desarrolladores
Virtualización para DesarrolladoresVirtualización para Desarrolladores
Virtualización para Desarrolladores
 
Carasteristicas de compiladores sheshar
Carasteristicas de compiladores shesharCarasteristicas de compiladores sheshar
Carasteristicas de compiladores sheshar
 
Presentacion tecnica microsoft.net
Presentacion tecnica microsoft.netPresentacion tecnica microsoft.net
Presentacion tecnica microsoft.net
 
Java y sus caracteristicas
Java y sus caracteristicasJava y sus caracteristicas
Java y sus caracteristicas
 
OpenVidu Commitconf 2018
OpenVidu Commitconf 2018 OpenVidu Commitconf 2018
OpenVidu Commitconf 2018
 
Tecnologia ASP.net
Tecnologia ASP.netTecnologia ASP.net
Tecnologia ASP.net
 
Presentación Docker
Presentación DockerPresentación Docker
Presentación Docker
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core os
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJC
 
Maven
MavenMaven
Maven
 
Karen mezu
Karen mezuKaren mezu
Karen mezu
 
Tecnologías detrás de las redes sociales
Tecnologías detrás de las redes socialesTecnologías detrás de las redes sociales
Tecnologías detrás de las redes sociales
 

Similar a M vs m

Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET CoreEduardo Campañó
 
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y BarcelonaSanti Macias Rodriguez
 
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosMecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosSoftware Guru
 
Reestructuración y Optimización de una de una Aplicación Monolítica.
Reestructuración y Optimización de una de una Aplicación Monolítica.Reestructuración y Optimización de una de una Aplicación Monolítica.
Reestructuración y Optimización de una de una Aplicación Monolítica.Matias Cappato
 
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
 
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
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaFrancisco Arturo Viveros
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service FabricGuillermo Javier Bellmann
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Guillermo Javier Bellmann
 
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)MuleSoft y la Arquitectura Orientada a Microservicios (MSA)
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)Larry Magallanes
 
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
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Francisco Javier Toscano Lopez
 
Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.
Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.
Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.Jose Manuel Ortega Candel
 
Microservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service FabricMicroservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service FabricBelatrix Software
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureDomingo Suarez Torres
 
Alm como factor diferenciador
Alm como factor diferenciadorAlm como factor diferenciador
Alm como factor diferenciadorRodrigo Corral
 

Similar a M vs m (20)

Offering Cloud Solutions
Offering Cloud Solutions Offering Cloud Solutions
Offering Cloud Solutions
 
Microservicios.pptx
Microservicios.pptxMicroservicios.pptx
Microservicios.pptx
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET Core
 
Cloud Native Development in the JVM
Cloud Native Development in the JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 Cloud Native en Azure impartido en Microsoft Madrid y Barcelona Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
Cloud Native en Azure impartido en Microsoft Madrid y Barcelona
 
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosMecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
 
Reestructuración y Optimización de una de una Aplicación Monolítica.
Reestructuración y Optimización de una de una Aplicación Monolítica.Reestructuración y Optimización de una de una Aplicación Monolítica.
Reestructuración y Optimización de una de una Aplicación Monolítica.
 
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 ...
 
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
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración Moderna
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
 
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)MuleSoft y la Arquitectura Orientada a Microservicios (MSA)
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)
 
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
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.
Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.
Microservicios, un nuevo enfoque para arquitecturas orientas a servicios.
 
Microservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service FabricMicroservicios con Net Core y Azure Service Fabric
Microservicios con Net Core y Azure Service Fabric
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
 
Alm como factor diferenciador
Alm como factor diferenciadorAlm como factor diferenciador
Alm como factor diferenciador
 

M vs m

Notas del editor

  1. En la ingeniería de software, una única aplicación de software en niveles en los que la interfaz de usuario y código de acceso a datos se combinan en un solo programa de una plataforma única.
  2. Codigo largo developers nuevos sobrecarga de ide sobrecarga del contenedor, inicio lento costo de mantenimiento a bug in any module, such as a memory leak, Features o corrección de errores lentos slowly continues deployment or integration Escalamiento toda la aplicación tiene acceso a toda la data cacheo no efectivo al cachear toda la aplicación y aumentar la memoria para todo cada parte de la aplicación tiene diferentes requerimientos
  3. pequeños servicios enfocados a una sola cosa en específico y esa cosa la tienen que hacer bien. cada servicio se comunica mediante otros servicios
  4. Ejemplo de la componentización
  5. Hablar de los equipos de developers
  6. explicar cómo se comunican los microservicios atravez de un api gateway para los distintos dispositivos y mediante restapi se comunican entre servicios, cada servicio tiene su lógica, sus librerías, su seguridad y su data
  7. poner ejemplo de netflix, spotify y aws
  8. poner ejemplo de netflix, spotify y aws
  9. poner ejemplo de netflix, spotify y aws
  10. poner ejemplo de netflix, spotify y aws
  11. explicar el porqué debo de conocer cada punto
  12. explicar el porqué debo de conocer cada punto