SlideShare a Scribd company logo
#GlobalAzureLatam #GlobalAzure
#GlobalAzureLatam #GlobalAzure
#GlobalAzureLatam #GlobalAzure
Debug.WriteLine("Software Developer")
#GlobalAzureLatam #GlobalAzure
Aplicaciones distribuidas
con Dapr y Azure
Jesus Angulo
Microsoft MVP
@jesulink2514
jesus@somostechies.com
La necesidad de soportar muchos
puntos de integración
diferentes(cache, message
queues, 3rd party APIs, secret
stores)
Muchos puntos diferentes para
soportar el tracing, la
configuración y la administración
de secretos
¿Que es lo difícil acerca
de los microservicios?
Esto da como resultado el
acoplamiento en el código.
Acoplado a un servicio específico
y a un SDK
https://dapr.io
HTTP API gRPC API
Service-
to-service
invocation
State
management
Publish
and
subscribe
Resource
bindings
and triggers
Actors Observability Secrets Extensible
Microservice building blocks
The sidecar
pattern
State stores
Publish & subscribe
Bindings
Scanning
for events
Messaging
Load and
save state
Input/output
Sidecars and
components
Dapr API
Dapr API
Service
code B
Service
code A
Application
Sidecar Sidecar
Secure communication with mTLS
Tracing, logs
and metrics
Tracing, logs
and metrics
Observability
Prometheus AppInsightts Jaeger
Capturing, querying
traces, logs and metrics
Standard APIs accessed over http/gRPC protocols from user
service code
http://localhost:3500/v1.0/invoke/cart/method/neworder
http://localhost:3500/v1.0/state/inventory/item67
Runs as local “side car library” dynamically loaded at
runtime for each service
HTTP API gRPC API
Microservice building blocks
Service-
to-service
invocation
State
management
Publish
and
subscribe
Resource
bindings
and triggers
Actors Observability Secrets Extensible
Application code
Microservices written in
Any code or framework…
71 Dapr Components
18 State stores
Redis Streams
Apache Kafka
AWS SNS/SQS
Azure Events Hub
Azure Service Bus
GCP Pub/Sub
Hazelcast
MQTT
NATS streaming
Pulsar
RabbitMQ
Aerospike
Cassandra
Cloudstate
Couchbase
etcd
Hashicorp Consul
Hazelcast
Memcached
MongoDB
PostgreSQL
RethinkDB
Redis
Zookeeper
Azure CosmosDB
Azure SQL Server
Azure Table Storage
Azure Blob Storage
Google Cloud Firestore
Azure Key Vault secret store
Azure Key Vault with Kubernetes MI
AWS Secrets Manager
GCP Secret Manager
HashiCorp Vault
Kubernetes Secrets
Local environment variables (for Development)
Local file (for Development)
APNs
Cron (Scheduler)
HTTP
InfluxDB
Kafka
Kubernetes Events
MQTT
PostgreSql
RabbitMQ
Redis
Twilio
Twitter
SendGrid
AWS DynamoDB
AWS S3
AWS SNS
AWS SQS
AWS Kinesis
GCP Cloud Pub/Sub
GCP Storage Bucket
Azure Blob Storage
Azure EventHubs
Azure CosmosDB
Azure Service Bus Queues
Azure SignalR
Azure Storage Queues
Azure Event Grid
OAuth2
Open Policy Agent (OPA)
Rate limit
Bearer
Kubernetes
Multicast DNS
Blob Storage
State Store building block
pythonapp
nodeapp
Post
http://localhost:3500/v1.0/invoke/orders/method/order
{
“orderid":“123",
“data":“item1"
}
Post
http://10.0.0.2:8000/order
{
“orderid":“123",
“data":“item1"
}
multicast DNS
component
Service invocation
Dapr building blocks
Kubernetes (K8S)
Kubernetes is an open-source
container-orchestration
system for automating
computer application
deployment, scaling, and
management
Azure Kubernetes Service o AKS
• Actualizaciones y parches
automáticos
• Alta disponibilidad
• Escalación de clúster fácil
y segura
• Autorrecuperación
• Supervisión de API
Server
APIServer
Administradorde
controlador
Programador
Tienda
etcd
Controladorde
nube
Nodo(s)maestro(s)auto-administrado(s)
Workernodes
Definiciónde
aplicación/carg
adetrabajo
Usuario
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Docker
Pods
Programarpodsportúnel
privado
Puntode
conexióndeAPI
deKubernetes
AzureManagedControlPlane
Pod
C O N T A I N E R
Python code
C O N T A I N E R
Dapr
Runtime
Dapr API
HTTP or gRPC
Send updates on
state binding
changes (gRPC)
Injects Dapr sidecar container
Pod
C O N T A I N E R
Node code
C O N T A I N E R
Dapr
Runtime
Dapr API
HTTP or gRPC
Python generated items
State
stores
State management
Deploys
and
manages
Dapr
Pod
C O N T A I N E R
Dapr
Operator
Sidecar-injector
Pod
C O N T A I N E R
Dapr
Operator
How Dapr is run
Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
labels:
app: my-app
spec:
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
annotations:
dapr.io/enabled: "true"
dapr.io/app-id: "my-appr"
dapr.io/app-protocol: ”http"
dapr.io/app-port: ”8080”
…
Standalone (self-hosted)
dapr run --app-id my-app 
--app-protocol grpc 
--app-port 50105 
--components-path ./config 
go run main.go
dapr run --app-id my-app 
--app-protocol http 
--app-port 3000 
--components-path ./config 
dotnet run
dapr run --app-id my-app 
--app-protocol http 
--app-port 5678 
--components-path ./config 
./my-exe
Tracing
Dapr building blocks
Subscribe
Publish
Post
http://localhost:3500/v1.0/publish/
"topic":"order",
"data":{
"user":"johndoe",
"item":"ZeroDay"
},
“cart”
Publish and subscribe
Dapr building blocks
“shipping”
Post
http://10.0.0.5:8005/order
"data":{
"user":"johndoe",
"item":"ZeroDay"
}
“email”
Post
http://10.0.0.4:8004/order
Secrets
Dapr building blocks
eShop on Dapr
Showcasing our Dapr building blocks
Jesús Angulo
Microsoft MVP
jesus@somostechies.com
@jesulink2514
Gracias ¿Preguntas?
https://dapr.io
https://github.com/jesulink2514/dapr-samples

