SlideShare a Scribd company logo
Build the distributed apps
of the future using Dapr
Geert van der Cruijsen
@geertvdc
Geert
van der Cruijsen
@geertvdc
Cloud Native Architect
Full Cycle Developer
DevOps Consultant
Some time ago this definition
was someone who was able to
do both backend and frontend
development
Full stack Developers 2010
Frontend
Backend
@geertvdc
Now we want teams to be
autonomous. Focussing on the
full product lifecycle, building
& running it!
Full stack Developers now Frontend
Backend
Pipelines
Containers
Monitoring
Cloud infra
Databases
Cost
Networks
Security @geertvdc
The goal of these autonomous
teams was enabling them to be
more productive, not having to
wait on others.
But we can’t be masters of all
these traits. Is there a middle
ground?
Conflict! Frontend
Backend
Pipelines
Containers
Monitoring
Cloud infra
Databases
Cost
Networks
Security @geertvdc
What the business wants
Scalable
Fast to Market
Resilient
to failure
Secure
Cheap
Easy to
Build & run
@geertvdc
Current state of development
Business features
All other stuff we
spend time on as
developers
@geertvdc
Why Dapr?
Business features
All other stuff we
spend time on as
developers
@geertvdc
An event-driven, portable runtime
for building microservices on cloud
and edge.
@geertvdc
Migrating existing
applications to a
microservice architecture
Making microservices
easier for every
language
or platform
Enable Microservices on
every infrastructure
and decoupling
dependencies
@geertvdc
Dapr building blocks
Runs on multiple environments for cloud, on-
prem, and small-edge including any KubernetesRuns everywhere
Make it easy for developers to create microservice
applications without being an expert in distributed
systems, including migrating existing code
Microservice Building Blocks
Developer first, standard APIs used from any
programming language or frameworkSidecar Architecture
@geertvdc
Sidecar
Architecture
@geertvdc
Sidecar Architecture
Service-to-
service
invocation
State
management
Publish
and
subscribe
Resource
bindings
and triggers
Actors Distributed
tracing
Extensible
HTTP API gRPC API
Application code
@geertvdc
Sidecar Architecture
Service-to-
service
invocation
State
management
Publish
and
subscribe
Resource
bindings
and triggers
Actors Distributed
tracing
Extensible
HTTP API gRPC API
Any code or
framework…
Functions
S e r v i c e s w r i t t e n i n
.NET Core
Application code
@geertvdc
Sidecar Architecture
HTTP / GRPC
http://localhost:3500/v1.0/state/order
http://localhost:3500/v1.0/invoke/servicea/method/createorder
Service A Dapr Sidecar
@geertvdc
Application
Sidecar Architecture – Self hosted
Service A Dapr Sidecar Service B
aaa
Dapr Sidecar
State stores
Publish and subscribe
@geertvdc
Kubernetes
Sidecar Architecture - Kubernetes
Placement
Sidecar
Injector
Operator
@geertvdc
Kubernetes
Sidecar Architecture - Kubernetes
Placement
Sidecar
Injector
Operator
Pod
Service A
Pod
Service B
@geertvdc
Kubernetes
Sidecar Architecture - Kubernetes
Placement
Sidecar
Injector
Operator
Pod
Service A Dapr Sidecar
Pod
Service B Dapr Sidecar
@geertvdc
apiVersion: apps/v1
kind: Deployment
metadata:
name: orderapi
labels:
app: orderapi
spec:
replicas: 1
selector:
matchLabels:
app: orderapi
template:
metadata:
labels:
app: orderapi
annotations:
dapr.io/enabled: "true"
dapr.io/id: "orderapi"
dapr.io/port: "80"
dapr.io/config: "tracing"
dapr.io/log-level: "debug"
spec:
containers:
- name: orderapi
image: xpiritbv/dapr-demo-orderapi:lates
env:
- name: DAPR_HTTP_PORT
value: "3500"
- name: DAPR_STATESTORE
value: "statestore"
ports:
- containerPort: 80
imagePullPolicy: Always
Kubernetes
Sidecar Architecture - Kubernetes
Placement
Sidecar
Injector
Operator
State stores
Publish and subscribe
Pod
Service A
Pod
Service B
@geertvdc
Dapr Sidecar Dapr Sidecar
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: statestore
spec:
type: state.redis
metadata:
- name: redisHost
value: redis-master:6379
- name: redisPassword
value: *****
Kubernetes
Sidecar Architecture - Kubernetes
Placement
Sidecar
Injector
Operator
State stores
Publish and subscribe
Pod
Service A Dapr Sidecar
Pod
Service B Dapr Sidecar
@geertvdc
Sidecar
Architecture
Runs
Everywhere
@geertvdc
Runs Everywhere
You don’t have to use this in a green field scenario.
Dapr enables you to pick and choose whatever
components you want to use.
Connect Legacy
Almost every programming language has support for
HTTP or GRPC. You do not need any SDK to work with
Dapr
HTTP / GRPC
There are SDKs in many languages to make the life
of developers even easier. C#, Javascript, Java, Rust,
Go, C++, Python
SDKs in multiple languages
@geertvdc
Sidecar
Architecture
Runs
Everywhere
Microservice
Building blocks
@geertvdc
Microservice building blocks
Distributed
tracing
See and measure
the message calls
across components
and networked
services
Actors
Encapsulate code
and data in
reusable actor
objects as a
common
microservices
design pattern
Resource
bindings
and triggers
Trigger code through
events from a large
array of inputs
Output bindings to
external resources
including databases
and queues
Publish
and
subscribe
Secure, scalable
messaging
between services
State
management
Create long
running, stateless
and stateful
services
Service-to-
service
invocation
Perform direct,
secure, service-
to-service
method calls
Service invocation
@geertvdc
Microservice building blocks
Service invocation
Service A Dapr Sidecar Service BDapr Sidecar
POST http://localhost:3500/v1.0/invoke/ServiceB/method/MethodA
POST http://localhost:80/MethodA
@geertvdc
Microservice building blocks
State management
Service A Dapr Sidecar
POST http://localhost:3500/v1.0/state/statestoreName
[{
"key": “order1",
"value": {
"Order": {...}
}
}]
State stores
GET http://localhost:3500/v1.0/state/statestoreName/order1
{
"Order": {...}
}
@geertvdc
Publish Message bus Subscribe
Microservice building blocks
Publish & subscribe
Service A Dapr Sidecar Service BDapr Sidecar
POST http://localhost:3500/v1.0/publish/topic
{
“OrderId”: 123,
“CustomerId”: 555,
...
}
POST http://localhost:80/v1.0/topic
{
“OrderId”: 123,
“CustomerId”: 555,
...
}
GET http://localhost:80/dapr/subscribe
{
“topic”
}
@geertvdc
Microservice building blocks
Distributed tracing
Service A Dapr Sidecar Service BDapr Sidecar
OpenCensus
@geertvdc
Microservice building blocks
Distributed tracing
Service A Dapr Sidecar Service BDapr Sidecar
…
@geertvdc
Microservice building blocks
Distributed tracing
@geertvdc
Microservice building blocks
Resource Bindings & Triggers
@geertvdc
Service ADapr Sidecar
Triggers
POST http://localhost:80/Trigger
{
“ItemId”: 555999332211345,
“Quantity”: 1,
...
}
Microservice building blocks
Resource Bindings & Triggers
@geertvdc
Dapr Sidecar
Triggers
Dapr Sidecar
Bindings
Service A
POST http://localhost:3500/v1.0/bindings/twilio
{
“Email”: “geert@vdcruijsen.net”,
“topic”: “sent from Dapr binding”,
...
}
Microservice building blocks
Actors
@geertvdc
Stateful microservices
Virtual actors
Distribution & failover
Turn based concurrency
Build on Service Fabric knowledge
Shoppingcart
1234
Shoppingcart
5678
Shoppingcart
4321
Shoppingcart
8765
AddItem
AddItem
AddItem
AddItem
Microservice building blocks
Actors
@geertvdc
Service A Dapr Sidecar
Placement
Service
Kubernetes Node 1
Kubernetes Node 2
Pod
Sidecar Cart 1
POST http://localhost:3500/v1.0/actors/CartActors/Cart1/method/AddItem
{
“ItemId”: 555999332211345,
“Quantity”: 1,
...
}
POST http://localhost:80/AddItem
{
“ItemId”: 555999332211345,
“Quantity”: 1,
...
}
Pod
Sidecar Cart 2
Microservice building blocks
Actors
@geertvdc
Service A Dapr Sidecar
Placement
Service
Kubernetes Node 1
Kubernetes Node 2
Pod
Sidecar Cart 1
Pod
Sidecar Cart 2
Demo
Order API
Building an order application
Loyalty
Service
ShippingCost
Service
Generate
Orders
Message bus
Shipping
Service
Shipping
Service
State Store
@geertvdc
https://github.com/xpiritbv/dapr-workshop/
Demo
Building an order application
@geertvdc
Wrap up
@geertvdc
Dapr will make your life easier as a distributed systems
engineer
Go give it a try. It’s free & open source.
Lot’s of samples, good docs & active community / developers
Let the community know what you like & dislike through Github
Thank you!
@geertvdc
Website
https://dapr.io
Github
https://github.com/dapr/dapr
Docs
https://github.com/dapr/docs
Samples
https://github.com/dapr/samples
https://github.com/dapr/dotnet-sdk
Demo
https://github.com/xpiritbv/dapr-workshop/

