This talk will provide an overview of the PaaS (Platform as a Service) landscape, and will describe the Cloud Foundry open source PaaS, with its multi-framework, multi-service, multi-cloud model.
Cloud Foundry allows developers to provision apps in Java/Spring, Ruby/Rails, Ruby/Sinatra, Javascript/Node, and leverage services like MySQL, MongoDB, Reddis, Postgres and RabbitMQ. It can be used as a public PaaS on CloudFoundry.com and other service providers (ActiveState, AppFog), to create your own private cloud, or on your laptop using the Micro Cloud Foundry VM.
The talk will end with a demo of Cloud Foundry in action, showing the end to end development workflow, from developing locally with Micro Cloud Foundry to deploying on Cloud Foundry.com.
If you want to get started with Cloud development, bring your laptops, check the requirements and download pre-requisites at https://cloudfoundry.com/micro, and we'll help you setup your environment and get started with Cloud Foundry on your local machine.
1. Cloud Foundry
The Open Platform as a Service
Patrick Chanezon
Senior Director
Developer Relations
chanezonp@vmware.com
http://twitter.com/chanezon Cloud Expo Bootcamp, Nov 2011
2
Wednesday, November 9, 11
2. P@ in a nutshell
• French, based in San Francisco
• Senior Director, Developer Relations,VMware
• Software Plumber, API guy, mix of Enterprise and
Consumer
• 18 years writing software, backend guy with a
taste for javascript
• 2 y Accenture (Notes guru), 3 y Netscape/AOL
(Servers, Portals), 5 y Sun (ecommerce, blogs,
Portals, feeds, open source)
• 6 years at Google, API guy (first hired, helped start the
team)
• Adwords, Checkout, Social, HTML5, Cloud
Wednesday, November 9, 11
3. Predictions
“The future is already here
— it's just not very evenly
distributed”
William Gibson
3
Wednesday, November 9, 11
8. Back to Client Server: Groovy Baby!
8
Wednesday, November 9, 11
9. What is Cloud Computing?
Cloud According to my daughter Eliette
9
Wednesday, November 9, 11
10. Cloud Stack - Classic Pyramid
Software
As A Service
Platform As A Service
Infrastructure As A Service
10
Wednesday, November 9, 11
11. Cloud Stack - By Number
Software
As A Service
Platform As A Service
Infrastructure
As A Service
11
Wednesday, November 9, 11
12. Cloud Stack - By Value
Software
As A Service
Platform As A Service
Infrastructure
As A Service
12
Wednesday, November 9, 11
13. Cloud Stack - Neutral
Software
As A Service
Platform As A Service
Infrastructure As A Service
13
Wednesday, November 9, 11
14. Cloud Stack - History
§ What does cloud mean, 4 main angles
• Software 1994 Netscape
• Infrastructure 2002 Amazon AWS
• Platform 2008 Google
• Development now!
§ Industrialization of hardware and software infrastructure
• like electricity beginning of 20th century, cf The Big Switch, Nick Carr
§ But software development itself is moving towards craftmanship
14
Wednesday, November 9, 11
15. Crossing the Chasm
§ Build the whole product
§ Cloud getting mainstream: Apple iCloud
§ Opportunities and risks
§ Ecosystems, various platforms
Picture from Wikimedia Foundation http://en.wikipedia.org/wiki/File:Technology-Adoption-Lifecycle.png
15
Wednesday, November 9, 11
16. Cloud started at Consumer websites solving their needs
• Google, Amazon, Yahoo, Facebook, Twitter
• Large Data Sets
• Storage Capacity growing faster than Moore’s Law
• Fast Networks
• Horizontal -> Vertical scalability
• Open Source Software
• Virtualization
• Cloud is a productization of these infrastructures
• Public Clouds Services: Google, Amazon
• Open Source Software: Hadoop, Eucalyptus, Ubuntu, Cloud Foundry
Wednesday, November 9, 11
18. IaaS/Virtualization getting mainstream
§ AWS, Joyent, Rackspace,...
§ Open Source projects: OpenStack, DeltaCloud, Eucalyptus
§ Automation: Chef, Juju
§ Standardization? DMTF
§ Inside the Firewall, Virtualization: VMware, Microsoft, Xen, KVM
§ Easy to provision, manage instance...BUT
§ Still need to manage backups, software stacks, monitor, upgrades
18
Wednesday, November 9, 11
19. With Infrastructure, you still need to build your own platform
§ Need to build a distributed platform on top of you infrastructure
§ Story of the AWS meltdown from last summer
• http://blog.reddit.com/2011/03/why-reddit-was-down-for-6-of-last-24.html
• http://www.readwriteweb.com/cloud/2010/12/chaos-monkey-how-netflix-
uses.php
• http://news.ycombinator.com/item?id=2477296
• http://stu.mp/2011/04/the-cloud-is-not-a-silver-bullet.html
§ Twilio, Smugmug, SimpleGeo survived it because they built their
own distributed platform on top of IaaS
§ Enterprise customers want to consider Infrastructure like CDNs
• Multi Cloud usage
• Based on Open Source de facto standards, or full standards whenever that
happens
19
Wednesday, November 9, 11
21. Platforms
§ Raise the Unit of currency to be application & services instead of
infrastructure
§ Google App Engine, Cloud Foundry, Joyent, Heroku, Stax
(Cloudbees), Amazon elastic beanstalk, Microsoft Azure, AppFog
§ Single or a few languages, services
§ Start of Multi language Polyglot platforms
§ Enabler for Agile Developers -> Create Business value faster
§ Lack of standards: risk, vendor lock-in
§ Enterprise needs:
• Control, customizability
• Private/Hybrid Cloud
• Avoid lock-in
21
Wednesday, November 9, 11
23. Agility as a survival skill
§ Consumer software is becoming like fashion
• Phone apps, social apps, short lifetime, fast lifecycles
• Ab testing
§ Clay shirky situational apps
§ Kent Beck, Usenix 2011 Talk
change in software process when frequency grows
§ Cloud Platforms enables an Agile culture, driver for innovation
• Scalability is built in the platforms
• Can iterate faster
• Focus on design
23
Wednesday, November 9, 11
24. Main Risk: Lock-In
Welcome to the hotel california
Such a lovely place
Such a lovely face
Plenty of room at the hotel california
Any time of year, you can find it here
Last thing I remember, I was
Running for the door
I had to find the passage back
To the place I was before
’relax,’ said the night man,
We are programmed to receive.
You can checkout any time you like,
But you can never leave!
24
Wednesday, November 9, 11
25. Cloud Foundry: The Open PaaS
• Open Source: Apache 2 Licensed
• multi language/frameworks
• multi services
• multi cloud
Ap
ce
pli
vFabric
rfa
Postgres Private
ca
nte
Data
Services tio Clouds
rI
n
e
Se
Public
vid
vFabric
RabbitMQTM rvi
Cloud
ro
Msg Services
ce
dP
Micro
ou
Other
Cloud
Cl
Services
25
Wednesday, November 9, 11
32. What is a Micro Cloud?
Or
Entire Cloud Running inside of a single VM
32
Wednesday, November 9, 11
33. Micro Cloud Foundry… (BETA)
A pre-built Micro (Single VM) version of Cloud Foundry…
You need a Cloud Foundry.com Account to use Micro Cloud Foundry
Signup @ http://cloudfoundry.com/micro
33
Wednesday, November 9, 11
34. Micro Cloud Foundry… (BETA)
A pre-built Micro (Single VM) version of Cloud Foundry…
Micro
You need a Cloud Foundry.com Account to use Micro Cloud Foundry
Signup @ http://cloudfoundry.com/micro
33
Wednesday, November 9, 11
35. Pre-requisites
Resources
Minimum 1 GB Minimum 8 GB Internet Connectivity
RAM Disk (w/DHCP is ideal)
Virtualization
Clients
VMC STS
Command line GUI
34
Wednesday, November 9, 11
36. What is in Micro Cloud Foundry?
.COM
Dynamic Updating DNS
App Instances Services
Open source Platform as a Service project
10.04
35
Wednesday, November 9, 11
37. Other Cloud Foundry powered PaaS
Private PaaS
Added Python and Perl
Public PaaS
Added PHP
36
Wednesday, November 9, 11
38. Development
LifeCycle
37
Wednesday, November 9, 11
39. Traditional App Deploy and Request/Response
Web
Request/Allocate
Web Build/Setup
Install/Configure
App
Deploy/Test
App
Scale?
Upgrade?
DB
DB
Update?
Wednesday, November 9, 11
40. How Apps are Deployed on Cloud Foundry
Web
Web
App
“vmc push MyApp” DB
App
Web
Scale? “vmc instances MyApp 5”
DB Upgrade? “vmc map MyApp MyApp2”
Update? “vmc update MyApp”
Wednesday, November 9, 11
41. How Apps are Deployed on Cloud Foundry
Web
Web
App
“vmc push MyApp” DB
App
Web
Scale? “vmc instances MyApp 5”
DB Upgrade? “vmc map MyApp MyApp2”
Update? “vmc update MyApp”
Wednesday, November 9, 11
42. How Apps are Accessed on Cloud Foundry
Request Web Interface
Load
Balancing
Response
and
Routing
Web
App
App Instance
DB
“vmc push MyApp”
Service
Wednesday, November 9, 11
43. How Apps are Scaled on Cloud Foundry
Request
Load
Load
Load
Balancer(s)
Balancing Response
Balancer(s)
and
Routing
App Instances
Web Web Web
App App App
DB
“vmc instances MyApp 3”
Service
Wednesday, November 9, 11
44. How Apps are Updated on Cloud Foundry
Previous Instance Updated New
Version Stopped Code Version
Web Web Web Web
App App App App
DB DB
Service Service
“vmc update MyApp”
Wednesday, November 9, 11
57. Cloud Foundry Resources
Primary Site : cloudfoundry.com
Open Source Site : cloudfoundry.org
Twitter : @cloudfoundry , hash tag #cfoundry
Blog : blog.cloudfoundry.com
FB : facebook.com/cloudfoundry
Support : support.cloudfoundry.com
• Documentation
• Knowledge Base
• Q & A / Forums
52
Wednesday, November 9, 11
58. Stackato
Troy Topnik, ActiveState
53
Wednesday, November 9, 11
60. Thank You!
t @CloudFoundry
t @chanezon
Website : www.cloudfoundry.com
Blog : blog.cloudfoundry.com
Forum : support.cloudfoundry.com
Wednesday, November 9, 11
61. Books / Articles
§ Nick Carr, The Big Switch
§ Eric Raymond, The Art of Unix Programming
§ Weinberg, Psychology of Computer Programming
§ Wes python book
§ Mark html5 book
§ Kent Beck XP
§ Hunt, Thomas, The Pragmatic Programmer
§ Ade Oshineye, Apprenticeship Patterns
§ Matt Cutt's Ignite Talk IO 2011, Trying different things
§ Josh Bloch talk about api design
§ Larry and Sergey, Anatomy of a Search Engine
§ Rob Pike, The Practice of Programming
56
Wednesday, November 9, 11
62. Papers / Talks
§ Simon Wardley, Oscon 09 “Cloud - Why IT Matters”
§ Tim O’Reilly article on internet os
§ Peter Deutsch’s 8 Fallacies of Distributed Computing
§ Brewer’s CAP Theorem
§ Gregor Hohpe’s Starbucks Does Not Use Two-Phase Commit
§ Stuff I tag http://www.delicious.com/chanezon/
§ More specifically http://www.delicious.com/chanezon/cloudfoundry
§ My previous Talks http://www.slideshare.net/chanezon
§ My list of favorite books
http://www.chanezon.com/pat/soft_books.html
57
Wednesday, November 9, 11
63. Acknowledgement
§ Drawings from my daughters Eliette
§ Slides from Dave McCrory, Derek Collison
58
Wednesday, November 9, 11