PHP and the Cloud
                                     http://joind.in/915




                                           ...
Contents




                            WARNING

                            This is not Yet Another
                    ...
What is the Cloud?




                               3
donderdag 22 oktober 2009
What is the Cloud?




                               4
donderdag 22 oktober 2009
Gartner’s Hype Cycle




                                 5
donderdag 22 oktober 2009
Gartner’s Hype Cycle




                                 6
donderdag 22 oktober 2009
Gartner’s Hype Cycle on Clouds




                                           7
donderdag 22 oktober 2009
Clouds According to NIST


               “Cloud computing is a model for enabling convenient, on-demand
                 ...
NIST: Five Characteristics

          Things that are considered cloud:
               On-demand, self-service
           ...
NIST: Three Service Models

          Cloud applications are:
               Software as a Service
               Platform...
NIST: Four Deployment Models

               Private cloud
               Community cloud
               Public cloud
    ...
Infrastructure as a Service




                                                          12
donderdag 22 oktober 2009
Application Layers

          Standard layers in a typical application:


                            Application
        ...
Infrastructure as a Service

          Parts of the infrastructure offered as service to your app:


                     ...
Infrastructure as a Service

               Pitfalls:
               • Vendor lock-in
               • Security
          ...
Infrastructure as a Service




                                        16
donderdag 22 oktober 2009
The Hardware/OS Layer

               Typically offered as Virtual Machine images
               Gives ‘throw hardware at ...
Example: The Rackspace Cloud

               The RackspaceCloud is what used to be called Mosso


               Powerful ...
The Rackspace Cloud in PHP




                                       19
donderdag 22 oktober 2009
The Rackspace Cloud in PHP




                                       20
donderdag 22 oktober 2009
Clouds for Development

               Private Cloud:
               • Flexible development environments
               • ...
Example: Terremark’s Infinicloud




                                             22
donderdag 22 oktober 2009
Terremark’s InfiniCloud




                                    23
donderdag 22 oktober 2009
IaaS Architecture
                            Prepare your app to run on IaaS




                                        ...
Horizontal Scalability

               If you run your app on multiple servers today, would it work?


               Typi...
Horizontal Scalability

               Danga - http://www.danga.com/
               • People behind LiveJournal / SixApart...
Elasticity

               Fewer bottlenecks
               • More elasticity
               • Easier to scale




       ...
Elasticity




                            28
donderdag 22 oktober 2009
Elasticity




                            29
donderdag 22 oktober 2009
Abstraction

               Abstract services where possible




                                                  30
dond...
Abstraction

               Con:
               • Common denominator functionality
               • Adds some overhead


 ...
Abstraction

               Zend’s SimpleCloud
               • http://simplecloud.org
               • Good attempt at ge...
Characteristics Of Your App

               Service oriented
               Stateless
               Low coupling
        ...
Infra as a Service = SLA Hell?

               Find out service levels of infrastructure components
               Get pro...
Platform as a Service




                                                    35
donderdag 22 oktober 2009
Platform as a Service

          Complete platform offered as a service:


                              Application

    ...
Platform as a Service

               Platform scales up and down as necessary




               Same pitfalls and advant...
Platform as a Service




                                  38
donderdag 22 oktober 2009
Google AppEngine

               http://code.google.com/appengine/
               Python and Java


               Able to...
The Rackspace Cloud ‘Sites’




                                        40
donderdag 22 oktober 2009
Rackspace’s TrueHybrid

               Platform selects the best operating system for your site
               Magically b...
Other Platforms for PHP

               NING
               • http://ning.com
               • Social Network PaaS
       ...
Software as a Service




                                                    43
donderdag 22 oktober 2009
Software as a Service

          Everything in the cloud:


                              Application
                    ...
Software as a Service

               Complete applications or application components
               Popular phrase: “We a...
Software as a Service




                                  46
donderdag 22 oktober 2009
Example: Salesforce

               Gives access to all your data in Salesforce using SOAP
               PHP library avai...
Example: Salesforce




       Source adapted from tutorial at http://www.mikesimonds.com

                               ...
Example: Google Apps

               Many features available through Zend_Gdata_* in ZF
               • Information retri...
Example: Google Apps




                                 50
donderdag 22 oktober 2009
General SaaS suggestions

               Want to work with X from PHP?
               • Google ‘X PHP api’ or ‘X php tutor...
The ‘Warcraft Effect’

               Clouds are living entities that change when you’re not looking




                 ...
Creating SaaS




                                            53
donderdag 22 oktober 2009
Creating SaaS

               In 2 years Cloud Infrastructure will be a commodity
               • It’ll be all about appl...
Multi-Tenancy evolution




          Source: http://msdn.microsoft.com/en-us/library/aa479069.aspx


                    ...