More Related Content

What's hot (20)

PDF
Declarative Clients in Spring
VMware Tanzu
 
PDF
Introduction to red hat agile integration (Red Hat Workshop)
Judy Breedlove
 
PDF
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
 
PDF
Handling inline assembly in Clang and LLVM
Min-Yih Hsu
 
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
Araf Karsh Hamid
 
PDF
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
日本マイクロソフト株式会社
 
PDF
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
 
PDF
MuleアプリケーションのCI/CD
MuleSoft Meetup Tokyo
 
PDF
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
 
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
 
PDF
Grafana Loki: like Prometheus, but for Logs
Marco Pracucci
 
PDF
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
ArangoDB Database
 
PDF
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Yahoo!デベロッパーネットワーク
 
PDF
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
Daniel Bryant
 
PPTX
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
 
PPTX
Final terraform
Gourav Varma
 
PDF
[Container Runtime Meetup] runc & User Namespaces
Akihiro Suda
 
PDF
P2P Container Image Distribution on IPFS With containerd and nerdctl
Kohei Tokunaga
 
PPTX
Microservices Architecture & Testing Strategies
Araf Karsh Hamid
 
PPTX
Azure Infrastructure as Code and Hashicorp Terraform
Alex Mags
 
Declarative Clients in Spring
VMware Tanzu
 
