SlideShare ist ein Scribd-Unternehmen logo
1 von 34
October 4th, 5th & 6th 2018.NET Conf AR v2018
Microservicios .NET: Arquitectura para
Aplicaciones .NET Contenerizadas
Germán Küber
.Net Developer
CloudX
Aplicación de referencia eShopOnContainers - Arquitectura
Ordering microservice
Catalog microservice
eShop WebApp MVC
ASP.NET Core MVC
Identity microservice (STS+users)
eShop SPA Web app
TypeScript/Angular 4
eShop mobile app
Xamarin.Forms
C#
xPlat. OS:
iOS
Android
Windows
Docker Host
eShop traditional Web app
HTML
SQL Server db
Client apps
Basket microservice
Redis cache
Marketing microservice
MongoDB /
CosmosDB
SQL Server DB
SQL Server db
SQL Server db
Location microservice
MongoDB /
CosmosDB
Ordering.API
GracePeriod worker Svc.
October 4th, 5th & 6th 2018.NET Conf AR v2018
Arquitectura externa vs arquitectura interna y
patrones de diseño
Arquitectura Externa por
Aplicación
Arquitectura interna por
Microservicio
October 4th, 5th & 6th 2018.NET Conf AR v2018
Entorno de desarrollo para aplicaciones Docker
October 4th, 5th & 6th 2018.NET Conf AR v2018
Agregar soporte Docker a nuestras Aplicaciones
October 4th, 5th & 6th 2018.NET Conf AR v2018
Ejecutando y depurando una aplicación multi-
contenedor con Visual Studio
October 4th, 5th & 6th 2018.NET Conf AR v2018
Multi contenedor con
docker-compose.yml
October 4th, 5th & 6th 2018.NET Conf AR v2018
Creando un microservicio CRUD simple para datos
October 4th, 5th & 6th 2018.NET Conf AR v2018
Contenedor de microservicio CRUD/orientado a datos
October 4th, 5th & 6th 2018.NET Conf AR v2018
Implementando un microservicio CRUD
simple con ASP.NET Core
October 4th, 5th & 6th 2018.NET Conf AR v2018
Connection String desde Docker Compose
October 4th, 5th & 6th 2018.NET Conf AR v2018
Comunicación entre microservicios
October 4th, 5th & 6th 2018.NET Conf AR v2018
Eventos de integración
October 4th, 5th & 6th 2018.NET Conf AR v2018
Interfaz de un BUS de eventos
October 4th, 5th & 6th 2018.NET Conf AR v2018
Suscribiéndose a eventos
October 4th, 5th & 6th 2018.NET Conf AR v2018
Publicando eventos a través del bus de
eventos
October 4th, 5th & 6th 2018.NET Conf AR v2018
Microservicio CQRS
Microservicio de pedidos
October 4th, 5th & 6th 2018.NET Conf AR v2018
Consultas en (CQRS)
October 4th, 5th & 6th 2018.NET Conf AR v2018
CQRS
La clase
Comando
Procesando un comando dentro de un microservicio
CQRS con cola de mensajes externos
October 4th, 5th & 6th 2018.NET Conf AR v2018
Capas en un microservicio DDD
October 4th, 5th & 6th 2018.NET Conf AR v2018
Un modelo de dominio como un microservicio
• Misma Identidad múltiples Bounded
Contexts (Microservicios)
• Entidades modeladas en cada Microservicio
• La Entidad debe implementar
comportamiento
• Los métodos de la Entidad resguardan sus
invariantes
October 4th, 5th & 6th 2018.NET Conf AR v2018
Patrón Agregado
October 4th, 5th & 6th 2018.NET Conf AR v2018
Patrón Agregado
October 4th, 5th & 6th 2018.NET Conf AR v2018
Microservicio
DDD
implementado
con .NET Core
October 4th, 5th & 6th 2018.NET Conf AR v2018
Eventos de Dominio
• Algo que ocurrió en el pasado
• Mejora la separación de responsabilidades
• Facilita la extensibilidad de nuestro dominio
• Eventos que son manejados dentro del mismo Thread
Implementando eventos de dominio
Disparar y enviar eventos
Un
repositorio
por agregado
October 4th, 5th & 6th 2018.NET Conf AR v2018
eShopContainers: Aplicación de
microservicios de referencia
October 4th, 5th & 6th 2018.NET Conf AR v2018
Gracias!!!
http://germankuber.com.ar
@GermanKuber
German.Kuber@Outlook.com
Germán Küber

Weitere ähnliche Inhalte

Was ist angesagt?

