SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Azure Boards.pptx
Azure Boards.pptxAzure Boards.pptx
Azure Boards.pptxNitin Sethi
 
All about Firewalls ,IPS IDS and the era of UTM in a nutshell
All  about Firewalls ,IPS IDS and the era of UTM in a nutshellAll  about Firewalls ,IPS IDS and the era of UTM in a nutshell
All about Firewalls ,IPS IDS and the era of UTM in a nutshellHishan Shouketh
 
Resilient microservices
Resilient microservicesResilient microservices
Resilient microservicesMaxim Shelest
 
Tomcat and apache httpd training
Tomcat and apache httpd trainingTomcat and apache httpd training
Tomcat and apache httpd trainingFranck SIMON
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Hitesh-Java
 
Red Hat OpenShift on Bare Metal and Containerized Storage
Red Hat OpenShift on Bare Metal and Containerized StorageRed Hat OpenShift on Bare Metal and Containerized Storage
Red Hat OpenShift on Bare Metal and Containerized StorageGreg Hoelzer
 
VMware Vsphere Graduation Project Presentation
VMware Vsphere Graduation Project PresentationVMware Vsphere Graduation Project Presentation
VMware Vsphere Graduation Project PresentationRabbah Adel Ammar
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with KubernetesDeivid Hahn Fração
 
The aggregate is dead! Long live the aggregate! - SpringIO.pdf
The aggregate is dead! Long live the aggregate! - SpringIO.pdfThe aggregate is dead! Long live the aggregate! - SpringIO.pdf
The aggregate is dead! Long live the aggregate! - SpringIO.pdfSara Pellegrini
 
Modern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and ThymeleafModern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and ThymeleafLAY Leangsros
 
Devops & Configuration management tools
Devops & Configuration management toolsDevops & Configuration management tools
Devops & Configuration management toolsSonu Meena
 
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...Adrian Cockcroft
 
VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4Vepsun Technologies
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration StrategiesJesus Rodriguez
 

Mais procurados (20)

Azure Boards.pptx
Azure Boards.pptxAzure Boards.pptx
Azure Boards.pptx
 
VMware vSphere
VMware vSphereVMware vSphere
VMware vSphere
 
All about Firewalls ,IPS IDS and the era of UTM in a nutshell
All  about Firewalls ,IPS IDS and the era of UTM in a nutshellAll  about Firewalls ,IPS IDS and the era of UTM in a nutshell
All about Firewalls ,IPS IDS and the era of UTM in a nutshell
 
Resilient microservices
Resilient microservicesResilient microservices
Resilient microservices
 
Tomcat and apache httpd training
Tomcat and apache httpd trainingTomcat and apache httpd training
Tomcat and apache httpd training
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
 
Red Hat OpenShift on Bare Metal and Containerized Storage
Red Hat OpenShift on Bare Metal and Containerized StorageRed Hat OpenShift on Bare Metal and Containerized Storage
Red Hat OpenShift on Bare Metal and Containerized Storage
 
VMware Vsphere Graduation Project Presentation
VMware Vsphere Graduation Project PresentationVMware Vsphere Graduation Project Presentation
VMware Vsphere Graduation Project Presentation
 
Scaling Microservices with Kubernetes
Scaling Microservices with KubernetesScaling Microservices with Kubernetes
Scaling Microservices with Kubernetes
 
The aggregate is dead! Long live the aggregate! - SpringIO.pdf
The aggregate is dead! Long live the aggregate! - SpringIO.pdfThe aggregate is dead! Long live the aggregate! - SpringIO.pdf
The aggregate is dead! Long live the aggregate! - SpringIO.pdf
 
Modern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and ThymeleafModern Java web applications with Spring Boot and Thymeleaf
Modern Java web applications with Spring Boot and Thymeleaf
 
Devops & Configuration management tools
Devops & Configuration management toolsDevops & Configuration management tools
Devops & Configuration management tools
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
 
1. flutter introduccion v2
1.  flutter introduccion v21.  flutter introduccion v2
1. flutter introduccion v2
 
Effective terraform
Effective terraformEffective terraform
Effective terraform
 
VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4VMware Advance Troubleshooting Workshop - Day 4
VMware Advance Troubleshooting Workshop - Day 4
 
Modern Enterprise integration Strategies
Modern Enterprise integration StrategiesModern Enterprise integration Strategies
Modern Enterprise integration Strategies
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
 
Selenium
SeleniumSelenium
Selenium
 

Semelhante a Microservicios net arquitectura para aplicaciones net contenerizadas - net conf

apidays LIVE Australia 2020 - From micro to macro-coordination through domain...
apidays LIVE Australia 2020 - From micro to macro-coordination through domain...apidays LIVE Australia 2020 - From micro to macro-coordination through domain...
apidays LIVE Australia 2020 - From micro to macro-coordination through domain...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 2020 - Productising your Microservices as API Products...
apidays LIVE Australia 2020 - Productising your Microservices as API Products...apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays LIVE Australia 2020 - Productising your Microservices as API Products...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
 

Semelhante a Microservicios net arquitectura para aplicaciones net contenerizadas - net conf (20)

apidays LIVE Australia 2020 - From micro to macro-coordination through domain...
apidays LIVE Australia 2020 - From micro to macro-coordination through domain...apidays LIVE Australia 2020 - From micro to macro-coordination through domain...
apidays LIVE Australia 2020 - From micro to macro-coordination through domain...
 
.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 2020 - Productising your Microservices as API Products...
apidays LIVE Australia 2020 - Productising your Microservices as API Products...apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
 
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
 

Mais de 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
 

Mais de 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
 

Último

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

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

Notas do Editor

  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