SlideShare una empresa de Scribd logo
1 de 20
Nuestras
locaciones
Nuestros
Panelistas
Julio César Velarde
Subject-Matter Expert Engineer
Tracy Leveau
Marketing Analyst
Agenda
• La importancia de DDD.
• Introducción a Microservicios.
• Monolito vs Microservicios.
• Azure Service Fabric.
• Conclusiones y recomendaciones.
¿QUESTIONS?
#MicroserviciosBelatrix
La importancia de DDD ¿QUESTIONS?
#MicroserviciosBelatrix
Domain-Driven Design es una metodología y un proceso de diseño de Sistemas Complejos.
Domain
Bounded
Context
Single
Responsability
Principle
Ubiquitous
Language
La importancia de DDD ¿QUESTIONS?
#MicroserviciosBelatrix
• Código alineado con el negocio.
• Favorece la reutilización de código.
• Mínimamente acoplado.
Introducción a Microservicios ¿QUESTIONS?
#MicroserviciosBelatrix
"The microservice architectural style is an approach to developing a single application as a suite of
small services, each running in its own process and communicating with lightweight mechanisms,
often an HTTP resource API. These services are built around business capabilities and independently
deployable by fully automated deployment machinery.
There is a bare minimum of centralized management of these services, which may be written in
different programming languages and use different data storage technologies."
James Lewis and Martin Fowler
Fuente: http://martinfowler.com/microservices/
Introducción a Microservicios ¿QUESTIONS?
#MicroserviciosBelatrix
Los microservicios, también conocidos como la arquitectura de microservicios, son un estilo
arquitectónico que estructura una aplicación como una colección de servicios que son:
• Altamente mantenible y comprobable
• Débilmente acoplado
• Independientemente desplegable
• Organizado en torno a capacidades empresariales.
La arquitectura de microservicio permite la entrega / implementación continua de aplicaciones
grandes y complejas. También permite a una organización evolucionar su stack tecnológico.
Fuente: https://microservices.io/
Monolito vs Microservicios ¿QUESTIONS?
#MicroserviciosBelatrix
Docker
Monolith App
Presentation Layer
Business Layer
Data Layer
Fuente: Avoiding Microservice Megadisasters - Jimmy Bogard (https://youtu.be/gfh-VCTwMw8 )
¿Cómo romper un monolito?
Monolito vs Microservicios
Service A
Service B
Service C
APIGATEWAY
Desktop
App
Web App
Mobile
App
Microservicios
APIGATEWAY
Desktop
App
Web App
Mobile
App
Azure Service Fabric ¿QUESTIONS?
#MicroserviciosBelatrix
Azure Service Fabric ¿QUESTIONS?
#MicroserviciosBelatrix
DEMO
Links de Interés
• http://domainlanguage.com/
• https://microservices.io/
• https://martinfowler.com/articles/break-monolith-into-microservices.html
• https://docs.microsoft.com/es-es/azure/service-fabric/
¿QUESTIONS?
# MicroserviciosBelatrix
Bibliografía recomendada
• Microservices in .NET Core - Christian Horsdal Gammelgaard - Manning Publications Co.
• Building Microservices with .NET Core 2.0 - Second Edition – Gaurav Aroraa - Packt
Publishing Ltd.
• Microservice Patterns and Best Practices - Vinicius Feitosa Pacheco - Packt Publishing Ltd.
• Enterprise Application Architecture with .NET Core - Ganesan Senthilvel, Ovais Mehboob,
Ahmed Khan and Habib Ahmed Qureshi - Packt Publishing Ltd.
¿QUESTIONS?
# MicroserviciosBelatrix
Preguntas
¡Muchas Gracias!
www.belatrixsf.com

Más contenido relacionado

La actualidad más candente

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
 
Cimientos(cap3)
Cimientos(cap3)Cimientos(cap3)
Cimientos(cap3)dlrdg
 
DevOps Finetuning Additional Considerations, Concepts, and Practices
DevOps Finetuning Additional Considerations, Concepts, and Practices DevOps Finetuning Additional Considerations, Concepts, and Practices
DevOps Finetuning Additional Considerations, Concepts, and Practices Octavio Velez Gaviria
 
Introducción a las metodologías ágiles de desarrollo de software
Introducción a las metodologías ágiles de desarrollo de softwareIntroducción a las metodologías ágiles de desarrollo de software
Introducción a las metodologías ágiles de desarrollo de softwareBelatrix Software
 
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu appbetabeers
 
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...Software Guru
 
Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones  Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones LuisGonzlez362
 
Arquitectura evolutiva
Arquitectura evolutivaArquitectura evolutiva
Arquitectura evolutivaLuisa Emme
 
Azure Functions Spanish
Azure Functions SpanishAzure Functions Spanish
Azure Functions SpanishCDS
 
Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones AndroidAgiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones AndroidMarco Avendaño
 
Creando Productos SaaS
Creando Productos SaaSCreando Productos SaaS
Creando Productos SaaSAsier Marqués
 
MercadoPago
MercadoPagoMercadoPago
MercadoPagofsolari
 
Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreDiana Pinto
 
Zimbra+Sugar CRM, la combinación perfecta- OpenExpo Day 2015
Zimbra+Sugar CRM, la combinación perfecta- OpenExpo Day 2015Zimbra+Sugar CRM, la combinación perfecta- OpenExpo Day 2015
Zimbra+Sugar CRM, la combinación perfecta- OpenExpo Day 2015OpenExpoES
 
MOBILE LIFECYCLE MANAGEMENT: Como Construir, Empaquetar, Firmar y Distribuir ...
MOBILE LIFECYCLE MANAGEMENT: Como Construir, Empaquetar, Firmar y Distribuir ...MOBILE LIFECYCLE MANAGEMENT: Como Construir, Empaquetar, Firmar y Distribuir ...
MOBILE LIFECYCLE MANAGEMENT: Como Construir, Empaquetar, Firmar y Distribuir ...atSistemas
 
Construyendo apps sostenibles basadas en procesos- OpenExpo Day 2015
Construyendo apps sostenibles basadas en procesos- OpenExpo Day 2015Construyendo apps sostenibles basadas en procesos- OpenExpo Day 2015
Construyendo apps sostenibles basadas en procesos- OpenExpo Day 2015OpenExpoES
 
Casos éxito con Woocommerce- OpenExpo Day
Casos éxito con Woocommerce- OpenExpo Day Casos éxito con Woocommerce- OpenExpo Day
Casos éxito con Woocommerce- OpenExpo Day OpenExpoES
 
DevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesDevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesLuis Fraile
 
Autenticación y Autorización - MeliDevConf BsAs.
Autenticación y Autorización - MeliDevConf BsAs.Autenticación y Autorización - MeliDevConf BsAs.
Autenticación y Autorización - MeliDevConf BsAs.melidevelopers
 

La actualidad más candente (20)

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
 
Cimientos(cap3)
Cimientos(cap3)Cimientos(cap3)
Cimientos(cap3)
 
DevOps Finetuning Additional Considerations, Concepts, and Practices
DevOps Finetuning Additional Considerations, Concepts, and Practices DevOps Finetuning Additional Considerations, Concepts, and Practices
DevOps Finetuning Additional Considerations, Concepts, and Practices
 
Introducción a las metodologías ágiles de desarrollo de software
Introducción a las metodologías ágiles de desarrollo de softwareIntroducción a las metodologías ágiles de desarrollo de software
Introducción a las metodologías ágiles de desarrollo de software
 
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
6 errores a evitar si eres una startup móvil y quieres evolucionar tu app
 
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
Círculo de Crédito: Del modelo de negocio a la arquitectura, retos y experien...
 
Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones  Modelo de desarrollo rápido de aplicaciones
Modelo de desarrollo rápido de aplicaciones
 
Arquitectura evolutiva
Arquitectura evolutivaArquitectura evolutiva
Arquitectura evolutiva
 
Azure Functions Spanish
Azure Functions SpanishAzure Functions Spanish
Azure Functions Spanish
 
Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones AndroidAgiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
Agiles y furiosos Un panorama del desarrollo ágil en aplicaciones Android
 
Creando Productos SaaS
Creando Productos SaaSCreando Productos SaaS
Creando Productos SaaS
 
MercadoPago
MercadoPagoMercadoPago
MercadoPago
 
Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la Torre
 
Zimbra+Sugar CRM, la combinación perfecta- OpenExpo Day 2015
Zimbra+Sugar CRM, la combinación perfecta- OpenExpo Day 2015Zimbra+Sugar CRM, la combinación perfecta- OpenExpo Day 2015
Zimbra+Sugar CRM, la combinación perfecta- OpenExpo Day 2015
 
MOBILE LIFECYCLE MANAGEMENT: Como Construir, Empaquetar, Firmar y Distribuir ...
MOBILE LIFECYCLE MANAGEMENT: Como Construir, Empaquetar, Firmar y Distribuir ...MOBILE LIFECYCLE MANAGEMENT: Como Construir, Empaquetar, Firmar y Distribuir ...
MOBILE LIFECYCLE MANAGEMENT: Como Construir, Empaquetar, Firmar y Distribuir ...
 
Construyendo apps sostenibles basadas en procesos- OpenExpo Day 2015
Construyendo apps sostenibles basadas en procesos- OpenExpo Day 2015Construyendo apps sostenibles basadas en procesos- OpenExpo Day 2015
Construyendo apps sostenibles basadas en procesos- OpenExpo Day 2015
 
Arquitectura Evolutiva
Arquitectura EvolutivaArquitectura Evolutiva
Arquitectura Evolutiva
 
Casos éxito con Woocommerce- OpenExpo Day
Casos éxito con Woocommerce- OpenExpo Day Casos éxito con Woocommerce- OpenExpo Day
Casos éxito con Woocommerce- OpenExpo Day
 
DevOps con Visual Studio Team Services
DevOps con Visual Studio Team ServicesDevOps con Visual Studio Team Services
DevOps con Visual Studio Team Services
 
Autenticación y Autorización - MeliDevConf BsAs.
Autenticación y Autorización - MeliDevConf BsAs.Autenticación y Autorización - MeliDevConf BsAs.
Autenticación y Autorización - MeliDevConf BsAs.
 

Similar a Microservicios con Net Core y Azure Service Fabric

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
 
SOA en la Práctica: WCF & WSSF
SOA en la Práctica: WCF & WSSFSOA en la Práctica: WCF & WSSF
SOA en la Práctica: WCF & WSSFjuliocasal
 
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
 
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
 
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
 
Evolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de TelecomunicacionesEvolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de TelecomunicacionesJaime Contreras
 
SOA Cloud Silos
SOA Cloud Silos SOA Cloud Silos
SOA Cloud Silos Juan Bello
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET CoreEduardo Campañó
 
NubeAzure.pdf
NubeAzure.pdfNubeAzure.pdf
NubeAzure.pdfhefloca
 
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
 
¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...
¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...
¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...Martín Cabrera
 
Planificando el Camino azure migracion
Planificando el Camino azure migracionPlanificando el Camino azure migracion
Planificando el Camino azure migracionIvan Martinez
 
Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Andres Solorzano
 
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
 
.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
 

Similar a Microservicios con Net Core y Azure Service Fabric (20)

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
 
Cloud Native Development in the JVM
Cloud Native Development in the JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
SOA en la Práctica: WCF & WSSF
SOA en la Práctica: WCF & WSSFSOA en la Práctica: WCF & WSSF
SOA en la Práctica: WCF & WSSF
 
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)
 