Tema N° 5 Ingeniería de Requisitos y los Requisitos del Software
Tema N° 5 Ingeniería de Requisitos y los Requisitos del SoftwareTema N° 5 Ingeniería de Requisitos y los Requisitos del Software
Tema N° 5 Ingeniería de Requisitos y los Requisitos del SoftwareSaraEAlcntaraR
 
Presentación: Sistema de Archivos Distribuido (DFS)
Presentación: Sistema de Archivos Distribuido (DFS)Presentación: Sistema de Archivos Distribuido (DFS)
Presentación: Sistema de Archivos Distribuido (DFS)Alejandro Rodríguez
 
1 4 estandares
1 4 estandares1 4 estandares
1 4 estandareslandeta_p
 
Indroducción a REM 1.2.2
Indroducción a REM 1.2.2Indroducción a REM 1.2.2
Indroducción a REM 1.2.2tonyjosue
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosFranklin Parrales Bravo
 
Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Softwarealbert317
 
Del modelo del negocio al modelo de requisitos
Del modelo del negocio al modelo de requisitosDel modelo del negocio al modelo de requisitos
Del modelo del negocio al modelo de requisitosYAMILA GASCON
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Jose R. Hilera
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una colajeffersoncenteno
 
Investigacion servidores
Investigacion servidoresInvestigacion servidores
Investigacion servidoresRamicat
 
Proyecto: Monitorización de red con SNMP y MRTG
Proyecto: Monitorización de red con SNMP y MRTGProyecto: Monitorización de red con SNMP y MRTG
Proyecto: Monitorización de red con SNMP y MRTGFrancesc Perez
 
Control de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETControl de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETLa Red DBAccess
 

Was ist angesagt? (20)

Tema N° 5 Ingeniería de Requisitos y los Requisitos del Software
Tema N° 5 Ingeniería de Requisitos y los Requisitos del SoftwareTema N° 5 Ingeniería de Requisitos y los Requisitos del Software
Tema N° 5 Ingeniería de Requisitos y los Requisitos del Software
 
Presentación: Sistema de Archivos Distribuido (DFS)
Presentación: Sistema de Archivos Distribuido (DFS)Presentación: Sistema de Archivos Distribuido (DFS)
Presentación: Sistema de Archivos Distribuido (DFS)
 
1 4 estandares
1 4 estandares1 4 estandares
1 4 estandares
 
Indroducción a REM 1.2.2
Indroducción a REM 1.2.2Indroducción a REM 1.2.2
Indroducción a REM 1.2.2
 
Arquitectura centralizada
Arquitectura centralizadaArquitectura centralizada
Arquitectura centralizada
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
 
Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Software
 
Del modelo del negocio al modelo de requisitos
Del modelo del negocio al modelo de requisitosDel modelo del negocio al modelo de requisitos
Del modelo del negocio al modelo de requisitos
 
Service web y ftp
Service web y ftpService web y ftp
Service web y ftp
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una cola
 
Estilos Arquitectonicos-Capas
Estilos Arquitectonicos-CapasEstilos Arquitectonicos-Capas
Estilos Arquitectonicos-Capas
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Investigacion servidores
Investigacion servidoresInvestigacion servidores
Investigacion servidores
 
Autolavado "Auto Wash”
Autolavado "Auto Wash”Autolavado "Auto Wash”
Autolavado "Auto Wash”
 
Proyecto: Monitorización de red con SNMP y MRTG
Proyecto: Monitorización de red con SNMP y MRTGProyecto: Monitorización de red con SNMP y MRTG
Proyecto: Monitorización de red con SNMP y MRTG
 
Control de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NETControl de Versiones - Uso de CVS en proyectos .NET
Control de Versiones - Uso de CVS en proyectos .NET
 
Patrones GRASP
Patrones GRASPPatrones GRASP
Patrones GRASP
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 

Ähnlich wie Microservicios net arquitectura para aplicaciones net contenerizadas - net conf

apidays LIVE Australia - From micro to macro-coordination through domain-cent...
apidays LIVE Australia - From micro to macro-coordination through domain-cent...apidays LIVE Australia - From micro to macro-coordination through domain-cent...
apidays LIVE Australia - From micro to macro-coordination through domain-cent...apidays
 
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ....NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...NETFest
 
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...Matias Quaranta
 
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022InfluxData
 
apidays LIVE Australia - Productising your Microservices as API Products by P...
apidays LIVE Australia - Productising your Microservices as API Products by P...apidays LIVE Australia - Productising your Microservices as API Products by P...
apidays LIVE Australia - Productising your Microservices as API Products by P...apidays
 
Productising your Microservices as API Products
Productising your Microservices  as API ProductsProductising your Microservices  as API Products
Productising your Microservices as API ProductsWSO2
 
