introduction into cloud foundry and bosh describing architecture, deployment, app staging and cloud...
Post on 20-Jun-2015
405 Views
Preview:
DESCRIPTION
TRANSCRIPT
Cloud Foundry & Bosh A Cloud Love
In this talk you will
• discover the anynines stack
• get known to Cloud Foundry
• learn how Bosh deploys Cloud Foundry
Introduction
100% European
30+ employees
The anynines Stack
Built on approved Open Source
Software
Hardware
OpenStack
Cloud Foundry
VMware
We migrated from a Rented VMware to a
self-hosted OpenStack.
Cloud Foundry
• open source software, Apache 2 license
• developed by Pivotal, ~$500 mio. funding
• mostly written in Ruby & Go
CF Architecture
Anynines Elastic Runtime MongoDB Service
MongoDB Service Broker
MongoDB Bosh
MongoDB Service Clusters
…
Load Balancer & SSL Broker
Application Router
Cloud Controller Health Manager
UAA Login Service
NATS Messaging Bus
DEA Pool
DEA VM 1 DEA VM 2 DEA VM n
App Container 1
App Container 2
App Container 3
App Container 4
App Container 5 App Container n
Blob Store
Bosh
Bosh Director
…
Bosh Health Manager
Bosh Workers Bosh Resurrector
Bosh Task Queue Bosh DNS Server
Deploying an App
Anynines Elastic Runtime
Blob Store Cloud Controller
DEADEA DEA
= Droplet = Your runnable app
App ContainerApp Container
Application Deployment
cf push{meta: data}
Health Manager
Staging an App
Anynines Elastic Runtime
Blob Store Cloud Controller
DEADEA DEA
= Droplet = Your runnable app
App Container
Application Staging
Global Buildpacks
+ =
Anynines Elastic Runtime
Blob Store Cloud Controller
DEADEA DEA
= Droplet = Your runnable app
App Container
Application Staging
Global Buildpacks
+ =App Container
Scaling an App
cf scale myapp -i 2
Anynines Elastic Runtime
Blob Store Cloud Controller Health Manager
NATS Message Bus
DEADEA DEA
App Container
= Droplet = Your runnable app
App Container
Application Scale-Out
Cloud Foundry Elastic Runtime
Summary
• Application server grid on steroids
• Generic buildpack support
• SCM agnostic deployments
Services
cf create-service mongodb cluster-med mydb1
Create Service Instance
Anynines Elastic Runtime
Blob Store Cloud Controller
Health Manager
DEA
App Container App Container
MongoDB Service
Service Broker
Example: MongoDB - Could be any other service
Mongo Cluster 1DEA
VM VM VM
Mongo Cluster 2
VM VM VM
Service Bosh
Service Provisioner Inception VM
cf bind-service mongodb mydb1
Anynines Elastic Runtime MongoDB Service
Create Service Instance
Blob Store Cloud Controller
Health Manager
DEA
App Container App Container
Service Broker
Example: MongoDB - Could be any other service
Mongo Cluster 1DEA
VM VM VM
Mongo Cluster 2
VM VM VM
Service Bosh
Service Provisioner Inception VM
{user: john, password: doe}
Anynines Elastic Runtime MongoDB Service
MongoDB Service Broker
MongoDB Bosh
MongoDB Service Clusters
…
Load Balancer & SSL Broker
Application Router
Cloud Controller Health Manager
UAA Login Service
NATS Messaging Bus
DEA Pool
DEA VM 1 DEA VM 2 DEA VM n
App Container 1
App Container 2
App Container 3
App Container 4
App Container 5 App Container n
Blob Store
Bosh
Bosh Director
…
Bosh Health Manager
Bosh Workers Bosh Resurrector
Bosh Task Queue Bosh DNS Server
How to deploy this multitude of services?
Bosh
• IaaS agnostic
• Turnkey deployments for large distributed systems
• VM orchestration
• Installation automation
Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack)
CF Health Manager (Process)
Bosh Agent
VIR
TU
AL
MA
CH
INE
Process Monitor
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
Bosh Health Monitor
Bosh Director
NATS Message Bus
Infrastructure Level Self-Healing
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
Bosh CLI
Bosh Blobstore
DNS Server
Bosh CPI
Registry
Resurrector
Task Queue
Task Workers
VM
VM
VM
VM
VM
VM
VM
VM
Bosh CPI -
Cloud Provider Interface
Bosh CPI# Stemcell create_stemcell(image, cloud_properties) delete_stemcell(stemcell_id) !# VM create_vm(agent_id, stemcell_id, resource_pool, networks, disk_locality, env) delete_vm(vm_id) reboot_vm(vm_id) configure_networks(vm_id, networks) !# Disk create_disk(size, vm_locality) delete_disk(disk_id) attach_disk(vm_id, disk_id) detach_disk(vm_id, disk_id)
Four Layers of HA
1. Application Failure⇒ Reboot in new Container ✔
2. Rack Failure⇒ Availability Zones ✔
3. PaaS Process Failure⇒ Reboot component in a new VM ✔
4. PaaS VM Failure⇒ VM Monitor ⇒ Recreate VM ✔
Application Failure
Anynines Elastic Runtime
Blob Store Cloud Controller Health Manager
NATS Message Bus
DEADEA DEA
App Container
= Droplet = Your runnable app
App Container App Container
Application Level Self-Healing
Availability Zone Failure (e.g. Rack Failure)
Anynines Elastic Runtime
IaaS Availability Zone 1 IaaS Availability Zone 2 IaaS Availability Zone 3
DEAs DEAs DEAs
Application Container
Application Container
Application Container
Application Container
Application Container
Application Container
Application Container
Application Container
Application Level Self-Healing
PaaS Process Failure
Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack)
CF Health Manager (Process)
Bosh Agent
VIR
TU
AL
MA
CH
INE
Process Monitor
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
Bosh Health Monitor
Bosh Director
NATS Message Bus
Infrastructure Level Self-Healing
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
CF DEA (Process)
Process Monitor
PaaS VM Failure
Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack)
CF Health Manager (Process)
Bosh Agent
VIR
TU
AL
MA
CH
INE
Process Monitor
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
Bosh Health Monitor
Bosh Director
NATS Message Bus
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
Infrastructure Level Self-Healing
Anynines Operations Manager (Bosh) Anynines IaaS (OpenStack)
CF Health Manager (Process)
Bosh Agent
VIR
TU
AL
MA
CH
INE
Process Monitor
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
Bosh Health Monitor
Bosh Director
NATS Message Bus
Infrastructure Level Self-Healing
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process Monitor
CF DEA (Process)
VIR
TU
AL
MA
CH
INE
Bosh Agent Process MonitorBosh Agent
Summary
• Cloud Foundry is a free, production ready Heroku-like PaaS
• Awesome app runtime
• Service orchestration
• Transparent due to open source
• No vendor-lock in
• Bosh is a cloud-ready orchestration tool
• Describe a distributed-system blueprint⇒ Bosh will build it for you. Ready to use.
Which part(s) should be presented in the next talk?
Thank you!
top related