![Page 1: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/1.jpg)
Derek Collison
Inside The Machine
Thursday, October 27, 11
![Page 2: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/2.jpg)
What isCloud Foundry?
2
Thursday, October 27, 11
![Page 3: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/3.jpg)
The OpenPlatform as a Service
3
Thursday, October 27, 11
![Page 4: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/4.jpg)
What is PaaS?
4
Thursday, October 27, 11
![Page 5: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/5.jpg)
Or more specifically, aPaaS?
5
Thursday, October 27, 11
![Page 6: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/6.jpg)
aPaaS
• Application Platform as a Service
• Applications and Services
6
Thursday, October 27, 11
![Page 7: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/7.jpg)
aPaaS
• Application Platform as a Service
• Applications and Services
• Not • VMs
• Memory
• Storage
• Networks
• CPU
7
Thursday, October 27, 11
![Page 8: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/8.jpg)
What isOpenPaaS?
8
Thursday, October 27, 11
![Page 9: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/9.jpg)
OpenPaaS
• Multi-Language
• Multi-Framework
• Multi-Services
• Multi-Cloud, Multi-IaaS
• Hybrid - Public or Private or Both
• OpenSource
9
Thursday, October 27, 11
![Page 10: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/10.jpg)
OpenPaaS
• Multi-Language• Ruby, Java, Scala, Node.js, Erlang, Python, PHP..
• Multi-Framework• Rails, Sinatra, Spring, Grails, Express, Lift
• Multi-Services• MySQL, Postgres, MongoDB, Redis, RabbitMQ
• Multi-Cloud, Multi-IaaS• vSphere, MicroCloud, OpenStack, AWS
10
Thursday, October 27, 11
![Page 11: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/11.jpg)
The Open PaaS
Clou
d Pr
ovide
r Int
erfa
ce
Application Service Interface
Private Clouds
PublicClouds
MicroClouds
11
Data Services
Other Services
Msg Services
Thursday, October 27, 11
![Page 12: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/12.jpg)
The Open PaaS
Clou
d Pr
ovide
r Int
erfa
ce
Application Service Interface
Private Clouds
PublicClouds
MicroClouds
11
Data Services
Other Services
Msg Services
vFabric Postgres
vFabric RabbitMQTM
Thursday, October 27, 11
![Page 13: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/13.jpg)
What isour Goal?
12
Thursday, October 27, 11
![Page 14: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/14.jpg)
What was our Goal?
13
Raise the unit of currency to be the application and its associated services,
not the infrastructure
Thursday, October 27, 11
![Page 15: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/15.jpg)
What was our Goal?
14
Best of breed delivery platform for all modern
applications and frameworks
Thursday, October 27, 11
![Page 16: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/16.jpg)
What was our Goal?
15
Favor Choice
and
Openness
Thursday, October 27, 11
![Page 17: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/17.jpg)
How was it Built?
16
Thursday, October 27, 11
![Page 18: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/18.jpg)
How was it Built?
• Kernel (CloudFoundry OSS)• Core PaaS System
• Kernel and Orchestrator Shells• Layered on top of IaaS
• Orchestrator• IaaS creation, management and
orchestration
17
Thursday, October 27, 11
![Page 19: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/19.jpg)
High Level
18
IaaS
Orchestrator
CF Kernel
Hardware - CPU/Memory/Disk/Network
Clients (VMC, STS, Browser)
Thursday, October 27, 11
![Page 20: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/20.jpg)
Basic Premises
• Fail Fast
• Self Healing
• Horizontally Scalable Components
• Distributed State
• No Single Point of Failure
• Should be as simple as possible
19
Thursday, October 27, 11
![Page 21: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/21.jpg)
Basic Patterns
• Event-Driven
• Asynchronous
• Non-blocking
• Independent, Idempotent
• Message Passing
• Eventually Consistent
20
Thursday, October 27, 11
![Page 22: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/22.jpg)
Basic Design
• All components loosely coupled• Few “Classes”, many “Instances”
• Messaging as foundation• Addressing and Component Discovery
• Command and Control
• JSON payloads
• HTTP or File/Blob for data transport
21
Thursday, October 27, 11
![Page 23: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/23.jpg)
Kernel Components
• All dynamically discoverable
• Launch and scale in any order
• Can come and go as needed
• Monitor via HTTP and JSON
• Location independent
22
Thursday, October 27, 11
![Page 24: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/24.jpg)
Kernel Components
• Router
• CloudController
• DEA
• HealthManager
• Service Provisioning Agent
• Messaging System
23
Thursday, October 27, 11
![Page 25: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/25.jpg)
Logical View
24
VMC client STS plugin Browser(user app access)
Routers
CloudControllers App
Services
App
HealthManager
DEA Pool
Messaging
Thursday, October 27, 11
![Page 26: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/26.jpg)
25
Arc
hit
ec
ture
Thursday, October 27, 11
![Page 27: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/27.jpg)
Messaging
26
Thursday, October 27, 11
![Page 28: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/28.jpg)
Messaging
27
“The Nervous System”
Thursday, October 27, 11
![Page 29: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/29.jpg)
Messaging
28
VMC client STS plugin Browser(user app access)
Routers
CloudControllers App
Services
App
HealthManager
DEA Pool
Messaging
Thursday, October 27, 11
![Page 30: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/30.jpg)
Messaging
• Addressing and Discovery• No static IPs or DNS lookups req’d
• Just Layer 4
• Command and Control
• Central communication system
• Dial tone, fire and forget
• Protects *itself* at all costs
• Idempotent semantics
29
Thursday, October 27, 11
![Page 31: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/31.jpg)
Router
30
Thursday, October 27, 11
![Page 32: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/32.jpg)
Router
31
“Traffic Cop”
Thursday, October 27, 11
![Page 33: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/33.jpg)
Router
32
VMC client STS plugin Browser(user app access)
Routers
CloudControllers App
Services
App
HealthManager
DEA Pool
Messaging
Thursday, October 27, 11
![Page 34: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/34.jpg)
Router
• Handles all HTTP traffic
• Maintains distributed routing state
• Routes URLs to applications
• Distributes load among instances
• Realtime distributed updates to routing tables from DEAs
33
Thursday, October 27, 11
![Page 35: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/35.jpg)
CloudController
34
Thursday, October 27, 11
![Page 36: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/36.jpg)
CloudController
35
“The King”
Thursday, October 27, 11
![Page 37: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/37.jpg)
CloudController
36
VMC client STS plugin Browser(user app access)
Routers
CloudControllers App
Services
App
HealthManager
DEA Pool
Messaging
Thursday, October 27, 11
![Page 38: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/38.jpg)
CloudController
• Handles all state transitions
• Deals with users, apps, and services
• Packages and Stages applications
• Binds Services to Applications
• Presents external REST API
37
Thursday, October 27, 11
![Page 39: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/39.jpg)
HealthManager
38
Thursday, October 27, 11
![Page 40: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/40.jpg)
HealthManager
39
“Court Jester”
Thursday, October 27, 11
![Page 41: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/41.jpg)
HealthManager
40
VMC client STS plugin Browser(user app access)
Routers
CloudControllers App
Services
App
HealthManager
DEA Pool
Messaging
Thursday, October 27, 11
![Page 42: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/42.jpg)
HealthManager
• Monitors the state of the world
• Initial value with realtime delta updates to “intended” vs “real”
• Determines drift
• Complains to the CloudControllers when something is not correct
• No power to change state itself
41
Thursday, October 27, 11
![Page 43: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/43.jpg)
DEA
42
Thursday, October 27, 11
![Page 44: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/44.jpg)
DEA
43
“Droplet Execution Agent”
Thursday, October 27, 11
![Page 45: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/45.jpg)
DEA
44
VMC client STS plugin Browser(user app access)
Routers
CloudControllers App
Services
App
HealthManager
DEA Pool
Messaging
Thursday, October 27, 11
![Page 46: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/46.jpg)
DEA (Droplet Execution Agent)
• Responsible for running all applications
• Monitors all applications
• CPU, Mem, IO, Threads, Disk, FDs, etc
• All apps look same to DEA• start and stop
• Express ability and desire to run an application• runtimes, options, cluster avoidance, memory/cpu
• Alerts on any change in state of applications
• Provides secure/constrained OS runtime
• Hypervisor, Unix File and User, Linux Containers*
• Single or Multi-Tenant
45
Thursday, October 27, 11
![Page 47: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/47.jpg)
How does it allWork?
46
Thursday, October 27, 11
![Page 48: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/48.jpg)
Pushing an App
• Client (VMC/STS) pushes meta-data to CC
• Client optionally pushes resource signatures (diff analysis, sys wide)
• Client pushes app resources to CC
• CC puts app together
• CC stages app asynchronously
• CC binds and stages services
• Droplet ready
47
Thursday, October 27, 11
![Page 49: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/49.jpg)
48
Arc
hit
ec
ture
Thursday, October 27, 11
![Page 50: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/50.jpg)
Running an App
• CC asks DEAs for “help”
• First DEA back wins! Simple
• CC sends start request to selected DEA
• DEA pushes the “green” button
• DEA waits and monitors pid and ephemeral port for app to bind
• When app is healthy, sends “register” message
• Register message is seen by HM and Routers
• Routers bind URL to host:port
49
Thursday, October 27, 11
![Page 51: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/51.jpg)
DEAs answer?
• DEAs first determine YES or NO• correct runtime, options, memory, etc
• Then calculate a Delay Taint• SHA hash of application
• memory
• cpu
• Taint allows balancing and selection
50
Thursday, October 27, 11
![Page 52: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/52.jpg)
Scale up & down?
• Exact steps as running the app the first time
• SHA1 taint helps avoid clustering
• memory/cpu taint helps distribute as evenly as possible
• Nothing pre-computed
• Nothing assumed
51
Thursday, October 27, 11
![Page 53: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/53.jpg)
Crashes?
• If your app stops and we did not tell it to, that is a crash
• Crashed apps are immediately detected by DEA and messaged
• Routers disconnect route instantly
• HM will signal CC• something is wrong
• CC will issue run sequence again52
Thursday, October 27, 11
![Page 54: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/54.jpg)
53
Arc
hit
ec
ture
Thursday, October 27, 11
![Page 55: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/55.jpg)
Access to my App?
• All routers understand where all instances of your application are running
• Will randomly pick backend, not semantically aware.
• Will remove routes that are stale or unhealthy
• Session stickiness and replication available, but best to avoid if possible
54
Thursday, October 27, 11
![Page 56: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/56.jpg)
What aboutServices?
55
Thursday, October 27, 11
![Page 57: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/57.jpg)
Services
56
VMC client STS plugin Browser(user app access)
Routers
CloudControllers App
Services
App
HealthManager
DEA Pool
Messaging
Thursday, October 27, 11
![Page 58: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/58.jpg)
Services
• Service Advertisement
• Service Provisioning
• Gateway fronts multi-backends
• Service Nodes scale independent
• App and service talk directly
• API to register into system
• Closure for additional value
57
Thursday, October 27, 11
![Page 59: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/59.jpg)
Provisioning
58
VMC/STS
Routers
CloudControllers Services Gateway
Service NodeMySQL
Service NodeRedis
Service NodeRedis
Messaging
Application
1
2
3
45
6
Thursday, October 27, 11
![Page 60: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/60.jpg)
Access (Direct)
59
Routers
CloudControllers Services Gateway
Service NodeMySQL
Service NodeRedis
Service NodeRedis
Messaging
Application
1
2
Browser(user app access)
Thursday, October 27, 11
![Page 61: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/61.jpg)
Services
60
Cloud Foundry
vSphere
core services
Enterprise Services
SQLFire
apps
service controller service broker
provision/bind
consume consume
bind
VMware Dev Tools Partner Dev Tools
Data Director
Relational DB
Thursday, October 27, 11
![Page 62: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/62.jpg)
Learn more:
www.cloudfoundry.org
blog.cloudfoundry.com
support.cloudfoundry.com
61
Thursday, October 27, 11
![Page 63: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/63.jpg)
62
Thank You
Thursday, October 27, 11
![Page 64: Inside The Machine - whiteship.mewhiteship.me/wp-content/uploads/2011/11/InsideTheMachine.pdf · aPaaS •Application Platform as a Service •Applications and Services •Not •](https://reader031.vdocument.in/reader031/viewer/2022030500/5aacd20e7f8b9a2b4c8da4a1/html5/thumbnails/64.jpg)
63
twitter: derekcollison
Thursday, October 27, 11