SlideShare a Scribd company logo
Cloud Foundry
The Building of the Open PaaS


         Derek Collison
         July 27, 2011
What is
Cloud Foundry?
The Open
Platform as a Service
What is
PaaS?
Or more
specifically, an
   aPaaS?
aPaaS
• Application Platform as a Service
• Applications and Services
• Not VMs, Memory, Storage, CPU
What is
OpenPaaS?
OpenPaaS
• Multi-Language
• Multi-Framework
• Multi-Services
• Multi-Cloud, Multi-IaaS
• Hybrid - Public or Private or Both
• OpenSource
OpenPaaS
•   Multi-Language
    •   Java, Scala, Ruby, Node, Erlang, PHP..

•   Multi-Framework
    •   Spring, Grails, Express, Rails, Lift, MochiWeb

•   Multi-Services
    •   MySQL, Postgres, MongoDB, Redis, RabbitMQ

•   Multi-Cloud, Multi-IaaS
    •   vSphere, OpenStack, AWS, Eucalyptus
The Open PaaS
                                                                  .js

                  Ap




                                                                         ce
                     p


                                                                                       Private
                          lic




                                                                        rfa
                                                                                       Clouds
                           at


Data Services




                                                                    te
                             io




                                                                  In
                                n
                                 Se




                                                              er
                                    r




                                                             vid
                                                                                                  …
                                     vic




                                                                              Public



                                                              o
                                         e




                                                                              Clouds

                                                           Pr
           Msg Services
                                            In
                                              te




                                                      ud
                                              rfa




                                                       o
                                                    Cl

                                                                                                 .COM
                                               ce




                                                                  Micro
                           Other Services
                                                                  Clouds
What was our Goal?
• Raise the unit of currency to the be
  the application and its associated
  services, not the infrastructure

• Best of breed delivery platform for all
  modern applications and frameworks
• Favor Choice and Openness
• Simplicity and Speed
How was it Built?
• Kernel and Orchestrator Shells
 •   Layered on top of IaaS

• Kernel
 •   Core PaaS System

• Orchestrator
 •   Creation, management and
     orchestration of the infrastructure
High Level
    Clients (VMC, STS, Browser)




             CF Kernel




           Orchestrator




               IaaS




Hardware - CPU/Memory/Disk/Network
Basic Premises
•   Assume failure
•   Optimize for MTTR, not MTBF
    •   MTTR = Mean Time To Recovery

    •   MTBF = Mean Time Between Failures

•   Fail Fast
•   Self Healing
•   Horizontally Scalable Components
•   Distributed state, No single POF
•   Should be as simple as possible
Basic Patterns
• Event-Driven
• Asynchronous
• Non-blocking
• Independent, Idempotent
• Message passing
• Eventually consistent
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
Kernel Components
• All dynamically discoverable
• Launch and scale in any order
• Can come and go as needed
• Monitor via HTTP and JSON
• Location independent
Kernel Components
• Router
• CloudController
• DEA
• HealthManager
• Messaging System
Logical View
                                                       Browser
VMC client    STS plugin
                                                   (user app access)



                            Routers


    CloudControllers        App              App


                                                       HealthManager
        Services                  DEA Pool



                           Messaging
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
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
CloudController
• Handles all state transitions
• Deals with users, apps, and services
• Packages and Stages applications
• Binds Services to Applications
• Presents external REST API
HealthManager
• Monitors the state
• 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
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
•   “concept” of 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
Services
•   One of the extensibility planes

•   First class citizen
•   Bound to applications

•   Can be shared
•   Services API to discover, list, and provision
•   Direct access to service after provisioned

•   Easy way to bind any service to an app
Architecture
How does it all
   work?
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
Architecture
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
Architecture
DEAs answer?
•   DEAs first determine YES or NO
    •   correct runtime, options, memory, etc

•   Then calculate a Delay Taint
    •   SHA hash of app instance

    •   memory

    •   cpu

•   This taint allows balancing and selection
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 or strict
Crashes?
•   If your app stops and we did not tell it
    to, that is a crash
•   Crashed apps are immediately detected
    by DEA and message sent
•   Routers disconnect route
•   HM will signal a CC that something is
    wrong
•   CC will issue run sequence again
Architecture
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
Thank You
Questions?
dcollison@vmware.com
derek.collison@gmail.com
@derekcollison

More Related Content

What's hot

Quantum - The Network Mechanics
Quantum - The Network MechanicsQuantum - The Network Mechanics
Quantum - The Network Mechanics
Kiran Murari
 
Open stack journey from folsom to grizzly
Open stack journey from folsom to grizzlyOpen stack journey from folsom to grizzly
Open stack journey from folsom to grizzlyopenstackindia
 