Microservicios.pptx
Microservicios.pptxMicroservicios.pptx
Microservicios.pptx
 
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
 
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
 
Evolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de TelecomunicacionesEvolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de Telecomunicaciones
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
SOA Cloud Silos
SOA Cloud Silos SOA Cloud Silos
SOA Cloud Silos
 
Microservicios con ASP.NET Core
Microservicios con ASP.NET CoreMicroservicios con ASP.NET Core
Microservicios con ASP.NET Core
 
NubeAzure.pdf
NubeAzure.pdfNubeAzure.pdf
NubeAzure.pdf
 
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 ...
 
¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...
¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...
¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...
 
Planificando el Camino azure migracion
Planificando el Camino azure migracionPlanificando el Camino azure migracion
Planificando el Camino azure migracion
 
Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018Propuesta de Plataforma IoT - UCA Cuenca 2018
Propuesta de Plataforma IoT - UCA Cuenca 2018
 
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
 
.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
 
CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.
 
M vs m
M vs mM vs m
M vs m
 

Más de Belatrix Software

Top 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móvilesTop 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móvilesBelatrix Software
 
Pruebas continuas con cypress en la era DevOps
Pruebas continuas con cypress en la era DevOpsPruebas continuas con cypress en la era DevOps
Pruebas continuas con cypress en la era DevOpsBelatrix Software
 
