This session is being led by Ferran Rodenas of VMware and Dekel Tankel of Cloud Foundry
They’ll be working us through a deep dive into CF and CF-Bosh on OpenStack as well as the integration work they’ve done for CF and OpenStack.
Cloud Foundry has moved to Pivotal, a joint effort outside VMware & EMC to build a platform of awesome sauce. Cloud Foundry is a PaaS, don’t worry about plumbing. Press go, let PaaS plumb for you. Cloud Foundry runs everywhere, OpenStack, AWS, VMware, etc. BOSH let’s them do this. “Empower Developers to build great apps”
Unit of deployment is the application. No VMs, no DB, no App servers. Focus on the App. To illustrate the point of PaaS, a flow chart, and flow charts suck and make apps take 6 months to go to staging.Instead of 400 steps, “deploy, target, bind, etc.” Cloud Foundry is open. Shi ps with support for scala, node.js, java, php, python, etc. If the service / language isn’t there, it can be added quickly. Because everything is bound as a service in the PaaS, you can change DB back-ends between environments with no code changes.
Now the demo. Ferran takes the stage to dig deep into deploying Cloud Foundry with BOSH on OpenStack. CF, 5k unique VMs, 75+ packages, deploy to prod twice a week, 0 downtime. I believe he’s making the pitch for BOSH. CF-BOSH is a tool chain for release engineering, designed to deploy CloudFoundry.
– Job: describes how to roll out the package in VMs.
– Release: ties all the jobs, etc together. Number of workers, environment, etc.
– Stem Cell: VM Template / Image.
– Deployments: Config file for a release.
BOSH Under the hood:
– Director – Orchestrator of the environment. Either works with the CLI or the REST API.
– Blogstore – A store where you buy blobs. Can contain source, images, etc. S3/Swift, etc.
– Workers – Does the work
– Message Bus
– Health monitor – checks state of VMs running. If something goes sideways, let the director know. It’s extensible, and can be integrated with your existing monitoring.
– IaaS CPI – Everything above this point is agnostic. This is where it gets real and allows for talking to different cloud provider interfaces.
– Agents – Runs in the VMs, talks to the bosh components.
– StemCell – Glance
– VM – Nova/Quantum
– Disk – Cinder (VM disks)/Swift (Blobstore)
Now digging into a deployment file for WordPress. I’m at a bad angle for a picture. Interesting concept: Canaries in the deployment. Canaries spin up and then BOSH waits a while to see if the canary is still alive before deploying the rest.