Introduction to red hat agile integration (Red Hat Workshop)
Judy Breedlove
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
 
Handling inline assembly in Clang and LLVM
Min-Yih Hsu
 
CI-CD Jenkins, GitHub Actions, Tekton
Araf Karsh Hamid
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
日本マイクロソフト株式会社
 
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
 
MuleアプリケーションのCI/CD
MuleSoft Meetup Tokyo
 
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
 
Grafana Loki: like Prometheus, but for Logs
Marco Pracucci
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
ArangoDB Database
 
Apache OpenWhiskで実現するプライベートFaaS環境 #tjdev
Yahoo!デベロッパーネットワーク
 
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
Daniel Bryant
 
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
 
Final terraform
Gourav Varma
 
[Container Runtime Meetup] runc & User Namespaces
Akihiro Suda
 
P2P Container Image Distribution on IPFS With containerd and nerdctl
Kohei Tokunaga
 
Microservices Architecture & Testing Strategies
Araf Karsh Hamid
 
Azure Infrastructure as Code and Hashicorp Terraform
Alex Mags
 

Similar to Techdays Helsinki - Creating the distributed apps of the future using dapr - Geert van der Cruijsen (20)

PPTX
Dapr logicapps
Andrea Tosato
 
PPTX
Dapr- Distributed Application Runtime
Moaid Hathot
 
PDF
Aplicaciones distribuidas con Dapr
César Jesús Angulo Gasco
 
PPTX
Moaid Hathot: Dapr the glue to your microservices - Architecture Next 20
CodeValue
 
PPTX
Distributed Application Runtime (Dapr) - Azure Israel 2020
Moaid Hathot
 