Intuit CTOF 2011 - Netflix for Mobile in the Cloud
Intuit CTOF 2011 - Netflix for Mobile in the CloudIntuit CTOF 2011 - Netflix for Mobile in the Cloud
Intuit CTOF 2011 - Netflix for Mobile in the Cloud
Sid Anand
 
Microservices in a Streaming World
Microservices in a Streaming WorldMicroservices in a Streaming World
Microservices in a Streaming World
Hans Jespersen
 
CloudFest Denver Windows Azure Design Patterns
CloudFest Denver Windows Azure Design PatternsCloudFest Denver Windows Azure Design Patterns
CloudFest Denver Windows Azure Design Patterns
David Pallmann
 
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
CA API Management
 
Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and Ops
Adrian Cockcroft
 
NetflixOSS Meetup
NetflixOSS MeetupNetflixOSS Meetup
NetflixOSS Meetup
Adrian Cockcroft
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
Lew Tucker
 
CDN and ISP Operation
CDN and ISP OperationCDN and ISP Operation
CDN and ISP Operation
Kae Hsu
 
Nova for Physicalization and Virtualization compute models
Nova for Physicalization and Virtualization compute modelsNova for Physicalization and Virtualization compute models
Nova for Physicalization and Virtualization compute modelsopenstackindia
 
Netflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconNetflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at Gluecon
Adrian Cockcroft
 
Netflix Cloud Platform Building Blocks
Netflix Cloud Platform Building BlocksNetflix Cloud Platform Building Blocks
Netflix Cloud Platform Building Blocks
Sudhir Tonse
 
SV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformSV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source Platform
Adrian Cockcroft
 
SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)Chiradeep Vittal
 
MOINC Server
MOINC ServerMOINC Server
MOINC Server
aravinda777
 
Quantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewQuantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer Overview
Dan Wendlandt
 

What's hot (18)

Quantum - The Network Mechanics
Quantum - The Network MechanicsQuantum - The Network Mechanics
Quantum - The Network Mechanics
 
Open stack journey from folsom to grizzly
Open stack journey from folsom to grizzlyOpen stack journey from folsom to grizzly
Open stack journey from folsom to grizzly
 
Intuit CTOF 2011 - Netflix for Mobile in the Cloud
Intuit CTOF 2011 - Netflix for Mobile in the CloudIntuit CTOF 2011 - Netflix for Mobile in the Cloud
Intuit CTOF 2011 - Netflix for Mobile in the Cloud
 
Microservices in a Streaming World
Microservices in a Streaming WorldMicroservices in a Streaming World
Microservices in a Streaming World
 
CloudFest Denver Windows Azure Design Patterns
CloudFest Denver Windows Azure Design PatternsCloudFest Denver Windows Azure Design Patterns
CloudFest Denver Windows Azure Design Patterns
 
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
RESTing in the ALPS Mike Amundsen's Presentation from QCon London 2013
 
Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and Ops
 
NetflixOSS Meetup
NetflixOSS MeetupNetflixOSS Meetup
NetflixOSS Meetup
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
 
CDN and ISP Operation
CDN and ISP OperationCDN and ISP Operation
CDN and ISP Operation
 
Nova for Physicalization and Virtualization compute models
Nova for Physicalization and Virtualization compute modelsNova for Physicalization and Virtualization compute models
Nova for Physicalization and Virtualization compute models
 
Netflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconNetflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at Gluecon
 
Netflix Cloud Platform Building Blocks
Netflix Cloud Platform Building BlocksNetflix Cloud Platform Building Blocks
Netflix Cloud Platform Building Blocks
 
SV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformSV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source Platform
 
OpenStack Quantum
OpenStack QuantumOpenStack Quantum
OpenStack Quantum
 
SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)SDN in Apache CloudStack (ApacheCon NA 2013)
SDN in Apache CloudStack (ApacheCon NA 2013)
 
MOINC Server
MOINC ServerMOINC Server
MOINC Server
 
Quantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer OverviewQuantum Folsom Summit Developer Overview
Quantum Folsom Summit Developer Overview
 

Viewers also liked

Outages, APIs, Benchmarks and Other Atrocities of Cloud Marketing
Outages, APIs, Benchmarks and Other Atrocities of Cloud MarketingOutages, APIs, Benchmarks and Other Atrocities of Cloud Marketing
Outages, APIs, Benchmarks and Other Atrocities of Cloud MarketingShanley Kane
 
vFabricを触ろう
vFabricを触ろうvFabricを触ろう
vFabricを触ろう
土岐 孝平
 