Navigating the new world ushered in overnight by COVID-19
Navigating the new world ushered in overnight by COVID-19Navigating the new world ushered in overnight by COVID-19
Navigating the new world ushered in overnight by COVID-19Belatrix Software
 
Multitenancy con múltiples Bases de Datos
Multitenancy con múltiples Bases de DatosMultitenancy con múltiples Bases de Datos
Multitenancy con múltiples Bases de DatosBelatrix Software
 
Desarrollando AWS Alexa Skills con Java
Desarrollando AWS Alexa Skills con JavaDesarrollando AWS Alexa Skills con Java
Desarrollando AWS Alexa Skills con JavaBelatrix Software
 
Creando Animaciones en React Native
Creando Animaciones en React NativeCreando Animaciones en React Native
Creando Animaciones en React NativeBelatrix Software
 
RPA: Sistemas de información para optimizar procesos de negocios
RPA: Sistemas de información para optimizar procesos de negociosRPA: Sistemas de información para optimizar procesos de negocios
RPA: Sistemas de información para optimizar procesos de negociosBelatrix Software
 
Machine Learning vs. Deep Learning
Machine Learning vs. Deep LearningMachine Learning vs. Deep Learning
Machine Learning vs. Deep LearningBelatrix Software
 
IoT + voice assistants = posibilidades infinitas
IoT + voice assistants = posibilidades infinitasIoT + voice assistants = posibilidades infinitas
IoT + voice assistants = posibilidades infinitasBelatrix Software
 
