SlideShare a Scribd company logo
1 of 64
Download to read offline
Inside The Machine

                                 Derek Collison




Thursday, October 27, 11
What is
                           Cloud Foundry?



           2
Thursday, October 27, 11
The Open
            Platform as a Service



           3
Thursday, October 27, 11
What is PaaS?




           4
Thursday, October 27, 11
Or more specifically,
                    aPaaS?



           5
Thursday, October 27, 11
aPaaS
                • Application Platform as a Service
                • Applications and Services




           6
Thursday, October 27, 11
aPaaS
                • Application Platform as a Service
                • Applications and Services
                • Not
                      • VMs
                      • Memory
                      • Storage
                      • Networks
                      • CPU
           7
Thursday, October 27, 11
What is
                           OpenPaaS?



           8
Thursday, October 27, 11
OpenPaaS
                • Multi-Language
                • Multi-Framework
                • Multi-Services
                • Multi-Cloud, Multi-IaaS
                • Hybrid - Public or Private or Both
                • OpenSource

           9
Thursday, October 27, 11
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
The Open PaaS

                                      Ap
                                      pli



                                                                                         Private
                                        ca




                                                                                 ce
                                             tio




                                                                                rfa
                            Data                                                         Clouds
                                                 n




                                                                                 e
                           Services




                                                                              Int
                                                Se




                                                                                      Public
                                                     rvi




                                                                          er
                                                                         vid
                                                         ce




                                    Msg
                                  Services                                            Clouds
                                                                         ro
                                                            Int




                                                                     dP
                                                               e




                                                                               Micro
                                                             rfa



                                                                    ou

                                                                               Clouds
                                                               ce




                                               Other
                                                                    Cl


                                              Services




          11
Thursday, October 27, 11
The Open PaaS

                                            Ap
                                            pli


                     vFabric
                                                                                               Private
                                              ca




                                                                                       ce
                    Postgres
                                                   tio




                                                                                      rfa
                                  Data                                                         Clouds
                                                       n




                                                                                       e
                                 Services




                                                                                    Int
                                                      Se




                                                                                            Public
                                                           rvi




                                                                                er
                           vFabric




                                                                               vid
                                                               ce




                           RabbitMQTM     Msg
                                        Services                                            Clouds
                                                                               ro
                                                                  Int




                                                                           dP
                                                                     e




                                                                                     Micro
                                                                   rfa



                                                                          ou

                                                                                     Clouds
                                                                     ce




                                                     Other
                                                                          Cl


                                                    Services




          11
Thursday, October 27, 11
What is
                           our Goal?



          12
Thursday, October 27, 11
What was our Goal?

                   Raise the unit of currency
                   to be the application and
                    its associated services,
                      not the infrastructure


          13
Thursday, October 27, 11
What was our Goal?

                           Best of breed delivery
                           platform for all modern
                              applications and
                                 frameworks


          14
Thursday, October 27, 11
What was our Goal?

                              Favor Choice
                                  and
                               Openness



          15
Thursday, October 27, 11
How was it Built?




          16
Thursday, October 27, 11
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
High Level
                               Clients (VMC, STS, Browser)




                                        CF Kernel




                                      Orchestrator




                                          IaaS




                           Hardware - CPU/Memory/Disk/Network



          18
Thursday, October 27, 11
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
Basic Patterns
                • Event-Driven
                • Asynchronous
                • Non-blocking
                • Independent, Idempotent
                • Message Passing
                • Eventually Consistent

          20
Thursday, October 27, 11
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
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
Kernel Components
                • Router
                • CloudController
                • DEA
                • HealthManager
                • Service Provisioning Agent
                • Messaging System

          23
Thursday, October 27, 11
Logical View
                                                                          Browser
               VMC client        STS plugin
                                                                      (user app access)



                                               Routers


                       CloudControllers        App              App


                                                                          HealthManager
                           Services                  DEA Pool



                                              Messaging



          24
Thursday, October 27, 11
Architecture




          25
Thursday, October 27, 11
Messaging




          26
Thursday, October 27, 11
Messaging
                           “The Nervous System”




          27
