Distributed
Application
Runtime
Portable event-driven runtime
Building event driven, stateless and stateful
applications
Building blocks for cloud and edge
Standard APIs for portability and extensibility
Sidecar architecture and supported
infrastructures
Developer language SDKs and frameworks
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
Sidecar Architecture
Standalone Kubernetes
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
Demo
Slide 10
Slide 10 text
“frontend”
“cart”
Post
http://localhost:3500/v1.0/invoke/cart/method/checkout
{
"user":"johndoe",
"cart":"0001"
}
Post
http://10.0.0.2:8000/checkout
{
"user":"johndoe",
"cart":"0001"
}
Service invocation
Microservice building blocks
Slide 11
Slide 11 text
App
“myApp”
{
"name": "Tatooine"
}
Get
http://localhost:3500/v1.0/state//planet
Post
http://localhost:3500/v1.0/state/
[{
"key": "weapon",
"value": "DeathStar"
}, {
"key": "planet",
"value": {
"name": "Tatooine"
}
}]
key value
myApp-
weapon
"DeathStar"
myApp-planet {
"name":
"Tatooine"
}
State management: key/value
Microservice building blocks
State store of your choice
CosmosDB
AWS
DynamoDB
…others
Slide 12
Slide 12 text
Subscribe
Publish
Post
http://localhost:3500/v1.0/publish/
"topic":"order",
"data":{
"user":"johndoe",
"item":"ZeroDay"
},
“cart”
Publish and subscribe
Microservice 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
Slide 13
Slide 13 text
App
Get / Post
http://localhost:8000/trigger
{
"user":"johndoe"
}
Redis
SQS
Event Hubs
Kafka
Redis
Kafka
SQS
Event Hubs
Resource triggers: Input
Microservice building blocks