PPTX
Dapr: the glue to your microservices
Moaid Hathot
 
PDF
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller
 
PDF
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
Marc Müller
 
PPTX
Watts Water Dapr Community Call - Building Distributed Systems with Dapr
ssuserfb6acb
 
PDF
2021 JCConf 使用Dapr簡化Java微服務應用開發
Rich Lee
 
PPTX
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
PDF
Dapr - A 10x Developer Framework for Any Language
Bilgin Ibryam
 
PPTX
Dapr- Distrbuted Application Runtime. .Net Summit 2020_ Bangalore
Amresh Krishnamurthy
 
PDF
Understanding Microservices
M A Hossain Tonu
 
PDF
Dapr: Dinosaur or Developer Dream? (J-Fall)
Maarten Mulders
 
PPTX
Dapr example from MSFT Docs - Build and run distributed systems with ease
ssuserfb6acb
 
PPTX
Serverless everywhere
Aymeric Weinbach
 
PPTX
Portable Multi-cloud Microservices with Dapr .pptx
Nilesh Gule
 
PDF
Portable Multi-cloud Applications with Dapr.pdf
Nilesh Gule
 
Dapr logicapps
Andrea Tosato
 
Dapr- Distributed Application Runtime
Moaid Hathot
 
Aplicaciones distribuidas con Dapr
César Jesús Angulo Gasco
 
Moaid Hathot: Dapr the glue to your microservices - Architecture Next 20
CodeValue
 
Distributed Application Runtime (Dapr) - Azure Israel 2020
Moaid Hathot
 
Dapr: the glue to your microservices
Moaid Hathot
 
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller
 
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
Marc Müller
 
Watts Water Dapr Community Call - Building Distributed Systems with Dapr
ssuserfb6acb
 
2021 JCConf 使用Dapr簡化Java微服務應用開發
Rich Lee
 
DAPR - Distributed Application Runtime Presentation
Knoldus Inc.
 
Dapr - A 10x Developer Framework for Any Language
Bilgin Ibryam
 
Dapr- Distrbuted Application Runtime. .Net Summit 2020_ Bangalore
Amresh Krishnamurthy
 
Understanding Microservices
M A Hossain Tonu
 
Dapr: Dinosaur or Developer Dream? (J-Fall)
Maarten Mulders
 
Dapr example from MSFT Docs - Build and run distributed systems with ease
ssuserfb6acb
 
Serverless everywhere
Aymeric Weinbach
 
Portable Multi-cloud Microservices with Dapr .pptx
Nilesh Gule
 
Portable Multi-cloud Applications with Dapr.pdf
Nilesh Gule
 
Ad

More from Geert van der Cruijsen (20)

PDF
Chaos Engineering - Geert van der Cruijsen.pdf
Geert van der Cruijsen
 
PDF
Better Architecture without Architects.pdf
Geert van der Cruijsen
 
PDF
The art and joy of testing in production
Geert van der Cruijsen
 
PDF
Cloudbrew 2019 observability driven development
Geert van der Cruijsen
 
PDF
Cloudbrew 2019 - running serverless applications in azure in production
Geert van der Cruijsen
 
PDF
building resilient and production ready serverless solutions on azure
Geert van der Cruijsen
 
PDF
Observability driven development
Geert van der Cruijsen
 
PPTX
Chaos engineering - The art of breaking stuff in production on purpose
Geert van der Cruijsen
 
PPTX
There is a bot for that - building chat bots from idea to production
Geert van der Cruijsen
 
PPTX
Security as code - DevOpsDays Amsterdam 2018
Geert van der Cruijsen
 
PPTX
NoOps for noobs; why i think Devs do not need Ops
Geert van der Cruijsen
 
PPTX
Making AI easy with Azure Cognitive services
Geert van der Cruijsen
 
PDF
Visual Studio Mobile Center: A story about mobile DevOps
Geert van der Cruijsen
 
PDF
Techdays 2017: Give your Xamarin Apps eyes, ears and a brain with Cognitive S...
Geert van der Cruijsen
 
PPTX
Build 2017 recap (Mobile)
Geert van der Cruijsen
 
