SlideShare una empresa de Scribd logo
1 de 119
Descargar para leer sin conexión
Onsi Fakhouri
DIEGOElasticRuntime 2.0
TECHNICAL
What?
Why?
Show me…
The future
DIEGOElasticRuntime 2.0
DIEGOElasticRuntime 2.0
What?
Why?
Show me…
The future
Cloud
Controller
What is being rewritten?
Stage App
Run n App Instances
(and keep them running)
http://…
Push App
> cf
Route to App
DEA Pool (Droplet Execution Agent)
What is being rewritten?
http://…
Push App
> cf Cloud
Controller
Router
(API)
What is being rewritten?
http://…
Push App
> cf Cloud
Controller
Router
DEA Pool (Droplet Execution Agent)
(API)
What is being rewritten?
http://…
Push App
> cf Cloud
Controller
Router
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps(API)
What is being rewritten?
http://…
Push App
> cf Cloud
Controller
Router
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
(API)
What is being rewritten?
http://…
Push App
> cf Cloud
Controller
Router
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
Health
Manager
(API)
What is being rewritten?
Push App
http://…
> cf Cloud
Controller
Router
Health
Manager
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
NATS
(message bus)
(API)
What is being rewritten?
Push App
http://…
> cf Cloud
Controller
Router
Health
Manager
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
NATS
(message bus)
(API)
What?
Why?
Show me…
The future
DIEGOElasticRuntime 2.0
Why rewrite?
Push App
http://…
> cf Cloud
Controller
Router
Health
Manager
NATS
(message bus)
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
Why rewrite?
Hard to add new features
Hard to maintain existing features
Why?
Why rewrite?
Cloud
Controller
Router
Health
Manager
NATS
(message bus)
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
Why rewrite?
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
Why rewrite?
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
Cloud
Controller
> cf scale
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
“Make it so”
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
start/stop
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
start
start
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
start
start
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
start
start
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
start
fails
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
start
fails
Why rewrite?
Cloud
Controller
Tight Coupling
Poor separation
of concerns
Or
ch
es
tr
at
ion
> cf scale
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
start
fails
Too much responsiblity
Why rewrite?
Tight Coupling
Poor separation
of concerns
Cloud
Controller
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
Triangular
Dependencies
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
DEA
Warden
Cloud
Controller
DEA
Warden
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
DEA
Warden
Cloud
Controller
DEA
Warden
When it’s time to
upgrade the DEAs
When it’s time to
upgrade the DEAs
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
DEA
Warden
Cloud
Controller
DEA
Warden
When it’s time to
upgrade the DEAs
we perform a rolling deploy
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
Cloud
Controller
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
DEA
Warden
DEA
Warden
Cloud
Controller
“bye!”
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
“bye!”
DEA
Warden
DEA
Warden
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
all clear!
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
all clear!
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
all clear!
Problematic
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
all clear!
Problematic
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
all clear!
Problematic
??
??
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
all clear!
Problematic
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
all clear!
Problematic
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
start!
all clear!
Problematic
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
all clear!
Problematic
start!
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
all clear!
Problematic
start!
Why rewrite?
Tight Coupling
Poor separation
of concerns
Triangular
Dependencies
Health
Manager
DEA
Warden
DEA
Warden
Cloud
Controller
start!
“bye!”
DEA
Warden
DEA
Warden
all clear!
Problematic
start!
Why rewrite?
Tight Coupling Poor separation
of concerns
Triangular
Dependencies
Or
ch
es
tr
at
ion
Why rewrite?
Tight Coupling Poor separation
of concerns
Triangular
Dependencies
Or
ch
es
tr
at
ion
complex interactions
Why rewrite?
Tight Coupling Poor separation
of concerns
Triangular
Dependencies
Or
ch
es
tr
at
ion
hard to test
complex interactions
Why rewrite?
Tight Coupling Poor separation
of concerns
hard to test
hard to reason through
complex interactions
Triangular
Dependencies
Or
ch
es
tr
at
ion
Why rewrite?
Domain Specific
(app, app, app, app)
Why rewrite?
Domain Specific
(app, app, app, app)
Push App
http://…
> cf Cloud
Controller
Router
Health
Manager
NATS
(message bus)
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
App
Push App
http://…
> cf Cloud
Controller
Router
Health
Manager
NATS
(message bus)
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
App
Why rewrite?
Domain Specific
(app, app, app, app)
App App
Apps
Apps
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
Why rewrite?
Domain Specific
(app, app, app, app)
Hard to extend to new domains
(e.g. cron-like jobs)
Push App
http://…
> cf Cloud
Controller
Router
Health
Manager
NATS
(message bus)
DEA Pool (Droplet Execution Agent)
DEA
Staging Apps
Running Apps
Warden
Containerization
App
App App
Apps
Apps
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
App
Why rewrite?
Platform Specific
DEA
Staging Apps
Running Apps
Warden
Containerization
Why rewrite?
Platform Specific
DEA
Staging Apps
Running Apps
Warden
Containerization
Why rewrite?
Platform Specific
DEA
Staging Apps
Running Apps
Warden
Containerization
Why rewrite?
Platform Specific
DEA
Staging Apps
Running Apps
Warden
Containerization
DEA
Staging Apps
Running Apps
Warden
Containerization
DEA
Staging Apps
Running Apps
Warden
Containerization
Why rewrite?
Platform Specific
DEA
Staging Apps
Running Apps
Warden
Containerization
DEA
Staging Apps
Running Apps
Warden
Containerization
Why rewrite?
Platform Specific
hard to maintain
DEA
Staging Apps
Running Apps
Warden
Containerization
Why rewrite?
Long-lived processes
Tons of concurrency
Low-level os interactions
Why rewrite?
Platform Specific
Domain Specific
(app, app, app, app)
Tight Coupling Poor separation
of concerns
Or
ch
es
tr
at
ion
Triangular
Dependencies
Hard
to add new features
to maintain existing features
What?
Why?
Show me…
The future
DIEGOElasticRuntime 2.0
Show me Diego
Strong concurrency support
Written in Golang
Strongly typed
Explicit error handling
Promotes developer discipline
Strong low-level OS support
Show me Diego
Domain Specific
(app, app, app, app)
One-off Tasks
(guaranteed to only run once)
Long Running Processes
(n monitored instances)
The Right(?)
Abstraction
Cloud
Controller
Show me Diego
The Right(?) Abstraction
Cloud
Controller
Show me Diego
The Right(?) Abstraction
Executor Pool
Run
Tasks
Launch
Long Running
Processes
Cloud
Controller
Executor Pool
Show me Diego
The Right(?) Abstraction
Run
Tasks
Launch
Long Running
Processes
Stager
Stage App Run Task
Cloud
Controller
Executor Pool
Show me Diego
The Right(?) Abstraction
Run
Tasks
Launch
Long Running
Processes
App-Manager
Run App Launch LRP
Stager
Stage App Run Task
Cloud
Controller
Executor Pool
Show me Diego
The Right(?) Abstraction
App-Manager
Run App Launch LRP
Run
Tasks
Launch
Long Running
Processes
Stager
Stage App Run Task
Express specific domain
Cloud
Controller
Executor Pool
Show me Diego
The Right(?) Abstraction
App-Manager
Launch LRP
Run
Tasks
Launch
Long Running
Processes
Stager
Run Task
Express specific domain
In terms of generic recipes
Run App
Stage App
Cloud
Controller
Executor Pool
Show me Diego
The Right(?) Abstraction
App-Manager
Stager
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Launch LRP
Run Task
Run App
Stage App
Cloud
Controller
Executor Pool
Show me Diego
The Right(?) Abstraction
App-Manager
Stager
Express specific domain
In terms of generic recipes
Exec
Recipes
Exec
Run
Tasks
Launch
LRPs
Rep
Launch LRP
Run Task
Run App
Stage App
Cloud
Controller
Executor Pool
Show me Diego
The Right(?) Abstraction
App-Manager
Stager
Express specific domain
In terms of generic recipes
Exec
Recipes
Exec Garden
Manage
Containers
Run
Tasks
Launch
LRPs
Rep
Launch LRP
Run Task
Run App
Stage App
Cloud
Controller
Executor Pool
Show me Diego
The Right(?) Abstraction
App-Manager
Stager
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Exec
Recipes
Exec Garden
Manage
Containers
Linux
Backend
Run
Containers
Launch LRP
Run Task
Run App
Stage App
Cloud
Controller
Executor Pool
Show me Diego
App-Manager
Stager
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Exec
Recipes
Exec Garden
Manage
Containers
Linux
Backend
Run
Containers
GenericSpecific
Launch LRP
Run Task
Run App
Stage App
Cloud
Controller
Executor Pool
Show me Diego
App-Manager
Stager
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Exec
Recipes
Exec Garden
Manage
Containers
Linux
Backend
Run
Containers
GenericSpecific
Launch LRP
Run Task
Run App
Stage App
New features go here!
(e.g. cron-like tasks)
Cloud
Controller
Executor Pool
Show me Diego
App-Manager
Stager
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Exec
Recipes
Exec Garden
Manage
Containers
Linux
Backend
Run
Containers
GenericSpecific
Flexibility
Launch LRP
Run Task
Run App
Stage App
New features go here!
(e.g. cron-like tasks)
Show me Diego
Platform Specific
Show me Diego
Platform Independent ✓
Cloud
Controller
Executor Pool
App-Manager
Run App Launch LRP
Stager
Stage App Run Task
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Exec
Recipes
Exec Garden
Manage
Containers
Linux
Backend
Run
Containers
Cloud
Controller
Executor Pool
App-Manager
Run App Launch LRP
Stager
Stage App Run Task
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Exec
Recipes
Exec Garden
Manage
Containers
Linux
Backend
Run
Containers
Show me Diego
Platform Independent ✓
✓ ✓
✓
✓ ✓ ✓
Cloud
Controller
Executor Pool
App-Manager
Run App Launch LRP
Stager
Stage App Run Task
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Exec
Recipes
Exec Garden
Manage
Containers
Linux
Backend
Run
Containers
Show me Diego
✓ ✓
✓
✓ ✓ ✓
Platform Independent ✓
Show me Diego
Linux
Backend
Run
Containers
Win
Backend
Run
Containers
Just 2 Things:
Platform Independent ✓
Show me Diego
Linux
Backend
Run
Containers
Win
Backend
Run
Containers
Just 2 Things:
Platform Independent ✓
Tight Coupling Poor separation
of concerns
Or
ch
es
tr
at
ion
Triangular
Dependencies
Show me Diego
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Or
ch
es
tr
at
ion
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Start!
Start!
Stop!
Or
ch
es
tr
at
ion
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3
Or
ch
es
tr
at
ion
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3
Hold auctions…
Or
ch
es
tr
at
ion
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3
Hold auctions…
… to distribute LRPs
Or
ch
es
tr
at
ion
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3
Hold auctions…
… to distribute LRPs
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3
Hold auctions…
… to distribute LRPs
Triangular
Dependencies
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3
Triangular
Dependencies
self
managing
monitoring
healing
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3
self
managing
monitoring
healing
Triangular
Dependencies
Health
Manager
Cloud
Controller
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3
self
managing
monitoring
healing
eventually consistent
Triangular
Dependencies
Show me Diego
Cloud
Controller
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Want 3 self
managing
monitoring
healing
eventually consistent
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
self
managing
monitoring
healing
eventually consistent
robust
Cloud
Controller
Want 3
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
but…
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
distributed auction
is complex
emergent behavior
Show me Diego
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
distributed auction
is complex
emergent behavior
Simulation-Driven Development
Show me Diego
complex interactions
hard to test
hard to reason through
Show me Diego
simulation driven
complex interactions
hard to test
hard to reason through
complex interactions
hard to test
hard to reason through
Show me Diego
simulation driven
Cloud
Controller
Executor Pool
App-Manager
Run App Launch LRP
Stager
Stage App Run Task
Express specific domain
In terms of generic recipes
Run
Tasks
Launch
LRPs
Rep
Exec
Recipes
Exec Garden
Manage
Containers
Linux
Backend
Run
Containers
Show me Diego
executor
rep
stager
14 small single-responsibility
components!
app-manager
auctioneer
converger
etcd-metrics-server
etcd
file-server
garden
linux-circus
metricz
route-emitter
tps
simulation driven
complex interactions
hard to test
hard to reason through
Show me Diego
executor
rep
stager app-manager
auctioneer
converger
etcd-metrics-server
etcd
file-server
garden
linux-circus
metricz
route-emitter
tps
✓
✓
✓
✓ ✓
✓
✓ ✓
✓
✓✓
✓
✓
✓
unit-tested✓
simulation driven
complex interactions
hard to test
hard to reason through
Show me Diego
executor
rep
stager app-manager
auctioneer
converger
etcd-metrics-server
etcd
file-server
garden
linux-circus
metricz
route-emitter
tps
✓
✓
✓
✓ ✓
✓
✓ ✓
✓
✓✓
✓
✓
✓
?unit-tested✓
simulation driven
complex interactions
hard to test
hard to reason through
Show me Diego
rep✓
garden ✓
linux-circus✓
auctioneer✓ metricz✓
route-emitter✓
stager✓ app-manager✓
executor✓
file-server ✓
tps✓
etcd✓
converger ✓
etcd-metrics-server✓
unit-tested✓
simulation driven
Actors
complex interactions
hard to test
hard to reason through
Show me Diego
unit-tested✓
simulation driven
Diego is a play
Actors
rep✓
garden ✓
linux-circus✓
auctioneer✓ metricz✓
route-emitter✓
stager✓ app-manager✓
executor✓
file-server ✓
tps✓
etcd✓
converger ✓
etcd-metrics-server✓
complex interactions
hard to test
hard to reason through
Show me Diego
rep✓
garden ✓
linux-circus✓
auctioneer✓
metricz✓
route-emitter✓
stager✓
app-manager✓
executor✓
file-server ✓
tps✓
etcd✓
converger ✓
etcd-metrics-server✓
communication and role
encoded via
shared library
script
shared narrative
unit-tested✓
simulation driven
Diego is a play
Actors
complex interactions
hard to test
hard to reason through
Show me Diego
executor
rep
stager
app-manager
auctioneer
converger
etcd-metrics-server
etcd
file-server
garden
linux-circus
metricz
route-emitter
tps
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
communication and role
encoded via
shared library
script
✓integration tests ✓
Diego is a play
Actors
shared narrative
unit-tested✓
simulation driven
complex interactions
hard to test
hard to reason through
Show me Diego
complexity in a distributed system
of this scope is
real and necessary
Diego embraces this and tries
to make its complexity:
explicit
transparent
∴ easier to reason about
integration tests ✓
shared narrative
unit-tested✓
simulation driven
complex interactions
hard to test
hard to reason through
Show me Diego
flexible abstraction
extensible
robust
agile
Tasks/LRPs
Platform-Independent
SELFManaging
Handle on Complexity
What?
Why?
Show me…
The future
DIEGOElasticRuntime 2.0
The future
staging
running
+ buildpacks
placement pools
.NET
process types
auto-rebalancing
0-downtime deploys
dockerfiles
custom health-checks
shell access
persistent disk
DIEGOElasticRuntime 2.0
Rep
Exec
Rep
Exec
Rep
Exec
Rep
Exec
Diego: Re-envisioning the Elastic Runtime (Cloud Foundry Summit 2014)

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Successful Patterns for running platforms
Successful Patterns for running platformsSuccessful Patterns for running platforms
Successful Patterns for running platforms
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
Devops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational RolesDevops: Enabled Through a Recasting of Operational Roles
Devops: Enabled Through a Recasting of Operational Roles
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry Bootcamp
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
As a Service: Cloud Foundry on OpenStack - Lessons Learnt
As a Service: Cloud Foundry on OpenStack - Lessons LearntAs a Service: Cloud Foundry on OpenStack - Lessons Learnt
As a Service: Cloud Foundry on OpenStack - Lessons Learnt
 