Thursday, October 27, 11
Messaging
                                                                          Browser
               VMC client        STS plugin
                                                                      (user app access)



                                               Routers


                       CloudControllers        App              App


                                                                          HealthManager
                           Services                  DEA Pool



                                              Messaging



          28
Thursday, October 27, 11
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
Router




          30
Thursday, October 27, 11
Router
                           “Traffic Cop”




          31
Thursday, October 27, 11
Router
                                                                           Browser
               VMC client        STS plugin
                                                                       (user app access)



                                                Routers


                       CloudControllers         App              App


                                                                           HealthManager
                           Services                   DEA Pool



                                               Messaging



          32
Thursday, October 27, 11
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
CloudController




          34
Thursday, October 27, 11
CloudController
                              “The King”




          35
Thursday, October 27, 11
CloudController
                                                                          Browser
               VMC client        STS plugin
                                                                      (user app access)



                                               Routers


                       CloudControllers        App              App


                                                                          HealthManager
                           Services                  DEA Pool



                                              Messaging



          36
Thursday, October 27, 11
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
HealthManager




          38
Thursday, October 27, 11
HealthManager
                            “Court Jester”




          39
Thursday, October 27, 11
HealthManager
                                                                          Browser
               VMC client        STS plugin
                                                                      (user app access)



                                               Routers


                       CloudControllers        App              App


                                                                          HealthManager
                           Services                  DEA Pool



                                              Messaging



          40
Thursday, October 27, 11
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
DEA




          42
Thursday, October 27, 11
DEA
                 “Droplet Execution Agent”




          43
Thursday, October 27, 11
DEA
                                                                          Browser
               VMC client        STS plugin
                                                                      (user app access)



                                               Routers


                       CloudControllers        App              App


                                                                          HealthManager
                           Services                  DEA Pool



                                              Messaging



          44
Thursday, October 27, 11
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
How does it all
                              Work?



          46
Thursday, October 27, 11
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
Architecture




          48
Thursday, October 27, 11
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
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
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
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 again
          52
Thursday, October 27, 11
Architecture




          53
Thursday, October 27, 11
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
What about
                           Services?



          55
Thursday, October 27, 11
Services
                                                                          Browser
               VMC client        STS plugin
                                                                      (user app access)



                                               Routers


                       CloudControllers        App              App


                                                                          HealthManager
                           Services                  DEA Pool



                                              Messaging



          56
Thursday, October 27, 11
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
Provisioning
                VMC/STS



                           1
                                                 Routers
                                            2

                       CloudControllers                     Services Gateway
                                                                         3
                                            5
                               6                                     4

                                     Service Node     Service Node        Service Node
                  Application
                                        MySQL            Redis               Redis



                                                Messaging



          58
Thursday, October 27, 11
Access (Direct)
                          Browser
                      (user app access)


                           1
                                                Routers


                       CloudControllers                    Services Gateway



                                     Service Node       Service Node     Service Node
                  Application
                                        MySQL              Redis            Redis

                                                    2
                                              Messaging



          59
Thursday, October 27, 11
Services
                       VMware Dev Tools                    Partner Dev Tools

                           Cloud Foundry
                             consume
                                                                                     Enterprise Services
                                                 apps              consume
                                                                     bind
                                                                                         Data Director
                                  provision/bind

                                              service
                                                                    service broker
                                             controller
                                                                                           SQLFire


                           core services

                                           Relational DB




                                             vSphere


          60
Thursday, October 27, 11
Learn more:

                            www.cloudfoundry.org
                            blog.cloudfoundry.com
                           support.cloudfoundry.com




          61
Thursday, October 27, 11
Thank You



          62
Thursday, October 27, 11
Questions?
                           dcollison@vmware.com
                           derek.collison@gmail.com
                           twitter: derekcollison




          63
Thursday, October 27, 11

More Related Content

What's hot

Networking in the cloud: An SDN primer
Networking in the cloud: An SDN primerNetworking in the cloud: An SDN primer
Networking in the cloud: An SDN primerMidokura
 
Nic teaming and converged fabric
Nic teaming and converged fabricNic teaming and converged fabric
Nic teaming and converged fabrichypervnu
 