ITCamp 2018 - Florin Loghiade - Containers in Azure - An Infrastructure persp...
ITCamp 2018 - Florin Loghiade - Containers in Azure - An Infrastructure persp...ITCamp 2018 - Florin Loghiade - Containers in Azure - An Infrastructure persp...
ITCamp 2018 - Florin Loghiade - Containers in Azure - An Infrastructure persp...ITCamp
 
Cloud Native API Management : Microservices to APIs in Kubernetes
Cloud Native API Management : Microservices to APIs in KubernetesCloud Native API Management : Microservices to APIs in Kubernetes
Cloud Native API Management : Microservices to APIs in KubernetesWSO2
 
AWS Startup Insights Kuala Lumpur
AWS Startup Insights Kuala LumpurAWS Startup Insights Kuala Lumpur
AWS Startup Insights Kuala LumpurAmazon Web Services
 
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCFMigrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCFRoy Braam
 
Microservices in .NET Core, Second Edition
Microservices in .NET Core, Second EditionMicroservices in .NET Core, Second Edition
Microservices in .NET Core, Second EditionManning Publications
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택uEngine Solutions
 
[apidays LIVE HONK KONG] - Building an Integrated Supply Chain for APIs
[apidays LIVE HONK KONG] - Building an Integrated Supply Chain for APIs [apidays LIVE HONK KONG] - Building an Integrated Supply Chain for APIs
[apidays LIVE HONK KONG] - Building an Integrated Supply Chain for APIs WSO2
 
Microservices with Kafka Ecosystem
Microservices with Kafka EcosystemMicroservices with Kafka Ecosystem
Microservices with Kafka EcosystemGuido Schmutz
 

Ähnlich wie Microservicios net arquitectura para aplicaciones net contenerizadas - net conf (20)

apidays LIVE Australia - From micro to macro-coordination through domain-cent...
apidays LIVE Australia - From micro to macro-coordination through domain-cent...apidays LIVE Australia - From micro to macro-coordination through domain-cent...
apidays LIVE Australia - From micro to macro-coordination through domain-cent...
 
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ....NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
 
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
Cooking serverless recipes with Azure Functions and Azure Cosmos DB - NET Con...
 
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
Gilmore, Palani [InfluxData] | Use Case: Crypto & Fintech | InfluxDays 2022
 
apidays LIVE Australia - Productising your Microservices as API Products by P...
apidays LIVE Australia - Productising your Microservices as API Products by P...apidays LIVE Australia - Productising your Microservices as API Products by P...
apidays LIVE Australia - Productising your Microservices as API Products by P...
 
Productising your Microservices as API Products
Productising your Microservices  as API ProductsProductising your Microservices  as API Products
Productising your Microservices as API Products
 
Anatomia deployk8s cir2019
Anatomia deployk8s cir2019Anatomia deployk8s cir2019
Anatomia deployk8s cir2019
 
ITCamp 2018 - Florin Loghiade - Containers in Azure - An Infrastructure persp...
ITCamp 2018 - Florin Loghiade - Containers in Azure - An Infrastructure persp...ITCamp 2018 - Florin Loghiade - Containers in Azure - An Infrastructure persp...
ITCamp 2018 - Florin Loghiade - Containers in Azure - An Infrastructure persp...
 
Cloud Native API Management : Microservices to APIs in Kubernetes
Cloud Native API Management : Microservices to APIs in KubernetesCloud Native API Management : Microservices to APIs in Kubernetes
Cloud Native API Management : Microservices to APIs in Kubernetes
 
AWS Startup Insights Kuala Lumpur
AWS Startup Insights Kuala LumpurAWS Startup Insights Kuala Lumpur
AWS Startup Insights Kuala Lumpur
 
AWS Startup Insights Singapore
AWS Startup Insights SingaporeAWS Startup Insights Singapore
AWS Startup Insights Singapore
 
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCFMigrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
 
Microservices in .NET Core, Second Edition
Microservices in .NET Core, Second EditionMicroservices in .NET Core, Second Edition
Microservices in .NET Core, Second Edition
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택
 
Aplicaciones distribuidas con Dapr
Aplicaciones distribuidas con DaprAplicaciones distribuidas con Dapr
Aplicaciones distribuidas con Dapr
 
Gab2015 samir arezki_api management
Gab2015 samir arezki_api managementGab2015 samir arezki_api management
Gab2015 samir arezki_api management
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
VISHNU
VISHNUVISHNU
VISHNU
 
