cloud foundry architecture presentation - allan tokuda ·...
TRANSCRIPT
![Page 1: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/1.jpg)
Cloud Foundry Architecture
Team: "Pipes_and_Filters" { Bre3_Borchardt Marc_Johnson Paul_Kleczka Allan_Tokuda }
![Page 2: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/2.jpg)
Outline
• Intro • Goals and Principles • FuncConal View and Scenarios • Concurrency View • PerspecCves • Proposed Extension
![Page 3: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/3.jpg)
What is Cloud Foundry?
PAAS (Cloud Foundry)
IAAS (AWS)
SAAS (Custom App)
![Page 4: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/4.jpg)
© cloudfoundry.com
![Page 5: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/5.jpg)
Quality PerspecCves
• Performance and Scalability – Horizontal scaling of apps/services – Ruby fibers
• Availability and Resilience – MulC-‐tenant isolaCon – Health manager
• EvoluCon – Loosely coupled interfaces via messaging/REST
![Page 6: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/6.jpg)
Architectural Principles
• Principle 1: Open pla]orm • Principle 2: Extensible architecture • Principle 3: PosiCve developer experience • Principle 4: Simple design – Low efferent coupling – RESTful communicaCon and async. messaging – Idempotent service interfaces
![Page 7: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/7.jpg)
FuncConal Scenarios
• Target and AuthenCcate • Deploy ApplicaCon • Provision and Bind Service • Start/Stop ApplicaCon
• ApplicaCon Request by End User
ApplicaCon Developer
![Page 8: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/8.jpg)
Cloud Controller
Health Manager
Droplet ExecuCon Agent
Router
Service Gateway
Service Node
Load Balancer
<<External>> ApplicaCon User
<<External>> ApplicaCon Developer
Stager
FuncConal View HTTP Async. Messaging
Other
Route Request
Route Request
Route Request
Stage ApplicaCon
Provision Service
Provision Service
Start/ Stop
Instances
Start/Stop Instances
Heartbeat
Start/Stop Droplet
Droplet
Route Request
ApplicaCon Service
Create Service
Consume Service
Route Request
Droplet Started
![Page 9: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/9.jpg)
Concurrency: CommunicaCon & State
<<process group>>Cloud RDBMS
<<process group>>Service Instance
Processes
<<process>>
<<process>><<process>><<process>>
<<process>><<process>>
<<process group>>NATS Message Bus
<<process>>
<<process>>
DEA
Stager
HTTP
HTTP
Service
Service Gateway
Droplet
Service Node
Health Manager
Cloud Controller
OS shell commands
Service Protocol
Router
HTTP
HTTP
![Page 10: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/10.jpg)
Concurrency: Messaging
<<process>>
<<process>>
<<process>>
<<process>>
<<process>>
<<process>>
Cloud Controller
DEA 1
...
DEA nDeploy Application Flow
Health Manager
Cloud Controller 1
...
Cloud Controller nRestore Health Flow
![Page 11: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/11.jpg)
Concurrency: Fibers
<<process group>>Cloud RDBMS
<<process>>Cloud Controller
<<fiber>><<process>>
Async DB Driver
Controller
Model
Router EventMachine
Single Threaded Dispatch via Reactor Pattern
![Page 12: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/12.jpg)
Source: h3p://www.igvita.com/2009/05/13/fibers-‐cooperaCve-‐scheduling-‐in-‐ruby/
Concurrency: Fiber Scheduling
![Page 13: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/13.jpg)
Proposed Extension
• Auto-‐scaling: provide detailed means of controlling how many instances of an app are running – Schedule regular increases and decreases – Respond to demand pickup/dropoff – Decide from system metrics – Propagate scaling decisions
![Page 14: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/14.jpg)
QuesCons?
Bre3 Borchardt [email protected] Marc Johnson [email protected] Paul Kleczka [email protected] Allan Tokuda [email protected]
![Page 15: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/15.jpg)
References
• [1] Cade Metz, Man Survives Steve Ballmer’s Flying Chair To Build ’21st Century Linux’, h3p://www.wired.com/wiredenterprise/2011/11/cloud-‐foundry/all/1
• [2] [3] Derek Collison -‐ Distributed Design and Architecture of Cloud Foundry h3p://www.slideshare.net/derekcollison/design-‐of-‐cloud-‐foundry
![Page 16: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/16.jpg)
Backup Slides
![Page 17: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/17.jpg)
Goals • Developer ProducCvity – wide variety of frameworks and services – seamless integraCon into applicaCons – simple deployment model and toolset
• Open System – Extensible frameworks + services. – Runs public, private, or hybrid – Runs on a virtual machine
• Faster Delivery – Simple and high performance framework – Third-‐party (or enterprise) integraCon – “Micro” cloud on developer machine
![Page 18: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/18.jpg)
What is Cloud Foundry? (Intro)
• MulL-‐Language
• MulL-‐Framework
• MulL-‐Services
• MulL-‐Cloud, MulL-‐IaaS
• Ruby, Java, Scala, Node.js,Erlang, Python, PHP..
• Rails, Sinatra, Spring, Grails, Express, LiY
• MySQL, Postgres, MongoDB, Redis, RabbitMQ
• vSphere, MicroCloud, OpenStack, AWS
![Page 19: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/19.jpg)
What is Cloud Foundry? (Intro) • Open Pla\orm as a Service (PAAS) • “Linux of the Cloud” : – Makes deploying and scaling fast and easy – Open source (wri3en in Ruby) – Supports mulCple development frameworks , extensible
– Public clouds, private clouds, and “micro-‐cloud” which can be run on a PC
Not VMs, Memory, Storage, Networks, CPU
![Page 20: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/20.jpg)
FuncCo
nal V
iew
Reference: [3]
![Page 21: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/21.jpg)
FuncConal View
![Page 22: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/22.jpg)
FuncConal View
![Page 23: Cloud Foundry Architecture Presentation - Allan Tokuda · What&is&Cloud&Foundry?&(Intro)& ... • Rails,&Sinatra,&Spring,&Grails,&Express,&LiY&](https://reader030.vdocuments.net/reader030/viewer/2022020315/5af780447f8b9a927191bd48/html5/thumbnails/23.jpg)