uds 2011 - cloud foundry and ubuntu, a marriage made in heaven
DESCRIPTION
Cloud Foundry is an open source Cloud Platform as a Service "OpenPaaS" project created by VMware, developed in Ruby on Ubuntu. It is multi-language/framework (Java, Ruby, Node), multi-service (MongoDB, Reddis, MySQL, Postgres, RabbitMQ) and multi-cloud: it runs on your laptop, as Micro Cloud Foundry, an Ubuntu VMware image containing the whole platform, but it can also run on many Cloud infrastructure providers (Cloudfoundry.com, Appfog, ActiveState), and can be used to create your own private cloud. In this talk Patrick will talk about Cloud Foundry and its potential for developers, IT managers and Sysadmins. The talk will be follwed by a demo some of Juju charms that allow you to deploy your own Ubuntu based multi-node cloud foundry platform on Amazon EC2 in 10 minutes.TRANSCRIPT
Cloud Foundry and Ubuntua marriage made in heaven!
Patrick ChanezonSenior DirectorDeveloper [email protected]://twitter.com/chanezon Ubuntu Developer Summit, November 2011
Monday, October 31, 11
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
Monday, October 31, 11
Predictions
“The future is already here — it's just not very evenly distributed” William Gibson
3
Monday, October 31, 11
Architecture Changes: 60’s Mainframe
Monday, October 31, 11
Architecture Changes: 80’s Client-Server
Monday, October 31, 11
Architecture Changes: 90’s Web
Monday, October 31, 11
Architecture Changes: 2010’s Cloud, HTML5, Mobile
Monday, October 31, 11
Back to Client Server: Groovy Baby!
8
Monday, October 31, 11
What is Cloud Computing?
9
Cloud According to my daughter Eliette
Monday, October 31, 11
Cloud Stack - Classic Pyramid
10
Platform As A Service
Infrastructure As A Service
SoftwareAs A Service
Monday, October 31, 11
Cloud Stack - By Number
11
Platform As A Service
InfrastructureAs A Service
SoftwareAs A Service
Monday, October 31, 11
Cloud Stack - By Value
12
InfrastructureAs A Service
SoftwareAs A Service
Platform As A Service
Monday, October 31, 11
Cloud Stack - Neutral
13
Platform As A Service
Infrastructure As A Service
SoftwareAs A Service
Monday, October 31, 11
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
Monday, October 31, 11
Crossing the Chasm
§ Build the whole product
§ Cloud getting mainstream: Apple iCloud
§ Opportunities and risks
§ Ecosystems, various platforms
15
Picture from Wikimedia Foundation http://en.wikipedia.org/wiki/File:Technology-Adoption-Lifecycle.png
Monday, October 31, 11
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
Monday, October 31, 11
17
Infrastructure
Monday, October 31, 11
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
Monday, October 31, 11
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
Monday, October 31, 11
20
Platforms
Monday, October 31, 11
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
Monday, October 31, 11
Agile Development Processes
Monday, October 31, 11
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 Talkchange 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
Monday, October 31, 11
Main Risk: Lock-In
24
Welcome to the hotel californiaSuch a lovely placeSuch a lovely facePlenty of room at the hotel californiaAny time of year, you can find it here
Last thing I remember, I wasRunning for the doorI had to find the passage backTo 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!
Monday, October 31, 11
Cloud Foundry: The Open PaaS
25
Clou
d Pr
ovide
r Int
erfa
ce
Application Service Private Clouds
PublicCloud
MicroCloud
Data Services
Other Services
Msg Services
vFabric Postgres
vFabric RabbitMQTM
• Open Source: Apache 2 Licensed
• multi language/frameworks
• multi services
• multi cloud
Monday, October 31, 11
26
Open Source
Monday, October 31, 11
Open Source Advantage
§ http://code.google.com/p/googleappengine/issues/detail?id=13
27
• https://github.com/cloudfoundry/vcap/pull/25
Monday, October 31, 11
Open Source Advantage
28
§ Juju Charms to setup a multi node Cloud Foundry in 10 minutes
§ See Brian Thomason & Juan Negron’s session at 2:45 pm
http://cloud.ubuntu.com/2011/09/from-zero-to-drawbridge-via-ubuntu-server-ensemble-and-cloudfoundry-in-less-than-10-minutes/
Monday, October 31, 11
29
Multi Cloud
Monday, October 31, 11
30
CloudFoundry.COM
Runtimes & Frameworks
Services
vCenter / vSphere
Cloud Foundry
Infrastructure
Monday, October 31, 11
31
Cloud Foundry.ORG
The Source Code to Compile & Build Cloud Foundry
vCenter / vSphere
Cloud Foundry
DownloadCode
Setup Environment
Deploy Behind Firewall
Setup Scripts
Monday, October 31, 11
Micro Cloud Foundry
32
Micro
Monday, October 31, 11
What is a Micro Cloud?
33
Entire Cloud Running inside of a single VM
Or
Monday, October 31, 11
Micro Cloud Foundry… (BETA)
34
A pre-built Micro (Single VM) version of Cloud Foundry…
Signup @ http://cloudfoundry.com/micro
You need a Cloud Foundry.com Account to use Micro Cloud Foundry
Monday, October 31, 11
Micro Cloud Foundry… (BETA)
34
A pre-built Micro (Single VM) version of Cloud Foundry…
Signup @ http://cloudfoundry.com/micro
You need a Cloud Foundry.com Account to use Micro Cloud Foundry
Micro
Monday, October 31, 11
Pre-requisites
35
Resources
Virtualization
Clients
Minimum 1 GB
RAM
Minimum 8 GB
Disk
Internet Connectivity
(w/DHCP is ideal)
VMC STSCommand line GUI
Monday, October 31, 11
What is in Micro Cloud Foundry?
36
Open source Platform as a Service project
App Instances Services
10.04
Dynamic Updating DNS
.COM
Monday, October 31, 11
Other Cloud Foundry powered PaaS
37
Private PaaS
Added Python and Perl
Public PaaS
Added PHP
Monday, October 31, 11
38
Development LifeCycle
Monday, October 31, 11
Traditional App Deploy and Request/Response
Web
App
DB
Web
App
DB
Request/AllocateBuild/SetupInstall/ConfigureDeploy/Test
Scale?Upgrade?Update?
Monday, October 31, 11
Web
How Apps are Deployed on Cloud Foundry
Web
App
DB
“vmc push MyApp”
WebApp
DB
“vmc instances MyApp 5”“vmc map MyApp MyApp2”“vmc update MyApp”
Scale?Upgrade?Update?
Monday, October 31, 11
Web
How Apps are Deployed on Cloud Foundry
Web
App
DB
“vmc push MyApp”
WebApp
DB
“vmc instances MyApp 5”“vmc map MyApp MyApp2”“vmc update MyApp”
Scale?Upgrade?Update?
Monday, October 31, 11
How Apps are Accessed on Cloud Foundry
Web
App
DB
App Instance
Service
Request Web InterfaceLoad
Balancingand
Routing
Response
“vmc push MyApp”
Monday, October 31, 11
How Apps are Scaled on Cloud Foundry
Web
App
DB
App Instances
Service
Request
Response
Load
Balancer(s)Load
Balancer(s)
Load Balancing
and Routing
Web
App
Web
App
“vmc instances MyApp 3”
Monday, October 31, 11
How Apps are Updated on Cloud Foundry
Web
App
DB
Service
Web
App
DB
Service
Web
App
Web
App
PreviousVersion
InstanceStopped
UpdatedCode
NewVersion
“vmc update MyApp”
Monday, October 31, 11
44
Services
Monday, October 31, 11
Current Services Available on Cloud Foundry
45
Monday, October 31, 11
Service Creation and Binding
46
VCAP_SERVICES:
{"redis-2.2":[{"name":"redis_sample","label":"redis-2.2","plan":"free",
"tags":["redis","redis-2.2","key-value","nosql"],
"credentials":
{"hostname":"172.30.48.40",
"host":"172.30.48.40",
"port":5023,
"password":"8e9a901f-987d-4544-9a9e-ab0c143b5142",
"name":"de82c4bb-bd08-46c0-a850-af6534f71ca3"}
}],
"mongodb-1.8":[{"name":"mongodb-e7d29","label":"mongodb-1.8","plan":"free","tags”:………………….
Monday, October 31, 11
Service Creation and Binding
47
App Instance
Monday, October 31, 11
Service Creation and Binding
47
App Instance Redis Service
Monday, October 31, 11
Service Creation and Binding
47
App Instance Redis Service
Monday, October 31, 11
Service Creation and Binding
47
App Instance Redis Service
MongoDB
Service
Monday, October 31, 11
48
How it works
Monday, October 31, 11
Logical View
49
VMC client STS plugin Browser(user app access)
Routers
CloudControllers App
Services
App
HealthManager
DEA Pool
Messaging
Monday, October 31, 11
50
Architecture
Monday, October 31, 11
Register today
51
http://cloudfoundry.com/signup
cfuds2011Use Promo Code
To avoid approval queue waiting time
Monday, October 31, 11
Cloud for Developers: the true path is PaaS!
52
Monday, October 31, 11
Cloud Foundry Resources
53
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
Monday, October 31, 11
Questions
54
?Monday, October 31, 11
Thank You!@CloudFoundry
@chanezon
Website : www.cloudfoundry.comBlog : blog.cloudfoundry.comForum : support.cloudfoundry.com
t
t
Monday, October 31, 11
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
Monday, October 31, 11
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/
§ My previous Talks http://www.slideshare.net/chanezon
§ My list of favorite books http://www.chanezon.com/pat/soft_books.html
57
Monday, October 31, 11
Acknowledgement
§ Drawings from my daughters Eliette
§ Slides from Dave McCrory, Derek Collison
58
Monday, October 31, 11