8. Clouds According to NIST
âCloud computing is a model for enabling convenient, on-demand
network access to a shared pool of configurable computing
resources that can be rapidly provisioned and released with
minimal management effort or service provider interaction.
This cloud model promotes availability and is composed of five
essential characteristics, three service models, and four
deployment models.â
National Institute of Standards and Technology
http://csrc.nist.gov/groups/SNS/cloud-computing/
8
zaterdag 30 januari 2010
9. NIST: Five Characteristics
Things that are considered cloud:
On-demand, self-service
Broad network access
Resource pooling
Rapid elasticity
Measured service
9
zaterdag 30 januari 2010
10. NIST: Three Service Models
Cloud applications are:
Software as a Service
Platform as a Service
Infrastructure as a Service
10
zaterdag 30 januari 2010
11. NIST: Four Deployment Models
Private cloud
Community cloud
Public cloud
Hybrid cloud
11
zaterdag 30 januari 2010
13. Application Layers
Standard layers in a typical application:
Application
System Software
Storage
Operating System
Hardware
Network
13
zaterdag 30 januari 2010
14. Infrastructure as a Service
Parts of the infrastructure offered as service to your app:
Application
System Software
Storage
Operating System
Hardware
Network
14
zaterdag 30 januari 2010
15. Infrastructure as a Service
Pitfalls:
⢠Vendor lock-in
⢠Security
⢠Integrity of the service provider
Advantages:
⢠Easily scalable
⢠Move from capital expense to operational expense
⢠Metered use
⢠Donât worry about hardware...
15
zaterdag 30 januari 2010
17. The Hardware/OS Layer
Typically offered as Virtual Machine images
Gives âthrow hardware at the problemâ a new dimension
Elastic load balancing divides traffic over instances
17
zaterdag 30 januari 2010
18. Example: The Rackspace Cloud
The RackspaceCloud is what used to be called Mosso
Powerful API for managing your cloud
Easy access in PHP through Aleksey Korzunâs PHP API:
⢠http://github.com/AlekseyKorzun/php-cloudservers
Concepts
⢠Images (various operating systems)
⢠Flavors (configuration: mem, cpu, disk)
18
zaterdag 30 januari 2010
21. Clouds for Development
Private Cloud:
⢠Flexible development environments
⢠Easy to simulate large scale environments
⢠Easy to set up multiple clusters
21
zaterdag 30 januari 2010
24. IaaS Architecture
Prepare your app to run on IaaS
24
zaterdag 30 januari 2010
25. Horizontal Scalability
If you run your app on multiple servers today, would it work?
Typical problem areas:
⢠Sessions
⢠Files
25
zaterdag 30 januari 2010
26. Horizontal Scalability
Danga - http://www.danga.com/
⢠People behind LiveJournal / SixApart
⢠Creators of tools to help make software horizontally scalable
⢠Memcache - distributed caching, session clustering
⣠http://github.com/andreiz/php-memcached
⢠MogileFS - distributed file storage
⣠http://projects.usrportage.de/index.fcgi/php-mogilefs
⢠Gearman - distributed parallel job processing / message queue
⣠http://pecl.php.net/package/gearman/
26
zaterdag 30 januari 2010
27. Elasticity
Fewer bottlenecks
⢠More elasticity
⢠Easier to scale
27
zaterdag 30 januari 2010
30. Abstraction
Abstract services where possible
30
zaterdag 30 januari 2010
31. Abstraction
Con:
⢠Common denominator functionality
⢠Adds some overhead
Pro:
⢠Reduce vendor lock-in
⢠Increase flexibility
⢠Save development time
⢠No need to learn different APIs
⢠Promotes competition between providers
31
zaterdag 30 januari 2010
32. Abstraction
Zendâs SimpleCloud
⢠http://simplecloud.org
⢠Good attempt at generic cloud abstraction
32
zaterdag 30 januari 2010
33. Characteristics Of Your App
Service oriented
Stateless
Low coupling
Modularity
Interoperability
33
zaterdag 30 januari 2010
34. Infra as a Service = SLA Hell?
Find out service levels of infrastructure components
Get proper support
Create âWhat if...â scenarios
⢠What if Amazon is down?
⢠What if SupaDupaCloudStore goes bankrupt?
Who owns the data?
Pay attention to license agreements
34
zaterdag 30 januari 2010
36. Platform as a Service
Complete platform offered as a service:
Application
System Software
Storage
Operating System
Hardware
Network
36
zaterdag 30 januari 2010
37. Platform as a Service
Platform scales up and down as necessary
Same pitfalls and advantages as IaaS, plus:
⢠Donât worry about scalability
37
zaterdag 30 januari 2010
39. Google AppEngine
http://code.google.com/appengine/
Python and Java
Able to run PHP via Quercus (Java PHP interpreter)
⢠http://www.webdigi.co.uk/blog/2009/run-php-on-the-google-app-engine/
⢠http://www.caucho.com/resin-3.0/quercus/
Technology needs to prove itself
⢠Example sites running on Quercus:
⣠http://www.webmonkey.com/
⣠http://www.style.com/stylefile/
39
zaterdag 30 januari 2010
41. Rackspaceâs TrueHybrid
Platform selects the best operating system for your site
Magically blends Windows and Linux, ASP.NET and PHP
41
zaterdag 30 januari 2010
42. Other Platforms for PHP
NING
⢠http://ning.com
⢠Social Network PaaS
Force.com
⢠Salesforce cloud platform
⢠Business applications
Overall no serious enough candidate yet
⢠Somebody should create an AppEngine for PHP
42
zaterdag 30 januari 2010
44. Software as a Service
Everything in the cloud:
Application
System Software
Storage
Operating System
Hardware
Network
44
zaterdag 30 januari 2010
45. Software as a Service
Complete applications or application components
Popular phrase: âWe are moving our ... to the cloudâ
Examples:
⢠Gmail
⢠Google Apps (office apps, calendar, email)
⢠Salesforce for CRM
Often built on IaaS
⢠Dropbox file sharing (makes use of Amazon S3 for storage)
⢠Jungledisk backups (same)
45
zaterdag 30 januari 2010
47. Example: Salesforce
Gives access to all your data in Salesforce using SOAP
PHP library available
Documentation abundant
⢠http://developer.force.com/
Salesforce was SaaS way before term âcloudâ was coined
Most developer friendly SaaS
⢠Documentation
⢠Sandbox functionality (paid)
47
zaterdag 30 januari 2010
48. Example: Salesforce
Source adapted from tutorial at http://www.mikesimonds.com
48
zaterdag 30 januari 2010
49. Example: Google Apps
Many features available through Zend_Gdata_* in ZF
⢠Information retrieval
⢠Document storage
⢠Calendering
⢠Account Configuration
49
zaterdag 30 januari 2010
51. General SaaS suggestions
Want to work with X from PHP?
⢠Google âX PHP apiâ or âX php tutorialâ
⢠Youâre almost never the first to want to work with it
Cloud apps are easier to work with than most desktop/
noncloud apps.
Testing
⢠You donât want to jeopardize your production data
⢠See if there is a sandbox feature (Salesforce has one)
⢠If not, create test accounts
51
zaterdag 30 januari 2010
52. The âWarcraft Effectâ
Clouds are living entities that change when youâre not looking
52
zaterdag 30 januari 2010
54. Creating SaaS
In 2 years Cloud Infrastructure will be a commodity
⢠Itâll be all about application development
Building an application for multiple users/customers
Things to pay attention to:
⢠Reliability (one customer getting in the way of another)
⢠Security (competitors seeing each otherâs data)
⢠Deployment
⢠Maintenance
54
zaterdag 30 januari 2010
55. Multi-Tenancy evolution
Source: http://msdn.microsoft.com/en-us/library/aa479069.aspx
55
zaterdag 30 januari 2010
58. Things to think about
Privacy
Shared data
Collaboration
Interoperability
Vendor lock
58
zaterdag 30 januari 2010
59. Putting it all together
How we use Cloud Technology @ Ibuildings
59
zaterdag 30 januari 2010
60. The IT Cloud @ Ibuildings
60
zaterdag 30 januari 2010
61. The IT Cloud @ Ibuildings
61
zaterdag 30 januari 2010
62. Summary
If you were sleeping, wake up now!
62
zaterdag 30 januari 2010
63. Summary
What is the Cloud?
⢠The cloud = IaaS + PaaS + SaaS
If you have trouble remembering:
⢠Cloud = Platform, Infrastructure & Software as a Service
63
zaterdag 30 januari 2010
64. Summary
With your next PHP application:
⢠See if you can run it on a Cloud Platform
⢠See if you can run parts on Cloud Infrastructure
⢠See if you can use Software as a Service components
⢠See if you can offer it as a service
⢠Keep your architecture âcloud readyâ
Think about clouds!
⢠In a couple of years, weâll all be doing it
64
zaterdag 30 januari 2010
65. Food for Thought
Letâs leave you with something to think about
65
zaterdag 30 januari 2010
66. Food for Thought
Are you worried about this?
Cloud
Cloud
Provider
Whereâs my
data?!
66
zaterdag 30 januari 2010
67. Food for Thought
Then what about this?
Financial System
Bank
Whereâs my
money?!
Our money has been in the cloud since the 18th century!
67
zaterdag 30 januari 2010
68. Ibuildings is hiring!
Win an iPad:
http://www.ibuildings.com/challenge
68
zaterdag 30 januari 2010