cloudcamp ghent - cloud foundry-20111121
DESCRIPTION
Talk given at Cloud Camp Ghent around Cloud Foundry, VMware's Open Platform As A ServicesTRANSCRIPT
a practical introduction to
a practical introduction to
Lode Vermeiren@[email protected]
...but f irst some theory
MOVING APPS INTO THE CLOUD ERA
Build a Data
Fabric
Modernize Applications
Deploy & Scale w/PaaS
& other frameworks
vFabric 5 tc Server, RabbitMQ, ERS, Hyperic, EM4J
vFabric 5 GemFire, SQLFire (beta), Postgres, Data Driector
WHAT’S NEW FOR APPS?
WHAT’S NEW FOR APPS?
New frameworks & languages• Increase developer productivity
•Reduce time to market
WHAT’S NEW FOR APPS?
New frameworks & languages• Increase developer productivity
•Reduce time to market
New devices and domains•Mobile, social, and SaaS integration
WHAT’S NEW FOR APPS?
New frameworks & languages• Increase developer productivity
•Reduce time to market
New devices and domains•Mobile, social, and SaaS integration
New data types and requirements•Data deluge driving data tier elasticity
•Flexible NoSQL data solutions
•Realtime data
WHAT’S NEW FOR APPS?
New frameworks & languages• Increase developer productivity
•Reduce time to market
New devices and domains•Mobile, social, and SaaS integration
New data types and requirements•Data deluge driving data tier elasticity
•Flexible NoSQL data solutions
•Realtime data
New infrastructures•Virtualization, Cloud, PaaS
Deploy
model
CHALLENGES DEVELOPING & OPERATING APPS
cachedatabasemessaging
appserver appserver appserver
load balancer
worker
load balancer
Manage
Virtual Datacenter / IaaS infrastructure
WHAT DO DEVELOPERS & OPERATIONS WANT?
Virtual Datacenter / IaaS infrastructure
$ vmc push my_front_end$ vmc push my_back_end$ bind services? Yes
Cloud Foundry
Friction free application deployment/mgmt
•Self service end-to-end•Deploy, manage, update, scale up/down•Integrated health, management, policy enforcement
•Simple API, CLI, DSL that expresses intent
•System automatically creates and maintains all connections
•Services are easy to consume, provided “aaS”
• Integrated elasticity: $ vmc instances my-app +4
Maximize developer productivity, minimize opex
CLOUD FOUNDRY OPEN PAAS
It’s all about Choice
Choice of clouds for deployment
Choice of industry-standard frameworks
Choice of application infrastructure services
Extensible architecture to “digest” future cloud innovation
Available as open source
CHOICE OF FRAMEWORKS
Application Service Interface
Data Services
Other Services
Msg Services
vFabric Postgres
CHOICE OF APPLICATION SERVICES
Clo
ud P
rovi
der
Inte
rfac
e
Private Clouds
PublicClouds
MicroClouds
Application Service Interface
Data Services
Other Services
Msg Services
vFabric Postgres
CHOICE OF CLOUDS
Clo
ud P
rovi
der
Inte
rfac
e
Private Clouds
PublicClouds
MicroClouds
.COM
Partners
Application Service Interface
Data Services
Other Services
Msg Services
vFabric Postgres
CHOICE OF CLOUDS
Bare metalProject “Bento”
Choice of Cloud Infrastructure
Choice of Private Cloud Distributions
Choice of Public Cloud Providers
.COM
MAKING MULTI-CLOUD A REALITY
Runtimes & Frameworks
Services
vCenter / vSphere
Cloud Foundry
Infrastructure
CLOUDFOUNDRY.COM
Runtimes & Frameworks
Services
Your Laptop
Cloud Foundry
MICRO CLOUD FOUNDRY™
Runtimes & Frameworks
Services
Your Laptop
Cloud Foundry
MICRO CLOUD FOUNDRY™
(that’s it!)
Your infrastructure
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
DownloadCode
Setup Environment
Deploy Behind Firewall
Apache 2 license
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
Cloud Foundry
CLOUDFOUNDRY.ORG - COMMUNITY PROJECT
demo time!
require ‘rubygems’
require ‘sinatra’
get ‘/’ do
host = ENV[‘VMC_APP_HOST’]
port = ENV[‘VMC_APP_PORT’]
“Hello from CCG MCF Demo – Node : #{host}:#{port}”
end
1.unzip2.check NAT3.register dns4.vmc target5.vmc register6.vmc login7.vmc push8.change target9.vmc push require ‘rubygems’
require ‘sinatra’
get ‘/’ do
host = ENV[‘VMC_APP_HOST’]
port = ENV[‘VMC_APP_PORT’]
“Hello from CCG MCF Demo – Node : #{host}:#{port}”
end
Getting to your stuff: vmc tunnel
http://blog.cloudfoundry.com/post/12928974099/now-you-can-tunnel-into-any-cloud-foundry-data-service
TRY IT OUT TODAY
1. MICRO CLOUD USB STICKS
2. CLOUDFOUNDRY.COM ACCOUNT:Use Promo Code “cloudcampgh” and skip the queue. (Code expires nov 26)
TRY IT OUT TODAY
1. MICRO CLOUD USB STICKS
2. CLOUDFOUNDRY.COM ACCOUNT:Use Promo Code “cloudcampgh” and skip the queue. (Code expires nov 26)
write this down!
THX!
@lode
slideshare.net/lodev
cloudfoundry.com - cloudfoundry.orggithub.com/cloudfoundry
THX!
@lode
slideshare.net/lodev
cloudfoundry.com - cloudfoundry.orggithub.com/cloudfoundry
slides with extra links
LINKS• Getting started: http://support.cloudfoundry.com/home
• Background story: http://www.wired.com/wiredenterprise/2011/11/cloud-foundry/
• Code: http://github.com/cloudfoundry
• PaaS: http://cloudfoundry.com
• Project: http://cloudfoundry.org
• Twitter: #cfoundry
• Facebook: http://facebook.com/cloudfoundry
• Working offline with Micro Cloud Foundry: http://blog.cloudfoundry.com/post/9962996319/working-offline-with-micro-cloud-foundry
• Environment variables: http://hello-spring-cli.cloudfoundry.com/env
• Redis demo: http://support.cloudfoundry.com/entries/20320253-introduction-to-using-micro-cloud-foundry
• Other links: https://pinboard.in/u:lode/t:cloudfoundry/ (coming in the following days as I find them :))