2. History
• VMware founded 1998
• x86/x64 OS Emulation & Binary Translation
• VMware Workstation 1999
• VMware Server 2001
• EMC buys VMware
$625M 2004
Diane Greene
Monday, May 9, 2011 2
3. History
• Prepare DataCenter,
Cloud 2007-
• Old CEO fired,
new CEO Paul from
EMC Cloud Service
• Buy SpringSource $420M,
Paul Maritz
Move to Platform, 2009
• CloudFoundry 2011
Monday, May 9, 2011 3
4. History - Spring
• Started 2002, Rod Johnson, Juergen Holler
• Lightweight Application Platform (then JEE)
• Spring 1.0, 2004
• Spring 2.0, 2006, Spring 2.5, 2007
• Spring 3.0, 2009, Acquired to VMware
Monday, May 9, 2011 4
5. Cloud History
• Google founded 1996~8
• GFS 2003, BigTable 2004, Gmail 2004, Docs 2006
• Salesforce 1999
• Facebook founded 2004
• Facebook Platform 2007
• Twitter founded 2006
• Amazon EC2 2006
• Oracle buys Sun 2009
Monday, May 9, 2011 5
10. Ruby App Demo
• Target -VCAP (host api.vcap.me)
• Ubuntu Server 10.04 LTS
(on VMware Fusion)
• VCAP Installed & Started Client
• Client
• Ruby1.8
• Sinatra
11. Ruby Demo - Env
SeanMacBookPro:foo sean$ pwd
/Users/sean/Documents/Projects/CloudFoundry/foo
SeanMacBookPro:foo sean$ cat foo.rb
require 'rubygems'
require 'sinatra'
get '/' do
host = ENV['VCAP_APP_HOST']
port = ENV['VCAP_APP_PORT']
"<h1>Ruby-Sinatry CloudFoundry</h1><h2>#{host}:#{port}</h2>"
end
SeanMacBookPro:foo sean$ vmc info
VMware's Cloud Application Platform
For support visit support@cloudfoundry.com
Target: http://api.vcap.me (v0.999)
Client: v0.3.10
User: sean@weaveus.com
Usage: Memory (0B of 2.0G total)
Services (0 of 16 total)
Apps (0 of 20 total)
SeanMacBookPro:foo sean$
Monday, May 9, 2011 11
12. Ruby - Demo - Push
SeanMacBookPro:foo sean$ vmc push foo
Would you like to deploy from the current directory? [Yn]:
Application Deployed URL: 'foo.vcap.me'?
Detected a Sinatra Application, is this correct? [Yn]:
Memory Reservation [Default:128M] (64M, 128M, 256M, 512M, 1G or 2G)
Creating Application: OK
Would you like to bind any services to 'foo'? [yN]:
Uploading Application:
Checking for available resources: OK
Packing application: OK
Uploading (0K): OK
Push Status: OK
Staging Application: OK
Starting Application: OK
SeanMacBookPro:foo sean$ vmc push foo -n
// ‘-n’ no questions
SeanMacBookPro:foo sean$ vmc list
+-------------+----+---------+-------------+----------+
| Application | # | Health | URLS | Services |
+-------------+----+---------+-------------+----------+
| foo | 1 | RUNNING | foo.vcap.me | |
+-------------+----+---------+-------------+----------+
SeanMacBookPro:foo sean$ vmc update foo
// after a modification of
// the application
Monday, May 9, 2011 12
28. VCAP
• Cloud Controller
• Health Manager
• Router
• DEA: Droplet Execution Agent
• Services
• NATS - as a Bus. Pub/Sub Messaging
Monday, May 9, 2011 28
29. VCAP
VMC
Client
Front-End Cloud Redis Redis
Router Redis
Nginx Controller Gateway Node Redis
DEA
DEA MySQL MySQL
(App.
(App. MySQL
Server Gateway Node MySQL
Server
Node)
Node)
http://blog.cloudfoundry.com/
post/5223861703/how-cloud-
foundry-works-when-a-new-
application-is
Health MongoDB MongoDB
NAT MongoDB
http://blog.cloudfoundry.com/ Manager Gateway Node MongoDB
post/4754582920/cloud-
foundry-open-paas-deep-dive
Monday, May 9, 2011 29