Multi-tenant Databases




                                   56
donderdag 22 oktober 2009
Multi-tenant Databases




                                   57
donderdag 22 oktober 2009
Things to think about

               Privacy
               Shared data
               Collaboration
               Inter...
Putting it all together
                            How we use Cloud Technology @ Ibuildings




                         ...
The IT Cloud @ Ibuildings




                                      60
donderdag 22 oktober 2009
The IT Cloud @ Ibuildings




                                      61
donderdag 22 oktober 2009
Summary
                            If you were sleeping, wake up now!




                                               ...
Summary

               What is the Cloud?


               • The cloud = IaaS + PaaS + SaaS


               If you have ...
Summary

               With your next PHP application:
               • See if you can run it on a Cloud Platform
       ...
Food for Thought
                            Let’s leave you with something to think about




                           ...
Food for Thought

          Are you worried about this?



                                                   Cloud
      ...
Food for Thought

          Then what about this?



                                                 Financial System
   ...
Questions ?




                                          68
donderdag 22 oktober 2009
Links & credits
                            Please comment on this talk here: http://joind.in/915

                       ...
Thank you!
                                            Contact details:
                            Ivo Jansch - ivo@ibuil...
Upcoming SlideShare
Loading in...5
×

PHP and the Cloud

17,029

Published on

Slides of the talk I did at Zendcon 09. It tells PHP developers what they need to know about the cloud and gives exampes of how to interact with cloud services and applications.

Published in: Technology
5 Comments
63 Likes
Statistics
Notes
No Downloads
Views
Total Views
17,029
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
5
Likes
63
Embeds 0
No embeds

No notes for slide