Micro Frontends: Rompiendo el monolito en las aplicaciones Web
Micro Frontends: Rompiendo el monolito en las aplicaciones WebMicro Frontends: Rompiendo el monolito en las aplicaciones Web
Micro Frontends: Rompiendo el monolito en las aplicaciones WebBelatrix Software
 
Predictions 2019: Digital journeys are well on their way
Predictions 2019: Digital journeys are well on their way Predictions 2019: Digital journeys are well on their way
Predictions 2019: Digital journeys are well on their way Belatrix Software
 
Integrando Test Driven Development en aplicaciones React
Integrando Test Driven Development en aplicaciones ReactIntegrando Test Driven Development en aplicaciones React
Integrando Test Driven Development en aplicaciones ReactBelatrix Software
 
Drive business outcomes using Azure Devops
Drive business outcomes using Azure DevopsDrive business outcomes using Azure Devops
Drive business outcomes using Azure DevopsBelatrix Software
 
Mejora tus resultados de negocios con Azure DevOps
Mejora tus resultados de negocios con Azure DevOpsMejora tus resultados de negocios con Azure DevOps
Mejora tus resultados de negocios con Azure DevOpsBelatrix Software
 
¿Cómo aumentar nuestra productividad con Flutter?
¿Cómo aumentar nuestra productividad con Flutter?¿Cómo aumentar nuestra productividad con Flutter?
¿Cómo aumentar nuestra productividad con Flutter?Belatrix Software
 
Integración continua para iOS
Integración continua para iOSIntegración continua para iOS
Integración continua para iOSBelatrix Software
 