Openflow Stanford University - Ericsson Collaboration
Openflow Stanford University - Ericsson CollaborationOpenflow Stanford University - Ericsson Collaboration
Openflow Stanford University - Ericsson CollaborationEricsson Labs
 
Cloudstack collab talk
Cloudstack collab talkCloudstack collab talk
Cloudstack collab talkMidokura
 
IP QoS signaling in the IETF:Past, Present and Future
IP QoS signaling in the IETF:Past, Present and FutureIP QoS signaling in the IETF:Past, Present and Future
IP QoS signaling in the IETF:Past, Present and FutureJohn Loughney
 
Dont forget-the-control-plane
Dont forget-the-control-planeDont forget-the-control-plane
Dont forget-the-control-planeMetaswitch NTD
 
Virtual Private LAN Service (VPLS)
Virtual Private LAN Service (VPLS)Virtual Private LAN Service (VPLS)
Virtual Private LAN Service (VPLS)Johnson Liu
 

What's hot (11)

MongoSF 2012
MongoSF 2012MongoSF 2012
MongoSF 2012
 
Networking in the cloud: An SDN primer
Networking in the cloud: An SDN primerNetworking in the cloud: An SDN primer
Networking in the cloud: An SDN primer
 
Nic teaming and converged fabric
Nic teaming and converged fabricNic teaming and converged fabric
Nic teaming and converged fabric
 
Openflow Stanford University - Ericsson Collaboration
Openflow Stanford University - Ericsson CollaborationOpenflow Stanford University - Ericsson Collaboration
Openflow Stanford University - Ericsson Collaboration
 
Daniel künzli net scaler 10
Daniel künzli net scaler 10Daniel künzli net scaler 10
Daniel künzli net scaler 10
 
Making case up
Making case upMaking case up
Making case up
 
Cloudstack collab talk
Cloudstack collab talkCloudstack collab talk
Cloudstack collab talk
 
IP QoS signaling in the IETF:Past, Present and Future
IP QoS signaling in the IETF:Past, Present and FutureIP QoS signaling in the IETF:Past, Present and Future
IP QoS signaling in the IETF:Past, Present and Future
 
10 fn s22
10 fn s2210 fn s22
10 fn s22
 
Dont forget-the-control-plane
Dont forget-the-control-planeDont forget-the-control-plane
Dont forget-the-control-plane
 
Virtual Private LAN Service (VPLS)
Virtual Private LAN Service (VPLS)Virtual Private LAN Service (VPLS)
Virtual Private LAN Service (VPLS)
 

Viewers also liked

Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
CenturyLink and Their Journey to Cloud Foundry
CenturyLink and Their Journey to Cloud FoundryCenturyLink and Their Journey to Cloud Foundry
CenturyLink and Their Journey to Cloud FoundryVMware Tanzu
 
Ceph中国社区9.19 Ceph集群运维及案例分享04-武宇亭
Ceph中国社区9.19 Ceph集群运维及案例分享04-武宇亭Ceph中国社区9.19 Ceph集群运维及案例分享04-武宇亭
Ceph中国社区9.19 Ceph集群运维及案例分享04-武宇亭Hang Geng
 
Apps World Europe: Data Management panel.
Apps World Europe: Data Management panel.Apps World Europe: Data Management panel.
Apps World Europe: Data Management panel.Steef Klein
 
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...VMware Tanzu
 
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11Donghan Kim
 
Building Mobile Apps on aPaaS platforms
Building Mobile Apps on aPaaS platformsBuilding Mobile Apps on aPaaS platforms
Building Mobile Apps on aPaaS platformsDr Ganesh Iyer
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010Chris Schalk
 
2016년 10대 Cloud 동향
2016년 10대 Cloud 동향2016년 10대 Cloud 동향
2016년 10대 Cloud 동향HT Kim
 
Simplify enterprise IT with no code platform - aPaaS
Simplify enterprise IT with no code platform - aPaaSSimplify enterprise IT with no code platform - aPaaS
Simplify enterprise IT with no code platform - aPaaSDr Ganesh Iyer
 