More Related Content

What's hot

Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtime
Moaid Hathot
 
Vault 1.5 Overview
Vault 1.5 OverviewVault 1.5 Overview
Vault 1.5 Overview
Mitchell Pronschinske
 
5 lessons learned for Successful Migration to Confluent Cloud
5 lessons learned for  Successful Migration to Confluent Cloud5 lessons learned for  Successful Migration to Confluent Cloud
5 lessons learned for Successful Migration to Confluent Cloud
Natan Silnitsky
 
Advanced AWS Security Workshop
Advanced AWS Security WorkshopAdvanced AWS Security Workshop
Advanced AWS Security Workshop
Amazon Web Services
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
MSDEVMTL
 
Tracking and Monitoring APIs at Scale
Tracking and Monitoring APIs at ScaleTracking and Monitoring APIs at Scale
Tracking and Monitoring APIs at Scale
Cosmin Stanciu
 
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Amazon Web Services
 
Rackspace: Best Practices for Security Compliance on AWS
Rackspace: Best Practices for Security Compliance on AWSRackspace: Best Practices for Security Compliance on AWS
Rackspace: Best Practices for Security Compliance on AWS
Amazon Web Services
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
Amazon Web Services
 
Cloud for Kubernetes : Session3
Cloud for Kubernetes : Session3Cloud for Kubernetes : Session3
Cloud for Kubernetes : Session3
WhaTap Labs
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
Opsta
 
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
Amazon Web Services
 
Building Serverless Event-Driven Apps with Azure Event Grid (2017-09-21)
Building Serverless Event-Driven Apps with Azure Event Grid (2017-09-21)Building Serverless Event-Driven Apps with Azure Event Grid (2017-09-21)
Building Serverless Event-Driven Apps with Azure Event Grid (2017-09-21)
Paco de la Cruz
 
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
Jinwoong Kim
 