PDF
Continuous delivery of Sitecore on Azure using VSTS at a bank from 1737
Geert van der Cruijsen
 
PPTX
Behavior driven development for Mobile apps
Geert van der Cruijsen
 
PPTX
Techdays app 2016 - behind the scenes
Geert van der Cruijsen
 
PPTX
Xamarin Test Cloud - from zero to hero in automated ui testing
Geert van der Cruijsen
 
PPTX
Continuous deployments mobile apps
Geert van der Cruijsen
 
Chaos Engineering - Geert van der Cruijsen.pdf
Geert van der Cruijsen
 
Better Architecture without Architects.pdf
Geert van der Cruijsen
 
The art and joy of testing in production
Geert van der Cruijsen
 
Cloudbrew 2019 observability driven development
Geert van der Cruijsen
 
Cloudbrew 2019 - running serverless applications in azure in production
Geert van der Cruijsen
 
building resilient and production ready serverless solutions on azure
Geert van der Cruijsen
 
Observability driven development
Geert van der Cruijsen
 
Chaos engineering - The art of breaking stuff in production on purpose
Geert van der Cruijsen
 
There is a bot for that - building chat bots from idea to production
Geert van der Cruijsen
 
Security as code - DevOpsDays Amsterdam 2018
Geert van der Cruijsen
 
NoOps for noobs; why i think Devs do not need Ops
Geert van der Cruijsen
 
Making AI easy with Azure Cognitive services
Geert van der Cruijsen
 
Visual Studio Mobile Center: A story about mobile DevOps
Geert van der Cruijsen
 
Techdays 2017: Give your Xamarin Apps eyes, ears and a brain with Cognitive S...
Geert van der Cruijsen
 
Build 2017 recap (Mobile)
Geert van der Cruijsen
 
Continuous delivery of Sitecore on Azure using VSTS at a bank from 1737
Geert van der Cruijsen
 
Behavior driven development for Mobile apps
Geert van der Cruijsen
 
Techdays app 2016 - behind the scenes
Geert van der Cruijsen
 
Xamarin Test Cloud - from zero to hero in automated ui testing
Geert van der Cruijsen
 
Continuous deployments mobile apps
Geert van der Cruijsen
 
Ad

Recently uploaded (20)

PDF
Azure_DevOps introduction for CI/CD and Agile
henrymails
 
PDF
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
PPTX
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
PPTX
一比一原版(SUNY-Albany毕业证)纽约州立大学奥尔巴尼分校毕业证如何办理
Taqyea
 
PPTX
Presentation3gsgsgsgsdfgadgsfgfgsfgagsfgsfgzfdgsdgs.pptx
SUB03
 
PPT
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
PPTX
internet básico presentacion es una red global
70965857
 
PPTX
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
PDF
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
PPTX
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
DOCX
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
PPTX
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
PPTX
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
PDF
Apple_Environmental_Progress_Report_2025.pdf
yiukwong
 
PPTX
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
PPTX
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
PPTX
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
PDF
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
PPTX
英国假毕业证诺森比亚大学成绩单GPA修改UNN学生卡网上可查学历成绩单
Taqyea
 
Azure_DevOps introduction for CI/CD and Agile
henrymails
 
AI_MOD_1.pdf artificial intelligence notes
shreyarrce
 
西班牙武康大学毕业证书{UCAMOfferUCAM成绩单水印}原版制作
Taqyea
 
一比一原版(SUNY-Albany毕业证)纽约州立大学奥尔巴尼分校毕业证如何办理
Taqyea
 
Presentation3gsgsgsgsdfgadgsfgfgsfgagsfgsfgzfdgsdgs.pptx
SUB03
 
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
internet básico presentacion es una red global
70965857
 
sajflsajfljsdfljslfjslfsdfas;fdsfksadfjlsdflkjslgfs;lfjlsajfl;sajfasfd.pptx
theknightme
 
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
Apple_Environmental_Progress_Report_2025.pdf
yiukwong
 
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
𝐁𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓
hokimamad0
 
英国假毕业证诺森比亚大学成绩单GPA修改UNN学生卡网上可查学历成绩单
Taqyea
 

Techdays Helsinki - Creating the distributed apps of the future using dapr - Geert van der Cruijsen