This video is part of our talk about BOSH held by the CEO of anynines - Julian Fischer (Twitter: @fischerjulian) - at the SUSECON 2016 in Washington, D.C..
10. „BOSH let’s you orchestrate the
lifecycle of large-scale
deployments of
distributed systems
to infrastructure.“
11. Infrastructure as a Service (IaaS), e.g. OpenStack
VIRTUAL DATACENTER
VIRTUAL MACHINE
BOSH
Router
STORAGE
Storage Node Storage Node Storage Node
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
BOSH API
Storage Volume
Operating
System
BOSH Agent
VIRTUAL MACHINE
BOSH CLI
$> bosh deploy
IaaS API
BOSH CPI
12. Infrastructure as a Service (IaaS), e.g. OpenStack
VIRTUAL DATACENTER
VIRTUAL MACHINE
BOSH
Router
STORAGE
Storage Node Storage Node Storage Node
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
BOSH API
Operating
System
BOSH Agent
VIRTUAL MACHINE
BOSH CLI
$> bosh deploy
IaaS API
PostgreSQL
BOSH CPI
13. Infrastructure as a Service (IaaS), e.g. OpenStack
VIRTUAL DATACENTER
VIRTUAL MACHINE
BOSH
Router
STORAGE
Storage Node Storage Node Storage Node
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
BOSH API
Operating
System
BOSH Agent
VIRTUAL MACHINE
BOSH CLI
$> bosh deploy
IaaS API
…
BOSH Agent
VIRTUAL MACHINE
PostgreSQL Operating
System
BOSH Agent
VIRTUAL MACHINE
Cloud
Controller
Operating
System
BOSH Agent
VIRTUAL MACHINE
UAA
BOSH CPI
16. BOSH Installation BOSH Managed Infrastructure
Resources
Some process
BOSH Agent
VIRTUALMACHINE
Process Monitor
Yet another process
VIRTUALMACHINE
BOSH Agent Process Monitor
BOSH Health Monitor
BOSH Director
NATS Message Bus
Some other process
VIRTUALMACHINE
BOSH Agent Process Monitor
Process Monitor
BOSH Registry
BLOB Store
❤️
🎖
🎖
🎖
📡
CPI
MACHIN
E
17. BOSH Installation
VIRTUAL MACHINE
🎖 BOSH Director
📡 NATS Message Bus
🎖 BOSH Registry
🎖 BLOB Store
BOSH Health Monitor❤️
BOSH on a single VM = MicroBOSH
18. BOSH Installation
VIRTUAL MACHINE
BOSH Health Monitor❤️
BOSH on multiple VMs
VIRTUAL MACHINE
BOSH Director🎖
VIRTUAL MACHINE
BOSH Registry🎖
VIRTUAL MACHINE
BLOB Store
🎖
❤️
VIRTUAL MACHINE
NATS Message Bus📡
23. • VM template
• BOSH clones new VMs from stemcells
• Stemcell = OS + BOSH Agent
• BOSH Agent acts on the VM
• Stemcells are infrastructure and OS
specific (VMware + Ubuntu, OpenStack + CentOS, etc.)
38. VMware
BOSH
BOSH CLI
$> bosh target http://bosh-on.vmware.com$> bosh deploy
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
OpenStack
BOSH
AWS
BOSH
39. BOSH CLI
VMware AWS OpenStack
$> bosh target http://bosh-on.aws.com$> bosh deploy
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
BOSH BOSH BOSH
40. OpenStack
BOSH
BOSH CLI
$> bosh target http://bosh-on.openstack.com$> bosh deploy
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
Some
Service / App
BOSH Agent
VIRTUAL MACHINE
VMware
BOSH
AWS
BOSH
41. Infrastructure as a Service (IaaS), e.g. OpenStack
VIRTUAL DATACENTER
VIRTUAL MACHINE
BOSH
Router
STORAGE
Storage Node Storage Node Storage Node
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
BOSH API
Operating
System
BOSH Agent
VIRTUAL MACHINE
BOSH CLI
$> bosh deploy
IaaS API
…
BOSH Agent
VIRTUAL MACHINE
PostgreSQL Operating
System
BOSH Agent
VIRTUAL MACHINE
Cloud
Controller
Operating
System
BOSH Agent
VIRTUAL MACHINE
UAA
BOSH CPI
42. OpenStack
VIRTUAL DATACENTER
VIRTUAL MACHINE
BOSH
Router
STORAGE
Storage Node Storage Node Storage Node
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
BOSH API
Operating
System
BOSH Agent
VIRTUAL MACHINE
BOSH CLI
$> bosh deploy
IaaS API
PostgreSQL Operating
System
BOSH Agent
VIRTUAL MACHINE
Cloud
Controller
Operating
System
BOSH Agent
VIRTUAL MACHINE
UAA
OPENSTACK CPI
43. VIRTUAL DATACENTER
VIRTUAL MACHINE
BOSH
Router
STORAGE
Storage Node Storage Node Storage Node
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
HDD HDD
BOSH API
Operating
System
BOSH Agent
VIRTUAL MACHINE
BOSH CLI
$> bosh deploy
IaaS API
PostgreSQL Operating
System
BOSH Agent
VIRTUAL MACHINE
Cloud
Controller
Operating
System
BOSH Agent
VIRTUAL MACHINE
UAA
AWS CPI
44. • Switch deployment between clouds
• Keep the same release
• Use a stemcell specific to the new
cloud
• Adapt the cloud config
53. Horizontal Scaling
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
Some Service
BOSH Agent
VIRTUAL MACHINE
54. • Scaling-out a BOSH deployed system
• Keep the same release
• Use the same stemcell
• Change the manifest
56. 4GB RAM
1 vCPU
10GB persistent disk
BOSH Agent
VIRTUAL MACHINE
4 GB RAM, 1 vCPU
10 GB Persistent Disk
Data
PostgreSQL
57. BOSH Agent
PostgreSQL
VIRTUAL MACHINE
8 GB RAM, 2 vCPUs
10 GB Persistent Disk
Data
BOSH Agent
VIRTUAL MACHINE
4 GB RAM, 1 vCPU
PostgreSQL
10 GB Persistent Disk
Data
20 GB Persistent Disk
Data
59. • Src code is compiled in a freshly
created VMs
• VMs always contain exact the software,
specified in the release
• No left-overs of prior deployments as
new VMs are used.
64. BOSH Installation BOSH Managed
Infrastructure Resources
Some process
BOSH Agent
VIRTUALMACHINE
Process Monitor
Yet another process
VIRTUALMACHINE
BOSH Agent
BOSH Health Monitor
BOSH Director
NATS Message Bus
Some other process
VIRTUALMACHINE
BOSH Agent Process Monitor
BOSH Registry
BLOB Store
❤️
🎖
🎖
🎖
📡
CPI
MACHIN
E
Some other process
Process MonitorProcess Monitor
66. BOSH Installation BOSH Managed
Infrastructure Resources
Some process
BOSH Agent
VIRTUALMACHINE
Process Monitor
Yet another process
VIRTUALMACHINE
BOSH Agent
BOSH Health Monitor
BOSH Director
NATS Message Bus
Some other process
VIRTUALMACHINE
BOSH Agent Process Monitor
BOSH Registry
BLOB Store
❤️
🎖
🎖
🎖
📡
CPI
MACHIN
E
Some other process
Process MonitorProcess Monitor
Process Monitor
68. BOSH Installation BOSH Managed
Infrastructure Resources
Some process
BOSH Agent
VIRTUALMACHINE
Process Monitor
Yet another process
VIRTUALMACHINE
BOSH Agent Process Monitor
NATS Message Bus
Some other process
VIRTUALMACHINE
BOSH Agent Process Monitor
Process Monitor
BOSH Registry
BLOB Store
🎖
🎖
📡
🎖 BOSH Director
CPI
MACHIN
E
Some other process
VIRTUALMACHINE
BOSH Agent Process Monitor
BOSH Health Monitor❤️
70. BOSH Managed
Infrastructure Resources
Yet another process
VIRTUALMACHINE
Process Monitor
BOSH Installation
Some process
BOSH Agent
VIRTUALMACHINE
Process Monitor
BOSH Agent
NATS Message Bus
Some other process
VIRTUALMACHINE
BOSH Agent Process Monitor
BOSH Registry
BLOB Store
🎖
🎖
📡
🎖 BOSH Director
CPI
MACHIN
E
BOSH Agent
BOSH Health Monitor❤️
Yet another process
VIRTUALMACHINE
Process MonitorBOSH Agent
anynines, Cloud Foundry company. Training, dev, ops & data services.
Or rather use docker? No!
large-scale: several hundred VMs
distributed systems: such as CF. Dozenz of components.Deployment to infrastructure: prefer the resulting platform for anything that does not need to run directly on infrastructures.
BOSH Registry: stores config information of vms. Used during bootstrapping of VMs.