Openshift YARN - strata 2014
Openshift YARN - strata 2014Openshift YARN - strata 2014
Openshift YARN - strata 2014
 
Cloud Foundry Anniversary: Technical Slides
Cloud Foundry Anniversary: Technical Slides Cloud Foundry Anniversary: Technical Slides
Cloud Foundry Anniversary: Technical Slides
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
 
Monoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring BootMonoliths to Microservices with Jave EE and Spring Boot
Monoliths to Microservices with Jave EE and Spring Boot
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
Openshift Container Platform on Azure
Openshift Container Platform on AzureOpenshift Container Platform on Azure
Openshift Container Platform on Azure
 
컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker
 
Episode 2: Deploying Kubernetes at Scale
Episode 2: Deploying Kubernetes at ScaleEpisode 2: Deploying Kubernetes at Scale
Episode 2: Deploying Kubernetes at Scale
 
Java EE Modernization with Mesosphere DCOS
Java EE Modernization with Mesosphere DCOSJava EE Modernization with Mesosphere DCOS
Java EE Modernization with Mesosphere DCOS
 
Modern Application Development v1-0
Modern Application Development  v1-0Modern Application Development  v1-0
Modern Application Development v1-0
 

Destacado

100 blue mix days technical training
100 blue mix days technical training100 blue mix days technical training
100 blue mix days technical training
Ajit Yohannan
 
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
Romeo Kienzler
 