[apidays LIVE HONK KONG] - Building an Integrated Supply Chain for APIs
[apidays LIVE HONK KONG] - Building an Integrated Supply Chain for APIs [apidays LIVE HONK KONG] - Building an Integrated Supply Chain for APIs
[apidays LIVE HONK KONG] - Building an Integrated Supply Chain for APIs
 
Microservices with Kafka Ecosystem
Microservices with Kafka EcosystemMicroservices with Kafka Ecosystem
Microservices with Kafka Ecosystem
 

Mehr von Germán Küber

Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en RustExplorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en RustGermán Küber
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Que son los smart contracts.pptx
Que son los smart contracts.pptxQue son los smart contracts.pptx
Que son los smart contracts.pptxGermán Küber
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesGermán Küber
 
Patrones de diseño en solidity
Patrones de diseño en solidityPatrones de diseño en solidity
Patrones de diseño en solidityGermán Küber
 
Vertical slice architecture
Vertical slice architectureVertical slice architecture
Vertical slice architectureGermán Küber
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesGermán Küber
 
Diamon pattern presentation
Diamon pattern presentationDiamon pattern presentation
Diamon pattern presentationGermán Küber
 
Programación Funcional C#
Programación Funcional C#Programación Funcional C#
Programación Funcional C#Germán Küber
 
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.Germán Küber
 
Un mundo sin if. generics al rescate
Un mundo sin if. generics al rescateUn mundo sin if. generics al rescate
Un mundo sin if. generics al rescateGermán Küber
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresGermán Küber
 

Mehr von Germán Küber (20)

Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en RustExplorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en Rust
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Mev Rapido.pptx
Mev Rapido.pptxMev Rapido.pptx
Mev Rapido.pptx
 
Que son los smart contracts.pptx
Que son los smart contracts.pptxQue son los smart contracts.pptx
Que son los smart contracts.pptx
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
 
Patrones funcionales
Patrones funcionalesPatrones funcionales
Patrones funcionales
 
Patrones de diseño en solidity
Patrones de diseño en solidityPatrones de diseño en solidity
Patrones de diseño en solidity
 
Vertical slice architecture
Vertical slice architectureVertical slice architecture
Vertical slice architecture
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
 
Diamon pattern presentation
Diamon pattern presentationDiamon pattern presentation
Diamon pattern presentation
 
Patrones funcionales
Patrones funcionalesPatrones funcionales
Patrones funcionales
 
Defensive code
Defensive codeDefensive code
Defensive code
 
Programación Funcional C#
Programación Funcional C#Programación Funcional C#
Programación Funcional C#
 
Unit testing consejos
Unit testing   consejosUnit testing   consejos
Unit testing consejos
 
Defensive code C#
Defensive code C#Defensive code C#
Defensive code C#
 
Event sourcing
Event sourcingEvent sourcing
Event sourcing
 
C sharp 8
C sharp 8C sharp 8
C sharp 8
 
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.
 
Un mundo sin if. generics al rescate
Un mundo sin if. generics al rescateUn mundo sin if. generics al rescate
Un mundo sin if. generics al rescate
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
 