NATS - A new nervous system for distributed cloud platforms
NATS - A new nervous system for distributed cloud platformsNATS - A new nervous system for distributed cloud platforms
NATS - A new nervous system for distributed cloud platformsDerek Collison
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies OverviewChris Schalk
 
Pivotal Big Data Roadshow
Pivotal Big Data Roadshow Pivotal Big Data Roadshow
Pivotal Big Data Roadshow VMware Tanzu
 
Real World IoT Architecture Use Cases
Real World IoT Architecture Use CasesReal World IoT Architecture Use Cases
Real World IoT Architecture Use CasesEurotech
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)VMware Tanzu
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 

Viewers also liked (20)

PaaS vs aPaaS
PaaS vs aPaaSPaaS vs aPaaS
PaaS vs aPaaS
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
CenturyLink and Their Journey to Cloud Foundry
CenturyLink and Their Journey to Cloud FoundryCenturyLink and Their Journey to Cloud Foundry
CenturyLink and Their Journey to Cloud Foundry
 
Ceph中国社区9.19 Ceph集群运维及案例分享04-武宇亭
Ceph中国社区9.19 Ceph集群运维及案例分享04-武宇亭Ceph中国社区9.19 Ceph集群运维及案例分享04-武宇亭
Ceph中国社区9.19 Ceph集群运维及案例分享04-武宇亭
 
Apps World Europe: Data Management panel.
Apps World Europe: Data Management panel.Apps World Europe: Data Management panel.
Apps World Europe: Data Management panel.
 
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
 
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
 
Building Mobile Apps on aPaaS platforms
Building Mobile Apps on aPaaS platformsBuilding Mobile Apps on aPaaS platforms
Building Mobile Apps on aPaaS platforms
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010
 
2016년 10대 Cloud 동향
2016년 10대 Cloud 동향2016년 10대 Cloud 동향
2016년 10대 Cloud 동향
 
Cloud Foundry Roadmap in 2016
Cloud Foundry Roadmap in 2016Cloud Foundry Roadmap in 2016
Cloud Foundry Roadmap in 2016
 
Simplify enterprise IT with no code platform - aPaaS
Simplify enterprise IT with no code platform - aPaaSSimplify enterprise IT with no code platform - aPaaS
Simplify enterprise IT with no code platform - aPaaS
 
NATS - A new nervous system for distributed cloud platforms
NATS - A new nervous system for distributed cloud platformsNATS - A new nervous system for distributed cloud platforms
NATS - A new nervous system for distributed cloud platforms
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies Overview
 
Pivotal Big Data Roadshow
Pivotal Big Data Roadshow Pivotal Big Data Roadshow
Pivotal Big Data Roadshow
 
SaaS 동향
SaaS 동향SaaS 동향
SaaS 동향
 
Real World IoT Architecture Use Cases
Real World IoT Architecture Use CasesReal World IoT Architecture Use Cases
Real World IoT Architecture Use Cases
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
IoT architecture
IoT architectureIoT architecture
IoT architecture
 

Similar to Cloud Foundry: Inside the Machine

SpringOne 2GX 2011 - Writing applications for Cloud Foundry using Spring and ...
SpringOne 2GX 2011 - Writing applications for Cloud Foundry using Spring and ...SpringOne 2GX 2011 - Writing applications for Cloud Foundry using Spring and ...
SpringOne 2GX 2011 - Writing applications for Cloud Foundry using Spring and ...trisberg
 
Cloudcamp Ghent - Cloud foundry-20111121
Cloudcamp Ghent - Cloud foundry-20111121Cloudcamp Ghent - Cloud foundry-20111121
Cloudcamp Ghent - Cloud foundry-20111121Lode Vermeiren
 
Cloud Foundry Architecture and Overview
Cloud Foundry Architecture and OverviewCloud Foundry Architecture and Overview
Cloud Foundry Architecture and Overviewrajdeep
 
Portrait of the developer as The Artist - SpringOne India 2012
Portrait of the developer as The Artist - SpringOne India 2012Portrait of the developer as The Artist - SpringOne India 2012
Portrait of the developer as The Artist - SpringOne India 2012Patrick Chanezon
 
PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundrymartinlippert
 
Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Patrick Chanezon
 
Thinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud FoundryThinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud FoundryJennifer Hickey
 
Cloud Foundry - A Lightning Introduction
Cloud Foundry - A Lightning IntroductionCloud Foundry - A Lightning Introduction
Cloud Foundry - A Lightning IntroductionAndy Piper
 
Cloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A ServiceCloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A ServicePatrick Chanezon
 
Hands On CloudFoundry
Hands On CloudFoundryHands On CloudFoundry
Hands On CloudFoundryEric Bottard
 
Spring Data and MongoDB
Spring Data and MongoDBSpring Data and MongoDB
Spring Data and MongoDBOliver Gierke
 
Cloud foundry - the building of the open paas presentation
Cloud foundry - the building of the open paas presentationCloud foundry - the building of the open paas presentation
Cloud foundry - the building of the open paas presentationXianzhu Yue
 
Breaking through the Clouds
Breaking through the CloudsBreaking through the Clouds
Breaking through the CloudsAndy Piper
 
Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012Patrick Chanezon
 
Portrait of the Developer As "The Artist" - English Version
Portrait of the Developer As "The Artist" - English VersionPortrait of the Developer As "The Artist" - English Version
Portrait of the Developer As "The Artist" - English VersionPatrick Chanezon
 
Cloud Foundry the Open PaaS - OpenTour Austin Keynote
Cloud Foundry the Open PaaS - OpenTour Austin KeynoteCloud Foundry the Open PaaS - OpenTour Austin Keynote
Cloud Foundry the Open PaaS - OpenTour Austin KeynotePatrick Chanezon
 
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heavenUDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heavenPatrick Chanezon
 
Portrait of the Developer as the Artist - OpenTour Sofia
Portrait of the Developer as the Artist - OpenTour SofiaPortrait of the Developer as the Artist - OpenTour Sofia
Portrait of the Developer as the Artist - OpenTour SofiaPatrick Chanezon
 
Migrating to CloudFoundry
Migrating to CloudFoundryMigrating to CloudFoundry
Migrating to CloudFoundryGR8Conf
 

Similar to Cloud Foundry: Inside the Machine (20)

SpringOne 2GX 2011 - Writing applications for Cloud Foundry using Spring and ...
SpringOne 2GX 2011 - Writing applications for Cloud Foundry using Spring and ...SpringOne 2GX 2011 - Writing applications for Cloud Foundry using Spring and ...
SpringOne 2GX 2011 - Writing applications for Cloud Foundry using Spring and ...
 
Cloudcamp Ghent - Cloud foundry-20111121
Cloudcamp Ghent - Cloud foundry-20111121Cloudcamp Ghent - Cloud foundry-20111121
Cloudcamp Ghent - Cloud foundry-20111121
 
Cloud Foundry Architecture and Overview
Cloud Foundry Architecture and OverviewCloud Foundry Architecture and Overview
Cloud Foundry Architecture and Overview
 
Portrait of the developer as The Artist - SpringOne India 2012
Portrait of the developer as The Artist - SpringOne India 2012Portrait of the developer as The Artist - SpringOne India 2012
Portrait of the developer as The Artist - SpringOne India 2012
 
RubyWorld 2011
RubyWorld 2011RubyWorld 2011
RubyWorld 2011
 
PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundry
 
Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012
 
Thinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud FoundryThinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
 
Cloud Foundry - A Lightning Introduction
Cloud Foundry - A Lightning IntroductionCloud Foundry - A Lightning Introduction
Cloud Foundry - A Lightning Introduction
 
Cloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A ServiceCloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A Service
 
Hands On CloudFoundry
Hands On CloudFoundryHands On CloudFoundry
Hands On CloudFoundry
 
Spring Data and MongoDB
Spring Data and MongoDBSpring Data and MongoDB
Spring Data and MongoDB
 
Cloud foundry - the building of the open paas presentation
Cloud foundry - the building of the open paas presentationCloud foundry - the building of the open paas presentation
Cloud foundry - the building of the open paas presentation
 