(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS
Amazon Web Services
 
Azure Event Grid Lighting Talk (2017-10-05)
Azure Event Grid Lighting Talk (2017-10-05)Azure Event Grid Lighting Talk (2017-10-05)
Azure Event Grid Lighting Talk (2017-10-05)
Paco de la Cruz
 
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
Amazon Web Services
 
KEDA Overview
KEDA OverviewKEDA Overview
KEDA Overview
Jeff Hollan
 
AWS APAC Webinar Week - Securing Your Business on AWS
AWS APAC Webinar Week - Securing Your Business on AWSAWS APAC Webinar Week - Securing Your Business on AWS
AWS APAC Webinar Week - Securing Your Business on AWS
Amazon Web Services
 
Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.
Nills Franssens
 

What's hot (20)

Dapr: distributed application runtime
Dapr: distributed application runtimeDapr: distributed application runtime
Dapr: distributed application runtime
 
Vault 1.5 Overview
Vault 1.5 OverviewVault 1.5 Overview
Vault 1.5 Overview
 
5 lessons learned for Successful Migration to Confluent Cloud
5 lessons learned for  Successful Migration to Confluent Cloud5 lessons learned for  Successful Migration to Confluent Cloud
5 lessons learned for Successful Migration to Confluent Cloud
 
Advanced AWS Security Workshop
Advanced AWS Security WorkshopAdvanced AWS Security Workshop
Advanced AWS Security Workshop
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
 
Tracking and Monitoring APIs at Scale
Tracking and Monitoring APIs at ScaleTracking and Monitoring APIs at Scale
Tracking and Monitoring APIs at Scale
 
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
Track 5 Session 1_如何藉由多層次防禦搭建網路應用安全
 
Rackspace: Best Practices for Security Compliance on AWS
Rackspace: Best Practices for Security Compliance on AWSRackspace: Best Practices for Security Compliance on AWS
Rackspace: Best Practices for Security Compliance on AWS
 
Getting Started with AWS IoT
Getting Started with AWS IoTGetting Started with AWS IoT
Getting Started with AWS IoT
 
Cloud for Kubernetes : Session3
Cloud for Kubernetes : Session3Cloud for Kubernetes : Session3
Cloud for Kubernetes : Session3
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
(SEC315) NEW LAUNCH: Get Deep Visibility into Resource Configurations | AWS r...
 
Building Serverless Event-Driven Apps with Azure Event Grid (2017-09-21)
Building Serverless Event-Driven Apps with Azure Event Grid (2017-09-21)Building Serverless Event-Driven Apps with Azure Event Grid (2017-09-21)
Building Serverless Event-Driven Apps with Azure Event Grid (2017-09-21)
 
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
 
(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS(SEC301) Strategies for Protecting Data Using Encryption in AWS
(SEC301) Strategies for Protecting Data Using Encryption in AWS
 
Azure Event Grid Lighting Talk (2017-10-05)
Azure Event Grid Lighting Talk (2017-10-05)Azure Event Grid Lighting Talk (2017-10-05)
Azure Event Grid Lighting Talk (2017-10-05)
 
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
AWS re:Invent 2016: Moving Mountains: Netflix's Migration into VPC (NET304)
 
KEDA Overview
KEDA OverviewKEDA Overview
KEDA Overview
 
AWS APAC Webinar Week - Securing Your Business on AWS
AWS APAC Webinar Week - Securing Your Business on AWSAWS APAC Webinar Week - Securing Your Business on AWS
AWS APAC Webinar Week - Securing Your Business on AWS
 
Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.
 

Similar to Aplicaciones distribuidas con Dapr

Enabling Microservices Frameworks to Solve Business Problems
Enabling Microservices Frameworks to Solve  Business ProblemsEnabling Microservices Frameworks to Solve  Business Problems
Enabling Microservices Frameworks to Solve Business Problems
Ken Owens
 
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
Amazon Web Services
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
Shubhra Kar
 
Seminario de Cloud Computing na UFRRJ
Seminario de Cloud Computing na UFRRJSeminario de Cloud Computing na UFRRJ
Seminario de Cloud Computing na UFRRJ
Alex Barbosa Coqueiro
 
Application portability with kubernetes
Application portability with kubernetesApplication portability with kubernetes
Application portability with kubernetes
Oleg Chunikhin
 
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
Amazon Web Services
 
Microservices, Continuous Delivery, and Elasticsearch at Capital One
Microservices, Continuous Delivery, and Elasticsearch at Capital OneMicroservices, Continuous Delivery, and Elasticsearch at Capital One
Microservices, Continuous Delivery, and Elasticsearch at Capital One
Noriaki Tatsumi
 
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
Amazon Web Services Korea
 
MongoDB .local Chicago 2019: MongoDB Atlas Jumpstart
MongoDB .local Chicago 2019: MongoDB Atlas JumpstartMongoDB .local Chicago 2019: MongoDB Atlas Jumpstart
MongoDB .local Chicago 2019: MongoDB Atlas Jumpstart
MongoDB
 
Getting started with containers on Azure
Getting started with containers on AzureGetting started with containers on Azure
Getting started with containers on Azure
Microsoft Tech Community
 
Solved: Your Most Dreaded Test Environment Management Challenges
Solved: Your Most Dreaded Test Environment Management ChallengesSolved: Your Most Dreaded Test Environment Management Challenges
Solved: Your Most Dreaded Test Environment Management Challenges
DevOps.com
 
App Modernization with Microsoft Azure
App Modernization with Microsoft AzureApp Modernization with Microsoft Azure
App Modernization with Microsoft Azure
Microsoft Tech Community
 
Return on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataReturn on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & Data
MSDEVMTL
 
AWS IoT Deep Dive
AWS IoT Deep DiveAWS IoT Deep Dive
AWS IoT Deep Dive
Kristana Kane
 
Kaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain ServicesKaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain Services
Peter Broadhurst
 
AWS Security Best Practices and Design Patterns
AWS Security Best Practices and Design PatternsAWS Security Best Practices and Design Patterns
AWS Security Best Practices and Design Patterns
Amazon Web Services
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon Web Services Korea
 
Keynote sp summit 2014 final
Keynote sp summit 2014  finalKeynote sp summit 2014  final
Keynote sp summit 2014 final
Amazon Web Services LATAM
 
Aws Architecture Fundamentals | Dallas
Aws Architecture Fundamentals | DallasAws Architecture Fundamentals | Dallas
Aws Architecture Fundamentals | Dallas
Nicole Maus
 
Connect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft AzureConnect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft Azure
K.Mohamed Faizal
 

Similar to Aplicaciones distribuidas con Dapr (20)

Enabling Microservices Frameworks to Solve Business Problems
Enabling Microservices Frameworks to Solve  Business ProblemsEnabling Microservices Frameworks to Solve  Business Problems
Enabling Microservices Frameworks to Solve Business Problems
 
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Seminario de Cloud Computing na UFRRJ
Seminario de Cloud Computing na UFRRJSeminario de Cloud Computing na UFRRJ
Seminario de Cloud Computing na UFRRJ
 
Application portability with kubernetes
Application portability with kubernetesApplication portability with kubernetes
Application portability with kubernetes
 
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
 
Microservices, Continuous Delivery, and Elasticsearch at Capital One
Microservices, Continuous Delivery, and Elasticsearch at Capital OneMicroservices, Continuous Delivery, and Elasticsearch at Capital One
Microservices, Continuous Delivery, and Elasticsearch at Capital One
 
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
20141021 AWS Cloud Taekwon - Startup Best Practices on AWS
 
MongoDB .local Chicago 2019: MongoDB Atlas Jumpstart
MongoDB .local Chicago 2019: MongoDB Atlas JumpstartMongoDB .local Chicago 2019: MongoDB Atlas Jumpstart
MongoDB .local Chicago 2019: MongoDB Atlas Jumpstart
 
Getting started with containers on Azure
Getting started with containers on AzureGetting started with containers on Azure
Getting started with containers on Azure
 
Solved: Your Most Dreaded Test Environment Management Challenges
Solved: Your Most Dreaded Test Environment Management ChallengesSolved: Your Most Dreaded Test Environment Management Challenges
Solved: Your Most Dreaded Test Environment Management Challenges
 
App Modernization with Microsoft Azure
App Modernization with Microsoft AzureApp Modernization with Microsoft Azure
App Modernization with Microsoft Azure
 
Return on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & DataReturn on Ignite 2019: Azure, .NET, A.I. & Data
Return on Ignite 2019: Azure, .NET, A.I. & Data
 
AWS IoT Deep Dive
AWS IoT Deep DiveAWS IoT Deep Dive
AWS IoT Deep Dive
 
Kaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain ServicesKaleido Platform Overview and Full-stack Blockchain Services
Kaleido Platform Overview and Full-stack Blockchain Services
 
AWS Security Best Practices and Design Patterns
AWS Security Best Practices and Design PatternsAWS Security Best Practices and Design Patterns
AWS Security Best Practices and Design Patterns
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
Keynote sp summit 2014 final
Keynote sp summit 2014  finalKeynote sp summit 2014  final
Keynote sp summit 2014 final
 
Aws Architecture Fundamentals | Dallas
Aws Architecture Fundamentals | DallasAws Architecture Fundamentals | Dallas
Aws Architecture Fundamentals | Dallas
 
Connect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft AzureConnect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft Azure
 

More from César Jesús Angulo Gasco

.NET MAUI + Azure AD B2C
.NET MAUI + Azure AD B2C.NET MAUI + Azure AD B2C
.NET MAUI + Azure AD B2C
César Jesús Angulo Gasco
 
.Net core y microservicios
.Net core y microservicios.Net core y microservicios
.Net core y microservicios
César Jesús Angulo Gasco
 
Escalando tu cluster de Kubernetes con AKS
Escalando tu cluster de Kubernetes con AKSEscalando tu cluster de Kubernetes con AKS
Escalando tu cluster de Kubernetes con AKS
César Jesús Angulo Gasco
 
Integrando Azure AD B2C con Xamarin.Forms
Integrando Azure AD B2C con Xamarin.FormsIntegrando Azure AD B2C con Xamarin.Forms
Integrando Azure AD B2C con Xamarin.Forms
César Jesús Angulo Gasco
 
Xamarin.Forms 4.0 Preview
Xamarin.Forms 4.0 PreviewXamarin.Forms 4.0 Preview
Xamarin.Forms 4.0 Preview
César Jesús Angulo Gasco
 
Novedades en Xamarin.forms.3.0
Novedades en Xamarin.forms.3.0Novedades en Xamarin.forms.3.0
Novedades en Xamarin.forms.3.0
César Jesús Angulo Gasco
 
Vuelve tu aplicación de Xamarin.Forms súper rápida
Vuelve tu aplicación de Xamarin.Forms súper rápidaVuelve tu aplicación de Xamarin.Forms súper rápida
Vuelve tu aplicación de Xamarin.Forms súper rápida
César Jesús Angulo Gasco
 
Aplicaciones inteligentes con servicios cognitivos
Aplicaciones inteligentes con servicios cognitivosAplicaciones inteligentes con servicios cognitivos
Aplicaciones inteligentes con servicios cognitivos
César Jesús Angulo Gasco
 
Notificaciones push con Xamarin.Forms y Azure Functions
Notificaciones push con Xamarin.Forms y Azure FunctionsNotificaciones push con Xamarin.Forms y Azure Functions
Notificaciones push con Xamarin.Forms y Azure Functions
César Jesús Angulo Gasco
 
Explorando los controles de Xamarin.Forms
Explorando los controles de Xamarin.FormsExplorando los controles de Xamarin.Forms
Explorando los controles de Xamarin.Forms
César Jesús Angulo Gasco
 
Azure DocumentDB - GlobalAzureBootcamp
Azure DocumentDB - GlobalAzureBootcampAzure DocumentDB - GlobalAzureBootcamp
Azure DocumentDB - GlobalAzureBootcamp
César Jesús Angulo Gasco
 
01- Introduccion a Knockout - #knockout series
01- Introduccion a Knockout - #knockout series01- Introduccion a Knockout - #knockout series
01- Introduccion a Knockout - #knockout series
César Jesús Angulo Gasco
 
Machine learning
Machine learningMachine learning
Machine learning
César Jesús Angulo Gasco
 
Capitulo 11-12
Capitulo 11-12Capitulo 11-12
Capitulo 09-10
Capitulo 09-10Capitulo 09-10
[Curso MVC] ViewModels y Validacion
[Curso MVC] ViewModels y Validacion[Curso MVC] ViewModels y Validacion
[Curso MVC] ViewModels y Validacion
César Jesús Angulo Gasco
 

More from César Jesús Angulo Gasco (16)

.NET MAUI + Azure AD B2C
.NET MAUI + Azure AD B2C.NET MAUI + Azure AD B2C
.NET MAUI + Azure AD B2C
 
.Net core y microservicios
.Net core y microservicios.Net core y microservicios
.Net core y microservicios
 
Escalando tu cluster de Kubernetes con AKS
Escalando tu cluster de Kubernetes con AKSEscalando tu cluster de Kubernetes con AKS
Escalando tu cluster de Kubernetes con AKS
 
Integrando Azure AD B2C con Xamarin.Forms
Integrando Azure AD B2C con Xamarin.FormsIntegrando Azure AD B2C con Xamarin.Forms
Integrando Azure AD B2C con Xamarin.Forms
 
Xamarin.Forms 4.0 Preview
Xamarin.Forms 4.0 PreviewXamarin.Forms 4.0 Preview
Xamarin.Forms 4.0 Preview
 
Novedades en Xamarin.forms.3.0
Novedades en Xamarin.forms.3.0Novedades en Xamarin.forms.3.0
Novedades en Xamarin.forms.3.0
 
Vuelve tu aplicación de Xamarin.Forms súper rápida
Vuelve tu aplicación de Xamarin.Forms súper rápidaVuelve tu aplicación de Xamarin.Forms súper rápida
Vuelve tu aplicación de Xamarin.Forms súper rápida
 
Aplicaciones inteligentes con servicios cognitivos
Aplicaciones inteligentes con servicios cognitivosAplicaciones inteligentes con servicios cognitivos
Aplicaciones inteligentes con servicios cognitivos
 
Notificaciones push con Xamarin.Forms y Azure Functions
Notificaciones push con Xamarin.Forms y Azure FunctionsNotificaciones push con Xamarin.Forms y Azure Functions
Notificaciones push con Xamarin.Forms y Azure Functions
 
Explorando los controles de Xamarin.Forms
Explorando los controles de Xamarin.FormsExplorando los controles de Xamarin.Forms
Explorando los controles de Xamarin.Forms
 
Azure DocumentDB - GlobalAzureBootcamp
Azure DocumentDB - GlobalAzureBootcampAzure DocumentDB - GlobalAzureBootcamp
Azure DocumentDB - GlobalAzureBootcamp
 
01- Introduccion a Knockout - #knockout series
01- Introduccion a Knockout - #knockout series01- Introduccion a Knockout - #knockout series
01- Introduccion a Knockout - #knockout series
 
Machine learning
Machine learningMachine learning
Machine learning
 
Capitulo 11-12
Capitulo 11-12Capitulo 11-12
Capitulo 11-12
 
Capitulo 09-10
Capitulo 09-10Capitulo 09-10
Capitulo 09-10
 
[Curso MVC] ViewModels y Validacion
[Curso MVC] ViewModels y Validacion[Curso MVC] ViewModels y Validacion
[Curso MVC] ViewModels y Validacion
 

Recently uploaded

5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 

Recently uploaded (20)

5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 

Aplicaciones distribuidas con Dapr

  • 4. #GlobalAzureLatam #GlobalAzure Aplicaciones distribuidas con Dapr y Azure Jesus Angulo Microsoft MVP @jesulink2514 jesus@somostechies.com
  • 5. La necesidad de soportar muchos puntos de integración diferentes(cache, message queues, 3rd party APIs, secret stores) Muchos puntos diferentes para soportar el tracing, la configuración y la administración de secretos ¿Que es lo difícil acerca de los microservicios? Esto da como resultado el acoplamiento en el código. Acoplado a un servicio específico y a un SDK
  • 7. HTTP API gRPC API Service- to-service invocation State management Publish and subscribe Resource bindings and triggers Actors Observability Secrets Extensible Microservice building blocks
  • 9. State stores Publish & subscribe Bindings Scanning for events Messaging Load and save state Input/output Sidecars and components Dapr API Dapr API Service code B Service code A Application Sidecar Sidecar Secure communication with mTLS Tracing, logs and metrics Tracing, logs and metrics Observability Prometheus AppInsightts Jaeger Capturing, querying traces, logs and metrics
  • 10. Standard APIs accessed over http/gRPC protocols from user service code http://localhost:3500/v1.0/invoke/cart/method/neworder http://localhost:3500/v1.0/state/inventory/item67 Runs as local “side car library” dynamically loaded at runtime for each service HTTP API gRPC API Microservice building blocks Service- to-service invocation State management Publish and subscribe Resource bindings and triggers Actors Observability Secrets Extensible Application code Microservices written in Any code or framework…
  • 11. 71 Dapr Components 18 State stores Redis Streams Apache Kafka AWS SNS/SQS Azure Events Hub Azure Service Bus GCP Pub/Sub Hazelcast MQTT NATS streaming Pulsar RabbitMQ Aerospike Cassandra Cloudstate Couchbase etcd Hashicorp Consul Hazelcast Memcached MongoDB PostgreSQL RethinkDB Redis Zookeeper Azure CosmosDB Azure SQL Server Azure Table Storage Azure Blob Storage Google Cloud Firestore Azure Key Vault secret store Azure Key Vault with Kubernetes MI AWS Secrets Manager GCP Secret Manager HashiCorp Vault Kubernetes Secrets Local environment variables (for Development) Local file (for Development) APNs Cron (Scheduler) HTTP InfluxDB Kafka Kubernetes Events MQTT PostgreSql RabbitMQ Redis Twilio Twitter SendGrid AWS DynamoDB AWS S3 AWS SNS AWS SQS AWS Kinesis GCP Cloud Pub/Sub GCP Storage Bucket Azure Blob Storage Azure EventHubs Azure CosmosDB Azure Service Bus Queues Azure SignalR Azure Storage Queues Azure Event Grid OAuth2 Open Policy Agent (OPA) Rate limit Bearer Kubernetes Multicast DNS Blob Storage
  • 14. Kubernetes (K8S) Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management
  • 15. Azure Kubernetes Service o AKS • Actualizaciones y parches automáticos • Alta disponibilidad • Escalación de clúster fácil y segura • Autorrecuperación • Supervisión de API Server APIServer Administradorde controlador Programador Tienda etcd Controladorde nube Nodo(s)maestro(s)auto-administrado(s) Workernodes Definiciónde aplicación/carg adetrabajo Usuario Docker Pods Docker Pods Docker Pods Docker Pods Docker Pods Programarpodsportúnel privado Puntode conexióndeAPI deKubernetes AzureManagedControlPlane
  • 16. Pod C O N T A I N E R Python code C O N T A I N E R Dapr Runtime Dapr API HTTP or gRPC Send updates on state binding changes (gRPC) Injects Dapr sidecar container Pod C O N T A I N E R Node code C O N T A I N E R Dapr Runtime Dapr API HTTP or gRPC Python generated items State stores State management Deploys and manages Dapr Pod C O N T A I N E R Dapr Operator Sidecar-injector Pod C O N T A I N E R Dapr Operator
  • 17. How Dapr is run Kubernetes apiVersion: apps/v1 kind: Deployment metadata: name: my-app labels: app: my-app spec: selector: matchLabels: app: my-app template: metadata: labels: app: my-app annotations: dapr.io/enabled: "true" dapr.io/app-id: "my-appr" dapr.io/app-protocol: ”http" dapr.io/app-port: ”8080” … Standalone (self-hosted) dapr run --app-id my-app --app-protocol grpc --app-port 50105 --components-path ./config go run main.go dapr run --app-id my-app --app-protocol http --app-port 3000 --components-path ./config dotnet run dapr run --app-id my-app --app-protocol http --app-port 5678 --components-path ./config ./my-exe
  • 19. Subscribe Publish Post http://localhost:3500/v1.0/publish/ "topic":"order", "data":{ "user":"johndoe", "item":"ZeroDay" }, “cart” Publish and subscribe Dapr building blocks “shipping” Post http://10.0.0.5:8005/order "data":{ "user":"johndoe", "item":"ZeroDay" } “email” Post http://10.0.0.4:8004/order
  • 21.
  • 22. eShop on Dapr Showcasing our Dapr building blocks
  • 23. Jesús Angulo Microsoft MVP jesus@somostechies.com @jesulink2514 Gracias ¿Preguntas? https://dapr.io https://github.com/jesulink2514/dapr-samples