Destacado (10)

Spring one pivotal
Spring one pivotalSpring one pivotal
Spring one pivotal
 
Cloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation PlatformCloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation Platform
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptx
 
Cloud Foundry - #IBMOTS 2016
Cloud Foundry - #IBMOTS 2016Cloud Foundry - #IBMOTS 2016
Cloud Foundry - #IBMOTS 2016
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
 
100 blue mix days technical training
100 blue mix days technical training100 blue mix days technical training
100 blue mix days technical training
 
Pivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewPivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical Overview
 
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
IBM Codename: Bluemix - Cloudfoundry, PaaS development and deployment trainin...
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 

Similar a Diego: Re-envisioning the Elastic Runtime (Cloud Foundry Summit 2014)

Similar a Diego: Re-envisioning the Elastic Runtime (Cloud Foundry Summit 2014) (20)

Cloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant SoftwareCloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant Software
 
Cloud Native Architectures for Devops
Cloud Native Architectures for DevopsCloud Native Architectures for Devops
Cloud Native Architectures for Devops
 
Four levels of HA in Cloud Foundry
Four levels of HA in Cloud FoundryFour levels of HA in Cloud Foundry
Four levels of HA in Cloud Foundry
 
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
Four Levels of High Availability in Cloud Foundry (Cloud Foundry Summit 2014)
 
Cloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant SoftwareCloud Native: Designing Change-tolerant Software
Cloud Native: Designing Change-tolerant Software
 
Implementing dr w. hyper v clustering
Implementing dr w. hyper v clusteringImplementing dr w. hyper v clustering
Implementing dr w. hyper v clustering
 
Sadeem cloud native السحابة الطبيعية
Sadeem cloud native السحابة الطبيعيةSadeem cloud native السحابة الطبيعية
Sadeem cloud native السحابة الطبيعية
 
Application Release Utilizing MCollective
Application Release  Utilizing MCollectiveApplication Release  Utilizing MCollective
Application Release Utilizing MCollective
 
Prerequisites for evolutionary architecture
Prerequisites for evolutionary architecturePrerequisites for evolutionary architecture
Prerequisites for evolutionary architecture
 
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, DockerUnder the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
 
Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE Incident Management in the Age of DevOps and SRE
Incident Management in the Age of DevOps and SRE
 
Taking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWSTaking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWS
 
Digital foundations - Fixing slow delivery of existing applications
Digital foundations - Fixing slow delivery of existing applicationsDigital foundations - Fixing slow delivery of existing applications
Digital foundations - Fixing slow delivery of existing applications
 
A Day in the Life of a Cloud Network Engineer at Netflix - NET303 - re:Invent...
A Day in the Life of a Cloud Network Engineer at Netflix - NET303 - re:Invent...A Day in the Life of a Cloud Network Engineer at Netflix - NET303 - re:Invent...
A Day in the Life of a Cloud Network Engineer at Netflix - NET303 - re:Invent...
 
Weavy CocoaHeads
Weavy CocoaHeadsWeavy CocoaHeads
Weavy CocoaHeads
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
 
The Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To KnowThe Ember.js Framework - Everything You Need To Know
The Ember.js Framework - Everything You Need To Know
 
Abusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAbusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and Profit
 
The Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - EuropeThe Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
 

Más de VMware Tanzu

Más de VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
+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...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Diego: Re-envisioning the Elastic Runtime (Cloud Foundry Summit 2014)