Breaking through the Clouds
Breaking through the CloudsBreaking through the Clouds
Breaking through the Clouds
 
Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012Cloud Foundry and Ubuntu - 2012
Cloud Foundry and Ubuntu - 2012
 
Portrait of the Developer As "The Artist" - English Version
Portrait of the Developer As "The Artist" - English VersionPortrait of the Developer As "The Artist" - English Version
Portrait of the Developer As "The Artist" - English Version
 
Cloud Foundry the Open PaaS - OpenTour Austin Keynote
Cloud Foundry the Open PaaS - OpenTour Austin KeynoteCloud Foundry the Open PaaS - OpenTour Austin Keynote
Cloud Foundry the Open PaaS - OpenTour Austin Keynote
 
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heavenUDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
 
Portrait of the Developer as the Artist - OpenTour Sofia
Portrait of the Developer as the Artist - OpenTour SofiaPortrait of the Developer as the Artist - OpenTour Sofia
Portrait of the Developer as the Artist - OpenTour Sofia
 
Migrating to CloudFoundry
Migrating to CloudFoundryMigrating to CloudFoundry
Migrating to CloudFoundry
 

More from Derek Collison

GoSF Summerfest - Why Go at Apcera
GoSF Summerfest - Why Go at ApceraGoSF Summerfest - Why Go at Apcera
GoSF Summerfest - Why Go at ApceraDerek Collison
 
What's beyond Virtualization - The Future of Cloud Platforms
What's beyond Virtualization - The Future of Cloud PlatformsWhat's beyond Virtualization - The Future of Cloud Platforms
What's beyond Virtualization - The Future of Cloud PlatformsDerek Collison
 
High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014Derek Collison
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageDerek Collison
 
Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessDerek Collison
 
Ruby conf2010 OpenPaaS
Ruby conf2010 OpenPaaSRuby conf2010 OpenPaaS
Ruby conf2010 OpenPaaSDerek Collison
 

More from Derek Collison (6)

GoSF Summerfest - Why Go at Apcera
GoSF Summerfest - Why Go at ApceraGoSF Summerfest - Why Go at Apcera
GoSF Summerfest - Why Go at Apcera
 
What's beyond Virtualization - The Future of Cloud Platforms
What's beyond Virtualization - The Future of Cloud PlatformsWhat's beyond Virtualization - The Future of Cloud Platforms
What's beyond Virtualization - The Future of Cloud Platforms
 
High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014High Performance Systems in Go - GopherCon 2014
High Performance Systems in Go - GopherCon 2014
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
 
Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for Success
 
Ruby conf2010 OpenPaaS
Ruby conf2010 OpenPaaSRuby conf2010 OpenPaaS
Ruby conf2010 OpenPaaS
 

Recently uploaded

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