PHP and the Cloud

  1. 1. PHP and the Cloud http://joind.in/915 Ivo Jansch Zendcon 2009, October 21st donderdag 22 oktober 2009
  2. 2. Contents WARNING This is not Yet Another “Store files on Amazon S3” talk. 2 donderdag 22 oktober 2009
  3. 3. What is the Cloud? 3 donderdag 22 oktober 2009
  4. 4. What is the Cloud? 4 donderdag 22 oktober 2009
  5. 5. Gartner’s Hype Cycle 5 donderdag 22 oktober 2009
  6. 6. Gartner’s Hype Cycle 6 donderdag 22 oktober 2009
  7. 7. Gartner’s Hype Cycle on Clouds 7 donderdag 22 oktober 2009
  8. 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 donderdag 22 oktober 2009
  9. 9. NIST: Five Characteristics Things that are considered cloud: On-demand, self-service Broad network access Resource pooling Rapid elasticity Measured service 9 donderdag 22 oktober 2009
  10. 10. NIST: Three Service Models Cloud applications are: Software as a Service Platform as a Service Infrastructure as a Service 10 donderdag 22 oktober 2009
  11. 11. NIST: Four Deployment Models Private cloud Community cloud Public cloud Hybrid cloud 11 donderdag 22 oktober 2009
  12. 12. Infrastructure as a Service 12 donderdag 22 oktober 2009
  13. 13. Application Layers Standard layers in a typical application: Application System Software Storage Operating System Hardware Network 13 donderdag 22 oktober 2009
  14. 14. Infrastructure as a Service Parts of the infrastructure offered as service to your app: Application System Software Storage Operating System Hardware Network 14 donderdag 22 oktober 2009
  15. 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 donderdag 22 oktober 2009
  16. 16. Infrastructure as a Service 16 donderdag 22 oktober 2009
  17. 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 donderdag 22 oktober 2009
  18. 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 donderdag 22 oktober 2009
  19. 19. The Rackspace Cloud in PHP 19 donderdag 22 oktober 2009
  20. 20. The Rackspace Cloud in PHP 20 donderdag 22 oktober 2009
  21. 21. Clouds for Development Private Cloud: • Flexible development environments • Easy to simulate large scale environments • Easy to set up multiple clusters 21 donderdag 22 oktober 2009
  22. 22. Example: Terremark’s Infinicloud 22 donderdag 22 oktober 2009
  23. 23. Terremark’s InfiniCloud 23 donderdag 22 oktober 2009
  24. 24. IaaS Architecture Prepare your app to run on IaaS 24 donderdag 22 oktober 2009
  25. 25. Horizontal Scalability If you run your app on multiple servers today, would it work? Typical problem areas: • Sessions • Files 25 donderdag 22 oktober 2009
  26. 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 donderdag 22 oktober 2009
  27. 27. Elasticity Fewer bottlenecks • More elasticity • Easier to scale 27 donderdag 22 oktober 2009
  28. 28. Elasticity 28 donderdag 22 oktober 2009
  29. 29. Elasticity 29 donderdag 22 oktober 2009
  30. 30. Abstraction Abstract services where possible 30 donderdag 22 oktober 2009
  31. 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 donderdag 22 oktober 2009
  32. 32. Abstraction Zend’s SimpleCloud • http://simplecloud.org • Good attempt at generic cloud abstraction • Thursday 9.15, talk by Wil Sinclair, Ballroom 32 donderdag 22 oktober 2009
  33. 33. Characteristics Of Your App Service oriented Stateless Low coupling Modularity Interoperability 33 donderdag 22 oktober 2009
  34. 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 donderdag 22 oktober 2009
  35. 35. Platform as a Service 35 donderdag 22 oktober 2009
  36. 36. Platform as a Service Complete platform offered as a service: Application System Software Storage Operating System Hardware Network 36 donderdag 22 oktober 2009
  37. 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 donderdag 22 oktober 2009
  38. 38. Platform as a Service 38 donderdag 22 oktober 2009
  39. 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 donderdag 22 oktober 2009
  40. 40. The Rackspace Cloud ‘Sites’ 40 donderdag 22 oktober 2009
  41. 41. Rackspace’s TrueHybrid Platform selects the best operating system for your site Magically blends Windows and Linux, ASP.NET and PHP 41 donderdag 22 oktober 2009
  42. 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 donderdag 22 oktober 2009
  43. 43. Software as a Service 43 donderdag 22 oktober 2009
  44. 44. Software as a Service Everything in the cloud: Application System Software Storage Operating System Hardware Network 44 donderdag 22 oktober 2009
  45. 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 donderdag 22 oktober 2009
  46. 46. Software as a Service 46 donderdag 22 oktober 2009
  47. 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 donderdag 22 oktober 2009
  48. 48. Example: Salesforce Source adapted from tutorial at http://www.mikesimonds.com 48 donderdag 22 oktober 2009
  49. 49. Example: Google Apps Many features available through Zend_Gdata_* in ZF • Information retrieval • Document storage • Calendering • Account Configuration 49 donderdag 22 oktober 2009
  50. 50. Example: Google Apps 50 donderdag 22 oktober 2009
  51. 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 donderdag 22 oktober 2009
  52. 52. The ‘Warcraft Effect’ Clouds are living entities that change when you’re not looking 52 donderdag 22 oktober 2009
  53. 53. Creating SaaS 53 donderdag 22 oktober 2009
  54. 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 donderdag 22 oktober 2009
  55. 55. Multi-Tenancy evolution Source: http://msdn.microsoft.com/en-us/library/aa479069.aspx 55 donderdag 22 oktober 2009
  56. 56. Multi-tenant Databases 56 donderdag 22 oktober 2009
  57. 57. Multi-tenant Databases 57 donderdag 22 oktober 2009
  58. 58. Things to think about Privacy Shared data Collaboration Interoperability Vendor lock 58 donderdag 22 oktober 2009
  59. 59. Putting it all together How we use Cloud Technology @ Ibuildings 59 donderdag 22 oktober 2009
  60. 60. The IT Cloud @ Ibuildings 60 donderdag 22 oktober 2009
  61. 61. The IT Cloud @ Ibuildings 61 donderdag 22 oktober 2009
  62. 62. Summary If you were sleeping, wake up now! 62 donderdag 22 oktober 2009
  63. 63. Summary What is the Cloud? • The cloud = IaaS + PaaS + SaaS If you have trouble remembering: • Cloud = Platform, Infrastructure & Software as a Service 63 donderdag 22 oktober 2009
  64. 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 donderdag 22 oktober 2009
  65. 65. Food for Thought Let’s leave you with something to think about 65 donderdag 22 oktober 2009
  66. 66. Food for Thought Are you worried about this? Cloud Cloud Provider Where’s my data?! 66 donderdag 22 oktober 2009
  67. 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 donderdag 22 oktober 2009
  68. 68. Questions ? 68 donderdag 22 oktober 2009
  69. 69. Links & credits Please comment on this talk here: http://joind.in/915 Pictures used (under Creative Commons Attribution licenses) Cloud (slide 3): http://flickr.com/photos/kables/6324973/ Cat + harddisk: http://flickr.com/photos/sirmildredpierce/42928070/ (adapted) Rubber Band Man: http://flickr.com/photos/thenovys/3791884189/ Clipart used (royalty free and public domain) http://www.clker.com/ 69 donderdag 22 oktober 2009
  70. 70. Thank you! Contact details: Ivo Jansch - ivo@ibuildings.com http://www.ibuildings.com http://www.jansch.nl twitter: ijansch http://joind.in/915 donderdag 22 oktober 2009

×