Kürzlich hochgeladen

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Microservicios net arquitectura para aplicaciones net contenerizadas - net conf

  • 1. October 4th, 5th & 6th 2018.NET Conf AR v2018 Microservicios .NET: Arquitectura para Aplicaciones .NET Contenerizadas Germán Küber .Net Developer CloudX
  • 2. Aplicación de referencia eShopOnContainers - Arquitectura Ordering microservice Catalog microservice eShop WebApp MVC ASP.NET Core MVC Identity microservice (STS+users) eShop SPA Web app TypeScript/Angular 4 eShop mobile app Xamarin.Forms C# xPlat. OS: iOS Android Windows Docker Host eShop traditional Web app HTML SQL Server db Client apps Basket microservice Redis cache Marketing microservice MongoDB / CosmosDB SQL Server DB SQL Server db SQL Server db Location microservice MongoDB / CosmosDB Ordering.API GracePeriod worker Svc.
  • 3. October 4th, 5th & 6th 2018.NET Conf AR v2018 Arquitectura externa vs arquitectura interna y patrones de diseño Arquitectura Externa por Aplicación Arquitectura interna por Microservicio
  • 4. October 4th, 5th & 6th 2018.NET Conf AR v2018 Entorno de desarrollo para aplicaciones Docker
  • 5. October 4th, 5th & 6th 2018.NET Conf AR v2018 Agregar soporte Docker a nuestras Aplicaciones
  • 6. October 4th, 5th & 6th 2018.NET Conf AR v2018 Ejecutando y depurando una aplicación multi- contenedor con Visual Studio
  • 7. October 4th, 5th & 6th 2018.NET Conf AR v2018 Multi contenedor con docker-compose.yml
  • 8. October 4th, 5th & 6th 2018.NET Conf AR v2018 Creando un microservicio CRUD simple para datos
  • 9. October 4th, 5th & 6th 2018.NET Conf AR v2018 Contenedor de microservicio CRUD/orientado a datos
  • 10. October 4th, 5th & 6th 2018.NET Conf AR v2018 Implementando un microservicio CRUD simple con ASP.NET Core
  • 11. October 4th, 5th & 6th 2018.NET Conf AR v2018 Connection String desde Docker Compose
  • 12. October 4th, 5th & 6th 2018.NET Conf AR v2018 Comunicación entre microservicios
  • 13. October 4th, 5th & 6th 2018.NET Conf AR v2018 Eventos de integración
  • 14. October 4th, 5th & 6th 2018.NET Conf AR v2018 Interfaz de un BUS de eventos
  • 15. October 4th, 5th & 6th 2018.NET Conf AR v2018 Suscribiéndose a eventos
  • 16. October 4th, 5th & 6th 2018.NET Conf AR v2018 Publicando eventos a través del bus de eventos
  • 17.
  • 18. October 4th, 5th & 6th 2018.NET Conf AR v2018 Microservicio CQRS Microservicio de pedidos
  • 19. October 4th, 5th & 6th 2018.NET Conf AR v2018 Consultas en (CQRS)
  • 20. October 4th, 5th & 6th 2018.NET Conf AR v2018 CQRS
  • 22. Procesando un comando dentro de un microservicio
  • 23. CQRS con cola de mensajes externos
  • 24. October 4th, 5th & 6th 2018.NET Conf AR v2018 Capas en un microservicio DDD
  • 25. October 4th, 5th & 6th 2018.NET Conf AR v2018 Un modelo de dominio como un microservicio • Misma Identidad múltiples Bounded Contexts (Microservicios) • Entidades modeladas en cada Microservicio • La Entidad debe implementar comportamiento • Los métodos de la Entidad resguardan sus invariantes
  • 26. October 4th, 5th & 6th 2018.NET Conf AR v2018 Patrón Agregado
  • 27. October 4th, 5th & 6th 2018.NET Conf AR v2018 Patrón Agregado
  • 28. October 4th, 5th & 6th 2018.NET Conf AR v2018 Microservicio DDD implementado con .NET Core
  • 29. October 4th, 5th & 6th 2018.NET Conf AR v2018 Eventos de Dominio • Algo que ocurrió en el pasado • Mejora la separación de responsabilidades • Facilita la extensibilidad de nuestro dominio • Eventos que son manejados dentro del mismo Thread
  • 31. Disparar y enviar eventos
  • 33. October 4th, 5th & 6th 2018.NET Conf AR v2018 eShopContainers: Aplicación de microservicios de referencia
  • 34. October 4th, 5th & 6th 2018.NET Conf AR v2018 Gracias!!! http://germankuber.com.ar @GermanKuber German.Kuber@Outlook.com Germán Küber

Hinweis der Redaktion

  1. Arquitectura externa: compuesta por múltiples microservicios, a nivel de orquestadores, y arquitectura física. Arquitectura interna: Independiente de la arquitectura de alto nivel de microservicios que se elija. Pueden/deben utilizar diferentes patrones a lo largo de diferentes microservicios, dependiendo de las necesidades de ste. Pueden estar escritos en diferentes lenguaje o tecnologías Por EJ: CRUD DDD CQRS Arquitectura Basa en Eventos
  2. Desarrollar es igual que en cualquier otro entorno, solo que ahora se probara dentro de Docker (posiblemente será compilada dentro de Docker también) Definimo el fichero Docker de nuestro microservicio, donde configuraremos el entorno, tanto de desarrollo como producción Si la aplicación corre mas de una imagen, debemos descargar todas las imágenes necesarias de nuestro entorno. Puede descargarse haciendo uso del rigistry Modificamos el Docker-compose, donde agregamos nuetro servicio Ejecutamos Docker compose y levantamos todo el entorno de desarrollo o producción Ingresamos a la app para probarla. Subimos los cambios
  3. Desde el punto de vista del diseño, este tipo de microservicios contenerizados es muy simple. Tal vez el problema a resolver sea simple, o tal vez la implementación sea sólo una prueba de concepto. Microservicio Catalogo
  4. Microsoft.AspNetCore.All, se hace referencia a Entity Framework
  5. CQRS y los patrones DDD no son arquitecturas de alto nivel
  6. Usando Dapper como micro ORM para realizar las consultas