Welcome to the jungle...choosing the right tech stack to build powerful digit...
Welcome to the jungle...choosing the right tech stack to build powerful digit...Welcome to the jungle...choosing the right tech stack to build powerful digit...
Welcome to the jungle...choosing the right tech stack to build powerful digit...Belatrix Software
 
Javascript: Conceptos básicos
Javascript: Conceptos básicosJavascript: Conceptos básicos
Javascript: Conceptos básicosBelatrix Software
 

Más de Belatrix Software (20)

Top 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móvilesTop 10 riesgos de las aplicaciones móviles
Top 10 riesgos de las aplicaciones móviles
 
Pruebas continuas con cypress en la era DevOps
Pruebas continuas con cypress en la era DevOpsPruebas continuas con cypress en la era DevOps
Pruebas continuas con cypress en la era DevOps
 
Navigating the new world ushered in overnight by COVID-19
Navigating the new world ushered in overnight by COVID-19Navigating the new world ushered in overnight by COVID-19
Navigating the new world ushered in overnight by COVID-19
 
Multitenancy con múltiples Bases de Datos
Multitenancy con múltiples Bases de DatosMultitenancy con múltiples Bases de Datos
Multitenancy con múltiples Bases de Datos
 
Desarrollando AWS Alexa Skills con Java
Desarrollando AWS Alexa Skills con JavaDesarrollando AWS Alexa Skills con Java
Desarrollando AWS Alexa Skills con Java
 
Creando Animaciones en React Native
Creando Animaciones en React NativeCreando Animaciones en React Native
Creando Animaciones en React Native
 
RPA: Sistemas de información para optimizar procesos de negocios
RPA: Sistemas de información para optimizar procesos de negociosRPA: Sistemas de información para optimizar procesos de negocios
RPA: Sistemas de información para optimizar procesos de negocios
 
Api NodeJS con PureScript
Api NodeJS con PureScriptApi NodeJS con PureScript
Api NodeJS con PureScript
 
Machine Learning vs. Deep Learning
Machine Learning vs. Deep LearningMachine Learning vs. Deep Learning
Machine Learning vs. Deep Learning
 
Metodologías de CSS
Metodologías de CSSMetodologías de CSS
Metodologías de CSS
 
IoT + voice assistants = posibilidades infinitas
IoT + voice assistants = posibilidades infinitasIoT + voice assistants = posibilidades infinitas
IoT + voice assistants = posibilidades infinitas
 
Micro Frontends: Rompiendo el monolito en las aplicaciones Web
Micro Frontends: Rompiendo el monolito en las aplicaciones WebMicro Frontends: Rompiendo el monolito en las aplicaciones Web
Micro Frontends: Rompiendo el monolito en las aplicaciones Web
 
Predictions 2019: Digital journeys are well on their way
Predictions 2019: Digital journeys are well on their way Predictions 2019: Digital journeys are well on their way
Predictions 2019: Digital journeys are well on their way
 
Integrando Test Driven Development en aplicaciones React
Integrando Test Driven Development en aplicaciones ReactIntegrando Test Driven Development en aplicaciones React
Integrando Test Driven Development en aplicaciones React
 
Drive business outcomes using Azure Devops
Drive business outcomes using Azure DevopsDrive business outcomes using Azure Devops
Drive business outcomes using Azure Devops
 
Mejora tus resultados de negocios con Azure DevOps
Mejora tus resultados de negocios con Azure DevOpsMejora tus resultados de negocios con Azure DevOps
Mejora tus resultados de negocios con Azure DevOps
 
¿Cómo aumentar nuestra productividad con Flutter?
¿Cómo aumentar nuestra productividad con Flutter?¿Cómo aumentar nuestra productividad con Flutter?
¿Cómo aumentar nuestra productividad con Flutter?
 
Integración continua para iOS
Integración continua para iOSIntegración continua para iOS
Integración continua para iOS
 
Welcome to the jungle...choosing the right tech stack to build powerful digit...
Welcome to the jungle...choosing the right tech stack to build powerful digit...Welcome to the jungle...choosing the right tech stack to build powerful digit...
Welcome to the jungle...choosing the right tech stack to build powerful digit...
 