Cloud Foundry: Inside the Machine

  • 1. Inside The Machine Derek Collison Thursday, October 27, 11
  • 2. What is Cloud Foundry? 2 Thursday, October 27, 11
  • 3. The Open Platform as a Service 3 Thursday, October 27, 11
  • 4. What is PaaS? 4 Thursday, October 27, 11
  • 5. Or more specifically, aPaaS? 5 Thursday, October 27, 11
  • 6. aPaaS • Application Platform as a Service • Applications and Services 6 Thursday, October 27, 11
  • 7. aPaaS • Application Platform as a Service • Applications and Services • Not • VMs • Memory • Storage • Networks • CPU 7 Thursday, October 27, 11
  • 8. What is OpenPaaS? 8 Thursday, October 27, 11
  • 9. OpenPaaS • Multi-Language • Multi-Framework • Multi-Services • Multi-Cloud, Multi-IaaS • Hybrid - Public or Private or Both • OpenSource 9 Thursday, October 27, 11
  • 10. 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
  • 11. The Open PaaS Ap pli Private ca ce tio rfa Data Clouds n e Services Int Se Public rvi er vid ce Msg Services Clouds ro Int dP e Micro rfa ou Clouds ce Other Cl Services 11 Thursday, October 27, 11
  • 12. The Open PaaS Ap pli vFabric Private ca ce Postgres tio rfa Data Clouds n e Services Int Se Public rvi er vFabric vid ce RabbitMQTM Msg Services Clouds ro Int dP e Micro rfa ou Clouds ce Other Cl Services 11 Thursday, October 27, 11
  • 13. What is our Goal? 12 Thursday, October 27, 11
  • 14. What was our Goal? Raise the unit of currency to be the application and its associated services, not the infrastructure 13 Thursday, October 27, 11
  • 15. What was our Goal? Best of breed delivery platform for all modern applications and frameworks 14 Thursday, October 27, 11
  • 16. What was our Goal? Favor Choice and Openness 15 Thursday, October 27, 11
  • 17. How was it Built? 16 Thursday, October 27, 11
  • 18. 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
  • 19. High Level Clients (VMC, STS, Browser) CF Kernel Orchestrator IaaS Hardware - CPU/Memory/Disk/Network 18 Thursday, October 27, 11
  • 20. 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
  • 21. Basic Patterns • Event-Driven • Asynchronous • Non-blocking • Independent, Idempotent • Message Passing • Eventually Consistent 20 Thursday, October 27, 11
  • 22. 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
  • 23. 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
  • 24. Kernel Components • Router • CloudController • DEA • HealthManager • Service Provisioning Agent • Messaging System 23 Thursday, October 27, 11
  • 25. Logical View Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 24 Thursday, October 27, 11
  • 26. Architecture 25 Thursday, October 27, 11
  • 27. Messaging 26 Thursday, October 27, 11
  • 28. Messaging “The Nervous System” 27 Thursday, October 27, 11
  • 29. Messaging Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 28 Thursday, October 27, 11
  • 30. 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
  • 31. Router 30 Thursday, October 27, 11
  • 32. Router “Traffic Cop” 31 Thursday, October 27, 11
  • 33. Router Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 32 Thursday, October 27, 11
  • 34. 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
  • 35. CloudController 34 Thursday, October 27, 11
  • 36. CloudController “The King” 35 Thursday, October 27, 11
  • 37. CloudController Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 36 Thursday, October 27, 11
  • 38. 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
  • 39. HealthManager 38 Thursday, October 27, 11
  • 40. HealthManager “Court Jester” 39 Thursday, October 27, 11
  • 41. HealthManager Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 40 Thursday, October 27, 11
  • 42. 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
  • 43. DEA 42 Thursday, October 27, 11
  • 44. DEA “Droplet Execution Agent” 43 Thursday, October 27, 11
  • 45. DEA Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 44 Thursday, October 27, 11
  • 46. 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
  • 47. How does it all Work? 46 Thursday, October 27, 11
  • 48. 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
  • 49. Architecture 48 Thursday, October 27, 11
  • 50. 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
  • 51. 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
  • 52. 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
  • 53. 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 again 52 Thursday, October 27, 11
  • 54. Architecture 53 Thursday, October 27, 11
  • 55. 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
  • 56. What about Services? 55 Thursday, October 27, 11
  • 57. Services Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 56 Thursday, October 27, 11
  • 58. 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
  • 59. Provisioning VMC/STS 1 Routers 2 CloudControllers Services Gateway 3 5 6 4 Service Node Service Node Service Node Application MySQL Redis Redis Messaging 58 Thursday, October 27, 11
  • 60. Access (Direct) Browser (user app access) 1 Routers CloudControllers Services Gateway Service Node Service Node Service Node Application MySQL Redis Redis 2 Messaging 59 Thursday, October 27, 11
  • 61. Services VMware Dev Tools Partner Dev Tools Cloud Foundry consume Enterprise Services apps consume bind Data Director provision/bind service service broker controller SQLFire core services Relational DB vSphere 60 Thursday, October 27, 11
  • 62. Learn more: www.cloudfoundry.org blog.cloudfoundry.com support.cloudfoundry.com 61 Thursday, October 27, 11
  • 63. Thank You 62 Thursday, October 27, 11
  • 64. Questions? dcollison@vmware.com derek.collison@gmail.com twitter: derekcollison 63 Thursday, October 27, 11