Tectònica de plaques
Tectònica de plaquesTectònica de plaques
Tectònica de plaques
J.J.
 
Distributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud FoundryDistributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud Foundry
Derek 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 2014
Derek 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
 

Viewers also liked (7)

Outages, APIs, Benchmarks and Other Atrocities of Cloud Marketing
Outages, APIs, Benchmarks and Other Atrocities of Cloud MarketingOutages, APIs, Benchmarks and Other Atrocities of Cloud Marketing
Outages, APIs, Benchmarks and Other Atrocities of Cloud Marketing
 
vFabricを触ろう
vFabricを触ろうvFabricを触ろう
vFabricを触ろう
 
Bab 11
Bab 11Bab 11
Bab 11
 
Tectònica de plaques
Tectònica de plaquesTectònica de plaques
Tectònica de plaques
 
Distributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud FoundryDistributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud Foundry
 
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
 
Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for Success
 

Similar to OSCON 2011

RubyWorld 2011
RubyWorld 2011RubyWorld 2011
RubyWorld 2011
Derek Collison
 
Qcon 111122082620-phpapp02
Qcon 111122082620-phpapp02Qcon 111122082620-phpapp02
Qcon 111122082620-phpapp02Newlink
 
Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 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
 
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
Patrick Chanezon
 
Oasis: Standards & the Cloud June2011
Oasis: Standards & the Cloud June2011Oasis: Standards & the Cloud June2011
Oasis: Standards & the Cloud June2011
Jamie Clark
 
Cloudcamp Ghent - Cloud foundry-20111121
Cloudcamp Ghent - Cloud foundry-20111121Cloudcamp Ghent - Cloud foundry-20111121
Cloudcamp Ghent - Cloud foundry-20111121
Lode Vermeiren
 
Kentucky gis
Kentucky gisKentucky gis
Kentucky gisedsai
 
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
 
Hong Kong User Group 2019
Hong Kong User Group 2019Hong Kong User Group 2019
Hong Kong User Group 2019
Solace
 
Building Cloud Native Software
Building Cloud Native SoftwareBuilding Cloud Native Software
Building Cloud Native Software
Paul Fremantle
 
FederatedAccessOpenStack.pdf
FederatedAccessOpenStack.pdfFederatedAccessOpenStack.pdf
FederatedAccessOpenStack.pdf
OpenStack Foundation
 
PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundrymartinlippert
 
Spring cloud
Spring cloudSpring cloud
Spring cloud
Milan Ashara
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSS
Denis Danov
 
IT Geek Week 2016 - Introduction To Cloud Computing
IT Geek Week 2016 - Introduction To Cloud ComputingIT Geek Week 2016 - Introduction To Cloud Computing
IT Geek Week 2016 - Introduction To Cloud Computing
Haim Ateya
 
IntroToMEC.pptx
IntroToMEC.pptxIntroToMEC.pptx
IntroToMEC.pptx
AliArsal5
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon Web Services Korea
 
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
 
Operating Kafka on AutoPilot mode @ DBS Bank (Arpit Dubey, DBS Bank) Kafka Su...
Operating Kafka on AutoPilot mode @ DBS Bank (Arpit Dubey, DBS Bank) Kafka Su...Operating Kafka on AutoPilot mode @ DBS Bank (Arpit Dubey, DBS Bank) Kafka Su...
Operating Kafka on AutoPilot mode @ DBS Bank (Arpit Dubey, DBS Bank) Kafka Su...
confluent
 

Similar to OSCON 2011 (20)

RubyWorld 2011
RubyWorld 2011RubyWorld 2011
RubyWorld 2011
 
Qcon 111122082620-phpapp02
Qcon 111122082620-phpapp02Qcon 111122082620-phpapp02
Qcon 111122082620-phpapp02
 
Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 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
 
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
 
Oasis: Standards & the Cloud June2011
Oasis: Standards & the Cloud June2011Oasis: Standards & the Cloud June2011
Oasis: Standards & the Cloud June2011
 
Cloudcamp Ghent - Cloud foundry-20111121
Cloudcamp Ghent - Cloud foundry-20111121Cloudcamp Ghent - Cloud foundry-20111121
Cloudcamp Ghent - Cloud foundry-20111121
 
Kentucky gis
Kentucky gisKentucky gis
Kentucky gis
 
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
 
Hong Kong User Group 2019
Hong Kong User Group 2019Hong Kong User Group 2019
Hong Kong User Group 2019
 
Building Cloud Native Software
Building Cloud Native SoftwareBuilding Cloud Native Software
Building Cloud Native Software
 
