cloud foundry anniversary: technical slides
DESCRIPTION
These are my slides from today's Cloud Foundry Anniversary event. This is just the technical portion of the deck.TRANSCRIPT
© 2012 VMware, Inc. All rights reserved
Cloud Foundry Update The Industry’s Open Platform as a Service
Twitter: @cloudfoundry
2
CONFIDENTIAL
Mark Lucovsky VP Engineering, Cloud Foundry, VMware
© 2012 VMware, Inc. All rights reserved
3
CONFIDENTIAL
CloudFoundry.org
© 2012 VMware, Inc. All rights reserved
4
CONFIDENTIAL
The New CloudFoundry.org
Reviewers +2/-2
test verification score ✓ ✗ git push triggers test execution
Gerrit Code Review
reviews.cloudfoundry.org
Jenkins CI
ci.cloudfoundry.org
github
github.com/cloudfoundry
+1/-1 Committers
on +2 and ✓ change pushed to github
cloudfoundry.com
production updated ~2x/week
© 2012 VMware, Inc. All rights reserved
5
CONFIDENTIAL
More Clouds
More Community
More Code
More Partners
© 2012 VMware, Inc. All rights reserved
6
CONFIDENTIAL
§ Services • Caldecott – tunnel into your services, explore with standard client tools • PostgreSQL, RabbitMQ
§ Frameworks, Runtimes, and Tools • Java and Ruby Auto-Reconfiguration • Scala, node.JS 0.6.*, Erlang, JRuby, PHP, Python, .NET, Spring 3.1, Grails 2.0
• Multi-Node Chef based deployment tools
• Maven Plugin, Eclipse Integration • VMC manifests, Java Debugging, Rails Console
§ Micro Cloud Foundry x 3
What have we been up to: Visible Features
© 2012 VMware, Inc. All rights reserved
7
CONFIDENTIAL
§ Developer Visible Features
§ Contributor Visible Features • re-visiting architectural issues • extensive hardening
• algorithm tuning • scalability enhancements
• operational enhancements
80% of our work has been below the water line
© 2012 VMware, Inc. All rights reserved
8
CONFIDENTIAL
§ awesome conceptual architecture, logical flows
§ simplistic design provided a solid conceptual foundation
§ scalability, robustness, operational efficiency, and extensibility was inadequate
§ deconstruction/refactoring • enable multiple independently
scalable components • eliminate “boot storms” at scale
• tune the hot data paths
§ apply learning from the beta • across the board and to all major
system components
App lifecycle management: at launch
cc - db
cloud controller
NFS
health manager
fetch droplets
start/stop instances
get expected state
actual state
resources, droplets, packages
dea
© 2012 VMware, Inc. All rights reserved
9
CONFIDENTIAL
App lifecycle management: +1yr
© 2012 VMware, Inc. All rights reserved
staging jobs
redis
cc - db
cloud controller stager
package cache
blobstore
uaa - db dea
health manager
staging logs uaa - AuthN
more new code than old code
New!
New!
New!
New!
New!
New!
New!
v2 v2
v2*
10
CONFIDENTIAL
§ Major internal rewrite § Validating isolation model in Jenkins § Live in CF.com ~30d
App execution (DEA): at launch and +1yr
© 2012 VMware, Inc. All rights reserved
apps
dea.rb
warden container*
app
private fs
private network
nat and firewall
dea.rb container api
* also running in our Jenkins workers
11
CONFIDENTIAL
Router: at launch and +1yr
nginx
router.rb
nats
dea
<app>.cf.com
ê node:port
proxied request
proxied request
http request
nginx (+lua extension)
upstream locator svc
nats
dea
<app>.cf.com
ê node:port
proxied request
lookup node:port
http request
© 2012 VMware, Inc. All rights reserved
12
CONFIDENTIAL
§ 500 – 5,000 VMs § 40+ unique node types § 75+ unique software packages § 75+ unique environments § 2x/week cf.com updates § 24x7x365 non-stop operation § No-downtime deployments § Reliable, robust, repeatable
deployments, updates, capacity adjustments
§ Small teams manage many instances
Production Grade Cloud Foundry Clusters
production, staging, stress, qa, dev
Google style problem Google style solution
cloudfoundry.com
© 2012 VMware, Inc. All rights reserved
13
CONFIDENTIAL
§ Cloud Foundry BOSH is an open source tool-chain for release engineering, deployment, and lifecycle management of large scale distributed services • Prescriptive way of creating releases and managing systems and services • It is not a collection of shell scripts, not a pile of Perl
§ Built to deploy and manage production-class, large scale clusters • Production grade Cloud Foundry clusters: 500+ VMs, 40+ jobs, 75+ packages
• Multi-node, multi-tier, complex clusters: e.g., our Gerrit/Jenkins Cluster
§ Built for devops usage and scale by a crack team of veterans • A project, not a product: command line interface, YAML, etc. • Continuous improvement, iterative development, rough edges
Cloud Foundry BOSH
github.com/cloudfoundry/bosh © 2012 VMware, Inc. All rights reserved
14
CONFIDENTIAL
BOSH: under the hood
active jobs
disk IaaS CPI
workers
bosh cli
redis nats
stemcell agent
db
blobs
director healthmon
“BOSH is deployed by BOSH”
cloudfoundry.com
© 2012 VMware, Inc. All rights reserved
BOSH User
15
CONFIDENTIAL
IaaS neutral by design
© 2012 VMware, Inc. All rights reserved
CPI: code complete functional status: “work in progress”
vSphere: battle tested implementation, thousands of deployments vCloud Director: “work in progress”, 2H 2012
contribute: github.com/cloudfoundry/bosh
Cloud Provider Interface (CPI)
Cloud Foundry BOSH
16
CONFIDENTIAL
§ Learn • developers: http://docs.cloudfoundry.com • contributors: http://cloudfoundry.org
§ Ask Questions • using BOSH: http://groups.google.com/a/cloudfoundry.org/group/bosh-users • code BOSH: http://groups.google.com/a/cloudfoundry.org/group/bosh-dev
• code VCAP: http://groups.google.com/a/cloudfoundry.org/group/dev
• use cloudfoundry.com: http://support.cloudfoundry.com
§ File a Bug • http://cloudfoundry.atlassian.net
§ Browse, Fork, Contribute • browse on github: https://github.com/cloudfoundry/bosh • contribute: gerrit-clone ssh://reviews.cloudfoundry.org:29418/bosh.git
Where do I go for what
© 2012 VMware, Inc. All rights reserved