DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 • Run apps as easy as Heroku • Let the person with the problem write & run the app • Especially in enterprises
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 important to me • No secret sauce • Everything open source • Any infrastructure • But, oh but, ...
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 • System manifest (deployment) • Server images (stemcells) • Packaging system (packages) • Server config (jobs) complete running servers
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 • System manifest (deployment) • Server images (stemcells) • Packaging system (packages) • Server config (jobs) complete server management
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 • System manifest (deployment) • Server images (stemcells) • Packaging system (packages) • Server config (jobs) complete networking
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 deploying cloud foundry • Initial experimentation on AWS • Quiet launch on OpenStack • Scale out over multi-data centers
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 how big is Cloud foundry? • minimum 10 running jobs • Up to 50 diff jobs • 80+ packages https://github/cloudfoundry/cf-release
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 Owning cloud Foundry • Potentially daily releases • Enterprise customizations • Dev --> Staging --> Production • Small --> Medium --> Large • Lifespan is 5-10 years • Need simple UX for entire lifecycle
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 stemcell / image packages jobs deployment manifest common and public written by system authors edited by system operator
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 gem
install
bosh-‐bootstrap bosh-‐bootstrap
deploy bosh-‐bootstrap
ssh bosh
cf
prepare
system
demo bosh
cf
change
deas
3 bosh
cf
add
service
postgresql
2 bosh
cf
add
service
redis
1 bosh
deploy Try this:
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 redis redis_node pgsql postgresql_node pgsql postgresql_node dea dea dea router cloud controller (api) nats health manager uaa (sso) internal postgres internal redis postgres gateway redis gateway 54.214.3.29 drniccloud.com
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 Create own bosh releases: gem
install
bosh-‐gen bosh-‐gen
new
my-‐system cd
my-‐system git
submodule
add
src/myapp bosh-‐gen
package
myapp
-‐f
‘src/**/*’ bosh-‐gen
job
webapp
-‐p
myapp bosh-‐gen
extract-‐job
../cf-‐release/jobs/pg
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 • Upgrade system • Scale system • Upgrade machine images • Change properties/databag $ bosh deploy
DR NIC, STARK & WAYNE | WHY BOSH? I JUST LEARNT CHEF | CLOUDTECH4 APRIL 2013 bosh https://github/cloudfoundry/bosh $
bosh
deploy $
cf
push https://github/cloudfoundry/cf-release