FederatedAccessOpenStack.pdf
FederatedAccessOpenStack.pdfFederatedAccessOpenStack.pdf
FederatedAccessOpenStack.pdf
 
PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundry
 
Spring cloud
Spring cloudSpring cloud
Spring cloud
 
Microservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSSMicroservices with Spring Cloud and Netflix OSS
Microservices with Spring Cloud and Netflix OSS
 
IT Geek Week 2016 - Introduction To Cloud Computing
IT Geek Week 2016 - Introduction To Cloud ComputingIT Geek Week 2016 - Introduction To Cloud Computing
IT Geek Week 2016 - Introduction To Cloud Computing
 
IntroToMEC.pptx
IntroToMEC.pptxIntroToMEC.pptx
IntroToMEC.pptx
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
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 ...
 
Operating Kafka on AutoPilot mode @ DBS Bank (Arpit Dubey, DBS Bank) Kafka Su...
Operating Kafka on AutoPilot mode @ DBS Bank (Arpit Dubey, DBS Bank) Kafka Su...Operating Kafka on AutoPilot mode @ DBS Bank (Arpit Dubey, DBS Bank) Kafka Su...
Operating Kafka on AutoPilot mode @ DBS Bank (Arpit Dubey, DBS Bank) Kafka Su...
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 

OSCON 2011

  • 1. Cloud Foundry The Building of the Open PaaS Derek Collison July 27, 2011
  • 6. aPaaS • Application Platform as a Service • Applications and Services • Not VMs, Memory, Storage, CPU
  • 8. OpenPaaS • Multi-Language • Multi-Framework • Multi-Services • Multi-Cloud, Multi-IaaS • Hybrid - Public or Private or Both • OpenSource
  • 9. OpenPaaS • Multi-Language • Java, Scala, Ruby, Node, Erlang, PHP.. • Multi-Framework • Spring, Grails, Express, Rails, Lift, MochiWeb • Multi-Services • MySQL, Postgres, MongoDB, Redis, RabbitMQ • Multi-Cloud, Multi-IaaS • vSphere, OpenStack, AWS, Eucalyptus
  • 10. The Open PaaS .js Ap ce p Private lic rfa Clouds at Data Services te io In n Se er r vid … vic Public o e Clouds Pr Msg Services In te ud rfa o Cl .COM ce Micro Other Services Clouds
  • 11. What was our Goal? • Raise the unit of currency to the be the application and its associated services, not the infrastructure • Best of breed delivery platform for all modern applications and frameworks • Favor Choice and Openness • Simplicity and Speed
  • 12. How was it Built? • Kernel and Orchestrator Shells • Layered on top of IaaS • Kernel • Core PaaS System • Orchestrator • Creation, management and orchestration of the infrastructure
  • 13. High Level Clients (VMC, STS, Browser) CF Kernel Orchestrator IaaS Hardware - CPU/Memory/Disk/Network
  • 14. Basic Premises • Assume failure • Optimize for MTTR, not MTBF • MTTR = Mean Time To Recovery • MTBF = Mean Time Between Failures • Fail Fast • Self Healing • Horizontally Scalable Components • Distributed state, No single POF • Should be as simple as possible
  • 15. Basic Patterns • Event-Driven • Asynchronous • Non-blocking • Independent, Idempotent • Message passing • Eventually consistent
  • 16. 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
  • 17. Kernel Components • All dynamically discoverable • Launch and scale in any order • Can come and go as needed • Monitor via HTTP and JSON • Location independent
  • 18. Kernel Components • Router • CloudController • DEA • HealthManager • Messaging System
  • 19. Logical View Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging
  • 20. 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
  • 21. 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
  • 22. CloudController • Handles all state transitions • Deals with users, apps, and services • Packages and Stages applications • Binds Services to Applications • Presents external REST API
  • 23. HealthManager • Monitors the state • 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
  • 24. 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 • “concept” of 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
  • 25. Services • One of the extensibility planes • First class citizen • Bound to applications • Can be shared • Services API to discover, list, and provision • Direct access to service after provisioned • Easy way to bind any service to an app
  • 27. How does it all work?
  • 28. 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
  • 30. 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
  • 32. DEAs answer? • DEAs first determine YES or NO • correct runtime, options, memory, etc • Then calculate a Delay Taint • SHA hash of app instance • memory • cpu • This taint allows balancing and selection
  • 33. 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 or strict
  • 34. Crashes? • If your app stops and we did not tell it to, that is a crash • Crashed apps are immediately detected by DEA and message sent • Routers disconnect route • HM will signal a CC that something is wrong • CC will issue run sequence again
  • 36. 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