Javascript: Conceptos básicos
Javascript: Conceptos básicosJavascript: Conceptos básicos
Javascript: Conceptos básicos
 

Último

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
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 

Último (16)

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
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
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
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 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
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
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...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
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)
 

Microservicios con Net Core y Azure Service Fabric

  • 1.
  • 3. Nuestros Panelistas Julio César Velarde Subject-Matter Expert Engineer Tracy Leveau Marketing Analyst
  • 4. Agenda • La importancia de DDD. • Introducción a Microservicios. • Monolito vs Microservicios. • Azure Service Fabric. • Conclusiones y recomendaciones. ¿QUESTIONS? #MicroserviciosBelatrix
  • 5. La importancia de DDD ¿QUESTIONS? #MicroserviciosBelatrix Domain-Driven Design es una metodología y un proceso de diseño de Sistemas Complejos. Domain Bounded Context Single Responsability Principle Ubiquitous Language
  • 6. La importancia de DDD ¿QUESTIONS? #MicroserviciosBelatrix • Código alineado con el negocio. • Favorece la reutilización de código. • Mínimamente acoplado.
  • 7. Introducción a Microservicios ¿QUESTIONS? #MicroserviciosBelatrix "The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies." James Lewis and Martin Fowler Fuente: http://martinfowler.com/microservices/
  • 8. Introducción a Microservicios ¿QUESTIONS? #MicroserviciosBelatrix Los microservicios, también conocidos como la arquitectura de microservicios, son un estilo arquitectónico que estructura una aplicación como una colección de servicios que son: • Altamente mantenible y comprobable • Débilmente acoplado • Independientemente desplegable • Organizado en torno a capacidades empresariales. La arquitectura de microservicio permite la entrega / implementación continua de aplicaciones grandes y complejas. También permite a una organización evolucionar su stack tecnológico. Fuente: https://microservices.io/
  • 9. Monolito vs Microservicios ¿QUESTIONS? #MicroserviciosBelatrix Docker Monolith App Presentation Layer Business Layer Data Layer
  • 10. Fuente: Avoiding Microservice Megadisasters - Jimmy Bogard (https://youtu.be/gfh-VCTwMw8 )
  • 11. ¿Cómo romper un monolito?
  • 12. Monolito vs Microservicios Service A Service B Service C APIGATEWAY Desktop App Web App Mobile App
  • 14. Azure Service Fabric ¿QUESTIONS? #MicroserviciosBelatrix
  • 15. Azure Service Fabric ¿QUESTIONS? #MicroserviciosBelatrix
  • 16. DEMO
  • 17. Links de Interés • http://domainlanguage.com/ • https://microservices.io/ • https://martinfowler.com/articles/break-monolith-into-microservices.html • https://docs.microsoft.com/es-es/azure/service-fabric/ ¿QUESTIONS? # MicroserviciosBelatrix
  • 18. Bibliografía recomendada • Microservices in .NET Core - Christian Horsdal Gammelgaard - Manning Publications Co. • Building Microservices with .NET Core 2.0 - Second Edition – Gaurav Aroraa - Packt Publishing Ltd. • Microservice Patterns and Best Practices - Vinicius Feitosa Pacheco - Packt Publishing Ltd. • Enterprise Application Architecture with .NET Core - Ganesan Senthilvel, Ovais Mehboob, Ahmed Khan and Habib Ahmed Qureshi - Packt Publishing Ltd. ¿QUESTIONS? # MicroserviciosBelatrix

Notas del editor

  1. What’s the Ubiquitous Language? In short, DDD is primarily about modeling a Ubiquitous Language in an explicitly Bounded Context. While true, that probably wasn’t the most helpful description that I could provide. Let me break this down for you. First, a Bounded Context is a semantic contextual boundary. This means that within the boundary each component of the software model has a specific meaning and does specific things. The components inside a Bounded Context are context specific and semantically motivated. That’s simple enough. the Ubiquitous Language reflects the mental model of the experts of the business domain you are working in. The heart of software is its ability to solve domain-related problems for its user. Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software Cual es el foco de DDD? El foco para DDD son los dominios complejos que cuentan con dificultades de comunicación entre los expertos técnicos y los expertos del negocio, haciendo que los conceptos o ideas de la aplicación sean confusas. ============ Entity An object that is not defined by its attributes, but rather by a thread of continuity and its identity. Example: Most airlines distinguish each seat uniquely on every flight. Each seat is an entity in this context. However, Southwest Airlines, EasyJet and Ryanair do not distinguish between every seat; all seats are the same. In this context, a seat is actually a value object. Value object An object that contains attributes but has no conceptual identity. They should be treated as immutable. Example: When people exchange business cards, they generally do not distinguish between each unique card; they are only concerned about the information printed on the card. In this context, business cards are value objects. Aggregate A collection of objects that are bound together by a root entity, otherwise known as an aggregate root. The aggregate root guarantees the consistency of changes being made within the aggregate by forbidding external objects from holding references to its members. Example: When you drive a car, you do not have to worry about moving the wheels forward, making the engine combust with spark and fuel, etc.; you are simply driving the car. In this context, the car is an aggregate of several other objects and serves as the aggregate root to all of the other systems. Domain Event A domain object that defines an event (something that happens). A domain event is an event that domain experts care about. Service When an operation does not conceptually belong to any object. Following the natural contours of the problem, you can implement these operations in services. See also Service (systems architecture). Repository Methods for retrieving domain objects should delegate to a specialized Repository object such that alternative storage implementations may be easily interchanged. Factory Methods for creating domain objects should delegate to a specialized Factory object such that alternative implementations may be easily interchanged.
  2. Evans's book is divided into four parts: - Putting the domain model to work - Model building blocks-driven design - Refactoring to deeply understand the model - Strategic design All the preceding parts can be applied to microservices. Model building blocks-driven design and refactoring to deeply understand the model internally applies to microservices, that is, the code itself. The others can be applied either internally in the software, but can also be used to design microservices and their signatures. The first part is emphatic about the need to use ubiquitous language for communication between those responsible for the business, and the engineering team responsible for the development. This language consists of terms that are part of everyday conversations between business experts and development teams. Everyone should use the same terms in spoken language, the source code, and the signing of microservices. This means that when the business specialist says, The home page should seek breaking news with the title and description the ubiquitous language applied in the code will be represented as follows: - Microservice news - Endpoint recent news - Payload with attribute title and description This type of communication will mitigate errors in understanding requirements and maintain the general knowledge about application unison. Another important point is that, with the ubiquitous language, identifying areas is simpler because, as interactions have standardized terms, a word may indicate something new. The fourth part will clarify the boundaries of a microservice and ease of management between the parties. Besides having a ubiquitous language used in the development of a consistent and adequate microservice, some strategies are necessary for dealing with complex systems, where multiple pieces of software (developed by several teams) interact. Delimit the context in which each team works and what is the degree of interaction between these teams and these contexts? Of the many tools that the DDD provides us, three are more prominent for efficient microservices: Context maps: These are the communication paths between microservices with appropriate interactions between microservices teams. After the analysis of the areas are already defined, the team can choose to be dependent on another team for domain language. Anti-corruption layer (ACL): This is the function that translates foreign concepts for an internal model to provide loose coupling between the domains. Interchange context: This provides an environment for both teams and discusses the meaning of each foreign term and translates the languages of microservices.
  3. The term microservices was used for the first time in mid-2011 at a workshop on software architects. In March 2012, James Lewis presented some of his ideas about microservices. By the end of 2013, various groups from the IT industry started having discussions about microservices, and by 2014, they had become popular enough to be considered a serious contender for large enterprises. "El estilo arquitectónico de microservicio es un enfoque para desarrollar una aplicación única como un conjunto de pequeños servicios, cada uno ejecutándose en su propio proceso y comunicándose con mecanismos ligeros, a menudo una API de recursos HTTP. Estos servicios se basan en capacidades empresariales y se implementan de forma independiente. Maquinaria de despliegue automatizado. Hay un mínimo de administración centralizada de estos servicios, que puede escribirse en diferentes lenguajes de programación y utilizar diferentes tecnologías de almacenamiento de datos ".
  4. The term microservices was used for the first time in mid-2011 at a workshop on software architects. In March 2012, James Lewis presented some of his ideas about microservices. By the end of 2013, various groups from the IT industry started having discussions about microservices, and by 2014, they had become popular enough to be considered a serious contender for large enterprises.
  5. Articulo de Zhamak Dehghani, en el sitio de Martin Fowler The Journey Guide Warm Up with a Simple and Fairly Decoupled Capability Minimize Dependency Back to the Monolith Split Sticky Capabilities Early Decouple Vertically and Release the Data Early Decouple What is Important to the Business and Changes Frequently Decouple Capability and not Code Go Macro First, then Micro Migrate in Atomic Evolutionary Steps Calentamiento con una capacidad simple y bastante desacoplada Minimiza la dependencia de regreso al monolito Dividir las capacidades adhesivas temprano Desacoplar verticalmente y liberar los datos temprano Desacople lo que es importante para el negocio y los cambios con frecuencia Capacidad de desacoplamiento y no código Primero macro, luego micro Migrar en pasos evolutivos atómicos
  6. Azure Service Fabric es una plataforma de sistemas distribuidos que facilita el empaquetado, la implementación y la administración de microservicios y contenedores escalables y confiables. Service Fabric también aborda los desafíos importantes en el desarrollo y la administración de aplicaciones nativas en la nube. Los desarrolladores y administradores pueden evitar problemas complejos de infraestructura y centrarse en su lugar en las cargas de trabajo más exigentes y críticas que son escalables, confiables y fáciles de administrar. Service Fabric representa la plataforma de próxima generación para crear y administrar estas aplicaciones de clase empresarial, escala de nube y nivel 1 que se ejecutan en contenedores. Principales capacidades Usando Service Fabric, puede: Implementar en Azure o en centros de datos locales que ejecutan Windows o Linux con cero cambios de código. Crear una vez e implementar en cualquier clúster de Service Fabric. Desarrollar aplicaciones escalables que están compuestas por microservicios mediante los modelos de programación de Service Fabric, contenedores o cualquier código. Desarrollar microservicios con estado y sin estado que desean de alta confianza. Simplificar el diseño de su aplicación, mediante microservicios con estado. Usar el novedoso modelo de programación Reliable Actors para crear objetos de nube con estado y código autónomo. Implementar y orquestar contenedores que incluyen contenedores de Windows y de Linux.Service Fabric es un orquestador de contenedores, con estado y reconocimiento de datos. Implementar aplicaciones en segundos, con una elevada densidad de cientos o miles de aplicaciones o contenedores por máquina. Implementar versiones diferentes de la misma aplicación en paralelo, y actualizar cada una por separado. Administrar el ciclo de vida de sus aplicaciones sin tiempo de inactividad, incluidas las actualizaciones de última hora y las que no lo son. Escalar o reducir horizontalmente el número de nodos en un clúster. Según se escalan los nodos, las aplicaciones se escalan automáticamente. Supervisar y diagnosticar el estado de sus aplicaciones y establecer directivas para realizar reparaciones automáticas. Observar al equilibrador de recursos orquestar la redistribución de aplicaciones en todo el clúster. Service Fabric se recupera de los errores y optimiza la distribución de la carga según los recursos disponibles.
  7. Que es un Reliable Service? Se pueden pensar como aplicaciones de Windows o aplicaciones de consola. * Stateful Service: Transactional Replicate the storage. * Stateless Service: * Actors: Reliable Actors: Implementa el modelo de Diseño de Actores. Guest Executable: Reliable Service vs Normal App: Ambos de Facil escritura. Con muchas librerias de opciones (en el caso de Reliable Service solo de 64 bits) No hay curva de aprendizaje (Reliable Service: Pequeña curva de aprendizaje) Reliable Service: Acceso Azure Service Frabic API Azure Service Frabic Plugable communication model (HTTP, TCP, Websockets o lo que decidas usar) Acceso a Reliable Storage