The slides for my UBC Alumni talk on programming for the Cloud. I show Cloud Foundry as an example of an open cloud platform and how easy it is to create modular, scalable applications using it.
3. Andrew Eisenberg
UBC Computer Science Ph.D. 2008
• A simple edit-time metaobject protocol
• Gregor Kiczales, supervisor
2
4. Andrew Eisenberg
UBC Computer Science Ph.D. 2008
• A simple edit-time metaobject protocol
• Gregor Kiczales, supervisor
VMware
• Sr Member of Technical Staff
• SpringSource Tools Team
2
5. Andrew Eisenberg
UBC Computer Science Ph.D. 2008
• A simple edit-time metaobject protocol
• Gregor Kiczales, supervisor
VMware
• Sr Member of Technical Staff
• SpringSource Tools Team
IDEs and Tools
• Scripted-Editor
• Cloud Foundry Dev Tools
• Groovy & Grails IDE
• AspectJ Development Tools
• Spring IDE
• Gradle IDE
2
6. Andrew Eisenberg
UBC Computer Science Ph.D. 2008
• A simple edit-time metaobject protocol
• Gregor Kiczales, supervisor
VMware
• Sr Member of Technical Staff
• SpringSource Tools Team
IDEs and Tools
• Scripted-Editor
• Cloud Foundry Dev Tools
• Groovy & Grails IDE
• AspectJ Development Tools
• Spring IDE
• Gradle IDE
2
7. Andrew Eisenberg
UBC Computer Science Ph.D. 2008
• A simple edit-time metaobject protocol
• Gregor Kiczales, supervisor
VMware
• Sr Member of Technical Staff
• SpringSource Tools Team
IDEs and Tools
• Scripted-Editor
• Scripted-Editor
• Cloud Foundry Dev Tools
• Groovy & Grails IDE
• AspectJ Development Tools
• Spring IDE
• Gradle IDE
2
9. Open cloud platforms
Provide
• Cost effective hosting environments
• Easy deployment and management
• Flexibility and choice
3
10. Open cloud platforms
Provide
• Cost effective hosting environments
• Easy deployment and management
• Flexibility and choice
And help facilitate
• Scalable web apps
• Modular services
• Responsive clients
3
11. Open cloud platforms
Provide
• Cost effective hosting environments
• Easy deployment and management
• Flexibility and choice
And help facilitate
• Scalable web apps
• Modular services
• Responsive clients
Are awesome!
• Easy to use
• Don’t need to worry about boring stuff
• Help make great applications
3
13. What I’m going to talk about
Part I: What is it?
• Kinds of clouds
• Cloud platforms
• Open vs Closed platforms
• Cloud Foundry
4
14. What I’m going to talk about
Part I: What is it?
• Kinds of clouds
• Cloud platforms
• Open vs Closed platforms
• Cloud Foundry
Part II: What does this let us do?
4
15. What I’m going to talk about
Part I: What is it?
• Kinds of clouds
• Cloud platforms
• Open vs Closed platforms
• Cloud Foundry
Part II: What does this let us do?
• Scalability
• Services
• Responsive clients
4
24. What is the cloud?
But, it’s different this time…it really is:
• virtualization
• more bandwidth
• less latency
• cheaper hardware
• always connected mobile devices
13
26. Social networking for pets!
http://pethooligans.com/wp-content/uploads/2012/04/pethooligan-300x225.png
15
27. Social networking for pets!
Come up with great idea
http://pethooligans.com/wp-content/uploads/2012/04/pethooligan-300x225.png
15
28. Social networking for pets!
Come up with great idea
Start coding
http://pethooligans.com/wp-content/uploads/2012/04/pethooligan-300x225.png
15
29. Social networking for pets!
Come up with great idea
Start coding
Prototype
http://pethooligans.com/wp-content/uploads/2012/04/pethooligan-300x225.png
15
30. Social networking for pets!
Come up with great idea
Start coding
Prototype
Test
http://pethooligans.com/wp-content/uploads/2012/04/pethooligan-300x225.png
15
31. Social networking for pets!
Come up with great idea
Start coding
Prototype
Test
Now...deploy to the cloud
http://pethooligans.com/wp-content/uploads/2012/04/pethooligan-300x225.png
15
35. Kinds of clouds
First there was SaaS
• Software as a Service
Then there was IaaS
• Infrastructure as a Service
17
36. Kinds of clouds
First there was SaaS
• Software as a Service
Then there was IaaS
• Infrastructure as a Service
Now there is PaaS
• Platform as a Service
• (Cloud platform)
17
53. Infrastructure as a Service (IaaS)
They give you servers
• you don’t know where
• you don’t know if they are real
They manage hardware
You manage software
• spawn
• shutdown
• deploy
• provision
20
54. Infrastructure as a Service (IaaS)
They give you servers
• you don’t know where
• you don’t know if they are real
They manage hardware
You manage software
• spawn
• shutdown
• deploy
• provision
Now can I make my pets social?
20
55. Infrastructure as a Service (IaaS)
They give you servers
• you don’t know where
• you don’t know if they are real
They manage hardware
You manage software
• spawn
• shutdown
• deploy
• provision
Now can I make my pets social?
• almost
20
56. Infrastructure as a Service (IaaS)
They give you servers
• you don’t know where
• you don’t know if they are real
They manage hardware
You manage software
• spawn
• shutdown
• deploy
• provision
Now can I make my pets social?
• almost
20
74. Closed and Open PaaS
First PaaS’s were closed
2008 2008 2006?
24
75. Closed and Open PaaS
First PaaS’s were closed
2008 2008 2006?
• Apps are written to natively take advantage of proprietary cloud APIs
• Apps are simple and elegant
• You write your app using their APIs
24
76. Closed and Open PaaS
First PaaS’s were closed
2008 2008 2006?
• Apps are written to natively take advantage of proprietary cloud APIs
• Apps are simple and elegant
• You write your app using their APIs
• Run on their servers
• Closed source
• Limited choice of languages, platforms, and services
24
78. A cautionary tale
Google app engine
• Write your Java/python code
• Use proprietary (but powerful) APIs
• Push app to Google servers
• (Maybe) pay a bit of money
25
79. A cautionary tale
Google app engine
• Write your Java/python code
• Use proprietary (but powerful) APIs
• Push app to Google servers
• (Maybe) pay a bit of money
Uh oh!
• September 2011
• Google (rightfully) wants to turn a profit on GAE
• Mid-2011 pricing change:
• pay for Instance hours, not CPU hours
25
81. Reactions
High Scalabilty:
The dream is dead. Google App
Engine's bold pay for what you use
dream dies as it leaves childish things
behind and becomes a real product.
http://highscalability.com/blog/2011/9/7/what-google-app-engine-price-changes-say-about-the-future-of.html
26
82. Reactions
High Scalabilty:
The dream is dead. Google App
Engine's bold pay for what you use
dream dies as it leaves childish things
behind and becomes a real product.
http://highscalability.com/blog/2011/9/7/what-google-app-engine-price-changes-say-about-the-future-of.html
The Register:
Unloading their anger on the official
Google App Engine mailing list, some
developers have vowed to move their
applications to competing services. But
others have pointed out that because of
the service's unique design, such a
move would itself be quite costly.
http://www.theregister.co.uk/2011/09/02/google_app_engine_users_on_pricing_change/
26
83. Reactions
High Scalabilty:
The dream is dead. Google App
Engine's bold pay for what you use
dream dies as it leaves childish things
behind and becomes a real product.
http://highscalability.com/blog/2011/9/7/what-google-app-engine-price-changes-say-about-the-future-of.html
FA
IL
The Register:
Unloading their anger on the official
Google App Engine mailing list, some
developers have vowed to move their
applications to competing services. But
others have pointed out that because of
the service's unique design, such a
move would itself be quite costly.
http://www.theregister.co.uk/2011/09/02/google_app_engine_users_on_pricing_change/
26
84. Now what?
Three options:
• Pay the money
• Rewrite app to run on a traditional server
• Shut down your app
27
85. Now what?
Three options:
• Pay the money
• Rewrite app to run on a traditional server
• Shut down your app
GAE is not open and
there is only one place
to run your app
27
88. Bring on the Open...
Open cloud platforms
• open source
28
89. Bring on the Open...
Open cloud platforms
• open source
• choice
28
90. Bring on the Open...
Open cloud platforms
• open source
• choice
• public hosted cloud
• private cloud
28
91. Bring on the Open...
Open cloud platforms
• open source
• choice
• public hosted cloud
• private cloud
• flexibility
28
92. Bring on the Open...
Open cloud platforms
• open source
• choice
• public hosted cloud
• private cloud
• flexibility
• language
28
93. Bring on the Open...
Open cloud platforms
• open source
• choice
• public hosted cloud
• private cloud
• flexibility
• language
• services
28
94. Bring on the Open...
Open cloud platforms
• open source
• choice
• public hosted cloud
• private cloud
• flexibility
• language
• services
• strong user community
28
95. Bring on the Open...
Open cloud platforms
• open source
• choice
• public hosted cloud
• private cloud
• flexibility
• language
• services
• strong user community
28
96. Bring on the Open...
Open cloud platforms
• open source
• choice
• public hosted cloud
• private cloud
• flexibility
• language
• services
• strong user community
28
101. Cloud Foundry open PaaS - Choice of application services
Ap
Data
p lic
Services
at
io
n
Se
Msg
Services
r vic
e
In
te
Other
r
Services
fa
e c
102. Cloud Foundry open PaaS - Choice of application services
vFabric
Postgres
Ap
Data
p lic
Services
at
io
vFabric
n
RabbitMQTM
Se
Msg
Services
r vic
e
In
te
Other
r
Services
fa
c
Additional partners
e
services …
103. Cloud Foundry open PaaS - Choice of clouds
ec
fa
Ap
r
Private
te
Data
p
In
lic
Services
Clouds
at
er
io
vid
n
o
Public
Se
Msg
Pr
Services
r
Clouds
vic
ud
o
e
Cl
In
Micro
te
Other
r
Services
Clouds
fa
e c
104. Write code, not tickets
Write the application
Run it in the way that you want
No need to cobble together middleware stack
Installing packages and writing configs is not fun
Coding is fun
34
106. Micro Cloud Foundry – Downloadable PaaS
Micro Cloud Foundry
Runtimes & Frameworks
Services
Your Laptop/PC
Single VM instance of
Cloud Foundry
that runs on a developer’s
MAC or PC
36
107. Choose my own cloud
Remember IaaS?
Cloud Foundry can run on any of them
37
108. Choose my own cloud
Remember IaaS?
Cloud Foundry can run on any of them
37
115. Cloud Foundry from a mile high
Cloud Controllers
Provisions services
and apps
41
116. Cloud Foundry from a mile high
Cloud Controllers
Provisions services
and apps
Droplet Execution
Agents
41
117. Cloud Foundry from a mile high
Cloud Controllers
Encapsulates
Provisions services
apps
and apps
Droplet Execution
Agents
41
118. Cloud Foundry from a mile high
Cloud Controllers
Encapsulates
Provisions services
apps
and apps
Droplet Execution
Services
Agents
41
119. Cloud Foundry from a mile high
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
120. Cloud Foundry from a mile high
Routers
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
121. Cloud Foundry from a mile high
Routers
Routes client
requests
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
122. Cloud Foundry from a mile high
HealthManagers Routers
Routes client
requests
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
123. Cloud Foundry from a mile high
Watches for dead
droplets services
and routers
HealthManagers Routers
Routes client
requests
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
124. Cloud Foundry from a mile high
Watches for dead
droplets services
and routers
HealthManagers Routers
Routes client
requests
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
125. Cloud Foundry from a mile high
Watches for dead
droplets services
and routers
Message
HealthManagers bus Routers
Routes client
requests
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
126. Cloud Foundry from a mile high
Browser & VMC
Watches for dead
droplets services
and routers
Message
HealthManagers bus Routers
Routes client
requests
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
127. Cloud Foundry from a mile high
Browser & VMC
Watches for dead
droplets services
and routers
Message
HealthManagers bus Routers
Routes client
requests
Cloud Controllers
DB, messaging, Encapsulates
Provisions services
etc apps
and apps
Droplet Execution
Services
Agents
41
128. What’s easy now that I have the cloud?
Scalability
• vmc instances n
Power of services
• provision through the command line
Responsive client
• constant ongoing communication between client and server
• websockets
42
134. What happened?
What is the cloud?
SaaS
IaaS
PaaS
• open vs. closed
Cloud Foundry
Open cloud platforms
• are flexible
• facilitate modular, scalable applications
45
135. What happened?
What is the cloud?
SaaS
IaaS
PaaS
• open vs. closed
Cloud Foundry
Open cloud platforms
• are flexible
• facilitate modular, scalable applications
• are awesome!
45
We’re making multi-cloud a reality with a choice of cloud infra, a choice of private cloud distributions and a choice of public cloud providers. These are all announced and more in the pipe.\n
We’re making multi-cloud a reality with a choice of cloud infra, a choice of private cloud distributions and a choice of public cloud providers. These are all announced and more in the pipe.\n
We’re making multi-cloud a reality with a choice of cloud infra, a choice of private cloud distributions and a choice of public cloud providers. These are all announced and more in the pipe.\n
We’re making multi-cloud a reality with a choice of cloud infra, a choice of private cloud distributions and a choice of public cloud providers. These are all announced and more in the pipe.\n
We’re making multi-cloud a reality with a choice of cloud infra, a choice of private cloud distributions and a choice of public cloud providers. These are all announced and more in the pipe.\n
We’re making multi-cloud a reality with a choice of cloud infra, a choice of private cloud distributions and a choice of public cloud providers. These are all announced and more in the pipe.\n