SlideShare a Scribd company logo
1 of 69
Download to read offline
http://www.egeniq.com
                                             info@egeniq.com
                                                     @egeniq




PHP Development In The Cloud


                         Ivo Jansch
                     February 2011
Contents




           WARNING

           This is not Yet Another
           “Store files on Amazon S3” talk.




                                              2
What is the Cloud?




                     3
What is the Cloud?




                     4
Gartner’s Hype Cycle




                       5
Gartner’s Hype Cycle




                       6
Gartner’s Hype Cycle on Clouds




                                 7
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
NIST: Five Characteristics




Things that are considered cloud:
‣   On-demand, self-service
‣   Broad network access
‣   Resource pooling
‣   Rapid elasticity
‣   Measured service



                                    9
NIST: Three Service Models




Cloud applications are:
‣ Software as a Service
‣ Platform as a Service
‣ Infrastructure as a Service



                                10
NIST: Four Deployment Models




‣   Private cloud
‣   Community cloud
‣   Public cloud
‣   Hybrid cloud




                               11
Infrastructure as a Service


                              12
Application Layers

Standard layers in a typical application:


        Application
     System Software
          Storage
    Operating System
         Hardware
         Network
                                            13
Infrastructure as a Service

Parts of the infrastructure offered as service to your app:


                      Application
     System Software
                 Storage
                 Operating System
                              Hardware
                                    Network
                                                              14
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
Infrastructure as a Service




                              16
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
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
The Rackspace Cloud in PHP




                             19
The Rackspace Cloud in PHP




                             20
Clouds for Development




‣ Private Cloud:
 • Flexible development environments
 • Easy to simulate large scale environments
 • Easy to set up multiple clusters




                                               21
Example: Terremark’s Infinicloud




                                   22
Terremark’s InfiniCloud




                          23
IaaS Architecture
Prepare your app to run on IaaS



                                  24
Horizontal Scalability




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

‣ Typical problem areas:
  • Sessions
  • Files




                                                              25
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
Elasticity




‣ Fewer bottlenecks
  • More elasticity
  • Easier to scale




                      27
Elasticity




             28
Elasticity




             29
Abstraction

 ‣ Abstract services where possible




                                      30
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
Abstraction

‣ Zend’s SimpleCloud
 • http://simplecloud.org
 • Good attempt at generic cloud abstraction




                                               32
Characteristics Of Your Application




‣   Service oriented
‣   Stateless
‣   Low coupling
‣   Modularity
‣   Interoperability




                                      33
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
Platform as a Service


                        35
Platform as a Service

Complete platform offered as a service:


         Application

      System Software
           Storage
     Operating System
         Hardware
          Network
                                          36
Platform as a Service




‣ Platform scales up and down as necessary


‣ Same pitfalls and advantages as IaaS, plus:
 • Don’t worry about scalability




                                                37
Platform as a Service




                        38
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
The Rackspace Cloud ‘Sites’




                              40
Rackspace’s TrueHybrid

‣ Platform selects the best operating system for your site
‣ Magically blends Windows and Linux, ASP.NET and PHP




                                                             41
Other Platforms for PHP

‣ NING
 • http://ning.com
 • Social Network PaaS

‣ Force.com
 • Salesforce cloud platform
 • Business applications

‣ PHPFog
 • http://phpfog.com
 • Cloud platform for PHP apps
 • Quite young, looks very promising



                                       42
Software as a Service


                        43
Software as a Service

Everything in the cloud:


         Application
      System Software
           Storage
     Operating System
          Hardware
          Network
                           44
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
Software as a Service




                        46
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
Example: Salesforce




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

                                                             48
Example: Google Apps




‣ Many features available through Zend_Gdata_* in ZF
 • Information retrieval
 • Document storage
 • Calendering
 • Account Configuration




                                                       49
Example: Google Apps




                       50
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
The ‘Warcraft Effect’

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




                                                                       52
Creating SaaS


                53
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
Multi-Tenancy evolution




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




                                                                55
Multi-tenant Databases




                         56
Multi-tenant Databases




                         57
Things to think about




‣   Privacy
‣   Shared data
‣   Collaboration
‣   Interoperability
‣   Vendor lock




                        58
Putting it all together
   Cloud Computing In Practice



                                 59
A Hybrid IT Cloud




                    60
A Hybrid IT Cloud




                    61
Summary
If you were sleeping, wake up now!



                                     62
Summary




‣ What is the Cloud?
 • The cloud = IaaS + PaaS + SaaS


‣ If you have trouble remembering:
 • Cloud = Platform, Infrastructure & Software as a Service


                                                              63
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
Food for Thought
Let’s leave you with something to think about



                                                65
Food for Thought

Are you worried about this?



                                         Cloud
                               Cloud
                              Provider
 Where’s my
  data?!




                                                 66
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
http://www.egeniq.com
                                   info@egeniq.com
                                           @egeniq




Thank you! Questions?

    http://www.egeniq.com
           ivo@egeniq.com
                 @ijansch
Credits




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/

More Related Content

What's hot

Site Development Processes for Small Teams
Site Development Processes for Small TeamsSite Development Processes for Small Teams
Site Development Processes for Small TeamsJeff Segars
 
AFNetworking
AFNetworking AFNetworking
AFNetworking joaopmaia
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Kim Frehe
 
Native Android Development Practices
Native Android Development PracticesNative Android Development Practices
Native Android Development PracticesRoy Clarkson
 
Out of the Blue: Getting started with IBM Bluemix development
Out of the Blue: Getting started with IBM Bluemix developmentOut of the Blue: Getting started with IBM Bluemix development
Out of the Blue: Getting started with IBM Bluemix developmentOliver Busse
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and PantheonPantheon
 
Programmable infrastructure with FlyScript
Programmable infrastructure with FlyScriptProgrammable infrastructure with FlyScript
Programmable infrastructure with FlyScriptRiverbed Technology
 
360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010David Ortinau
 
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"Daniel Bryant
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro FrontendMiki Lombardi
 

What's hot (10)

Site Development Processes for Small Teams
Site Development Processes for Small TeamsSite Development Processes for Small Teams
Site Development Processes for Small Teams
 
AFNetworking
AFNetworking AFNetworking
AFNetworking
 
Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015Highlights from microsoft ignite 2015
Highlights from microsoft ignite 2015
 
Native Android Development Practices
Native Android Development PracticesNative Android Development Practices
Native Android Development Practices
 
Out of the Blue: Getting started with IBM Bluemix development
Out of the Blue: Getting started with IBM Bluemix developmentOut of the Blue: Getting started with IBM Bluemix development
Out of the Blue: Getting started with IBM Bluemix development
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and Pantheon
 
Programmable infrastructure with FlyScript
Programmable infrastructure with FlyScriptProgrammable infrastructure with FlyScript
Programmable infrastructure with FlyScript
 
360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010360|Flex Recap - San Jose 2010
360|Flex Recap - San Jose 2010
 
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
 
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
 

Viewers also liked

Php & cloud computing
Php & cloud computingPhp & cloud computing
Php & cloud computingCorley S.r.l.
 
Merkatu Ikerkuntza 2. Gaia
Merkatu Ikerkuntza 2. GaiaMerkatu Ikerkuntza 2. Gaia
Merkatu Ikerkuntza 2. Gaiakatixa
 
Información científica
Información científicaInformación científica
Información científicamjordan
 
PfCongrez 2007 Zend Studio Overview
PfCongrez 2007 Zend Studio OverviewPfCongrez 2007 Zend Studio Overview
PfCongrez 2007 Zend Studio OverviewIvo Jansch
 
Erd Summer Day Camp "Kids Games" Friday
Erd Summer Day Camp "Kids Games" FridayErd Summer Day Camp "Kids Games" Friday
Erd Summer Day Camp "Kids Games" FridayChris Johnson
 
Enabling co-­creation of e-services through virtual worlds
Enabling co-­creation of e-services through virtual worldsEnabling co-­creation of e-services through virtual worlds
Enabling co-­creation of e-services through virtual worldsThomas Kohler
 
MDW - Mission-Directed Work Teams - Mini Negócios
MDW - Mission-Directed Work Teams - Mini NegóciosMDW - Mission-Directed Work Teams - Mini Negócios
MDW - Mission-Directed Work Teams - Mini NegóciosMarcos Pavani
 
Quazy quilters
Quazy quiltersQuazy quilters
Quazy quiltersburnsc62
 
Social Media for the Public Sector presentation - Connected Nottingham - 3 De...
Social Media for the Public Sector presentation - Connected Nottingham - 3 De...Social Media for the Public Sector presentation - Connected Nottingham - 3 De...
Social Media for the Public Sector presentation - Connected Nottingham - 3 De...simonwakeman
 
The girls are coming! Gender, youth and the new Basque literature
The girls are coming! Gender, youth and the new Basque literatureThe girls are coming! Gender, youth and the new Basque literature
The girls are coming! Gender, youth and the new Basque literaturekatixa
 

Viewers also liked (20)

Php & cloud computing
Php & cloud computingPhp & cloud computing
Php & cloud computing
 
Cassandra20141113
Cassandra20141113Cassandra20141113
Cassandra20141113
 
Merkatu Ikerkuntza 2. Gaia
Merkatu Ikerkuntza 2. GaiaMerkatu Ikerkuntza 2. Gaia
Merkatu Ikerkuntza 2. Gaia
 
Springbreak 21042009
Springbreak 21042009Springbreak 21042009
Springbreak 21042009
 
MapIt1418
MapIt1418MapIt1418
MapIt1418
 
Información científica
Información científicaInformación científica
Información científica
 
PfCongrez 2007 Zend Studio Overview
PfCongrez 2007 Zend Studio OverviewPfCongrez 2007 Zend Studio Overview
PfCongrez 2007 Zend Studio Overview
 
Gno
GnoGno
Gno
 
Kazenosamaritanovi
KazenosamaritanoviKazenosamaritanovi
Kazenosamaritanovi
 
Farizej a mýtnik
Farizej a mýtnikFarizej a mýtnik
Farizej a mýtnik
 
Erd Summer Day Camp "Kids Games" Friday
Erd Summer Day Camp "Kids Games" FridayErd Summer Day Camp "Kids Games" Friday
Erd Summer Day Camp "Kids Games" Friday
 
Enabling co-­creation of e-services through virtual worlds
Enabling co-­creation of e-services through virtual worldsEnabling co-­creation of e-services through virtual worlds
Enabling co-­creation of e-services through virtual worlds
 
Herodesov chram
Herodesov chramHerodesov chram
Herodesov chram
 
Pp úvod do 1 kor
Pp   úvod do 1 korPp   úvod do 1 kor
Pp úvod do 1 kor
 
MDW - Mission-Directed Work Teams - Mini Negócios
MDW - Mission-Directed Work Teams - Mini NegóciosMDW - Mission-Directed Work Teams - Mini Negócios
MDW - Mission-Directed Work Teams - Mini Negócios
 
Quazy quilters
Quazy quiltersQuazy quilters
Quazy quilters
 
Common H1B Cap 2017 Filing Mistakes: How To Avoid Them?
Common H1B Cap 2017 Filing Mistakes: How To Avoid Them?Common H1B Cap 2017 Filing Mistakes: How To Avoid Them?
Common H1B Cap 2017 Filing Mistakes: How To Avoid Them?
 
H1B 2017 Predictions: Will There Be A H-1B Lottery Again?
H1B 2017 Predictions: Will There Be A H-1B Lottery Again?H1B 2017 Predictions: Will There Be A H-1B Lottery Again?
H1B 2017 Predictions: Will There Be A H-1B Lottery Again?
 
Social Media for the Public Sector presentation - Connected Nottingham - 3 De...
Social Media for the Public Sector presentation - Connected Nottingham - 3 De...Social Media for the Public Sector presentation - Connected Nottingham - 3 De...
Social Media for the Public Sector presentation - Connected Nottingham - 3 De...
 
The girls are coming! Gender, youth and the new Basque literature
The girls are coming! Gender, youth and the new Basque literatureThe girls are coming! Gender, youth and the new Basque literature
The girls are coming! Gender, youth and the new Basque literature
 

Similar to Php Development In The Cloud

PHP and the Cloud: The view from the bazaar
PHP and the Cloud: The view from the bazaarPHP and the Cloud: The view from the bazaar
PHP and the Cloud: The view from the bazaarvitoc
 
Introduction to Cloud Computing 2021
Introduction to Cloud Computing 2021Introduction to Cloud Computing 2021
Introduction to Cloud Computing 2021Samuel Dratwa
 
InfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud ComputingInfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud ComputingMark Hinkle
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...
Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...
Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...IndicThreads
 
Linuxcon Europe 2011: Overview - Building Cloud Computing Environments
Linuxcon Europe 2011:  Overview - Building Cloud Computing EnvironmentsLinuxcon Europe 2011:  Overview - Building Cloud Computing Environments
Linuxcon Europe 2011: Overview - Building Cloud Computing EnvironmentsMark Hinkle
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB
 
Cloud Computing Expo West - Crash Course in Open Source Cloud Computing
Cloud Computing Expo West - Crash Course in Open Source Cloud ComputingCloud Computing Expo West - Crash Course in Open Source Cloud Computing
Cloud Computing Expo West - Crash Course in Open Source Cloud ComputingMark Hinkle
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...Srijan Technologies
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSSteve Wong
 
RightScale User Conference: Why RightScale?
RightScale User Conference: Why RightScale?RightScale User Conference: Why RightScale?
RightScale User Conference: Why RightScale?Erik Osterman
 
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Jack-Junjie Cai
 
LinuxFest Northwest: Crash Course in Open Source Cloud Computing
LinuxFest Northwest: Crash Course in Open Source Cloud Computing LinuxFest Northwest: Crash Course in Open Source Cloud Computing
LinuxFest Northwest: Crash Course in Open Source Cloud Computing Mark Hinkle
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...Ludovic Piot
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceDavid Currie
 
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewCloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewAndy Piper
 
AWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsAWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsRightScale
 

Similar to Php Development In The Cloud (20)

PHP and the Cloud: The view from the bazaar
PHP and the Cloud: The view from the bazaarPHP and the Cloud: The view from the bazaar
PHP and the Cloud: The view from the bazaar
 
Avoiding cloud lock-in
Avoiding cloud lock-inAvoiding cloud lock-in
Avoiding cloud lock-in
 
Introduction to Cloud Computing 2021
Introduction to Cloud Computing 2021Introduction to Cloud Computing 2021
Introduction to Cloud Computing 2021
 
InfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud ComputingInfoSec 2011: Crash Course Open Source Cloud Computing
InfoSec 2011: Crash Course Open Source Cloud Computing
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...
Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...
Current State of Affairs – Cloud Computing - Indicthreads Cloud Computing Con...
 
Linuxcon Europe 2011: Overview - Building Cloud Computing Environments
Linuxcon Europe 2011:  Overview - Building Cloud Computing EnvironmentsLinuxcon Europe 2011:  Overview - Building Cloud Computing Environments
Linuxcon Europe 2011: Overview - Building Cloud Computing Environments
 
Cloud computing: highlights
Cloud computing: highlightsCloud computing: highlights
Cloud computing: highlights
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
 
Cloud Computing Expo West - Crash Course in Open Source Cloud Computing
Cloud Computing Expo West - Crash Course in Open Source Cloud ComputingCloud Computing Expo West - Crash Course in Open Source Cloud Computing
Cloud Computing Expo West - Crash Course in Open Source Cloud Computing
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
RightScale User Conference: Why RightScale?
RightScale User Conference: Why RightScale?RightScale User Conference: Why RightScale?
RightScale User Conference: Why RightScale?
 
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
 
LinuxFest Northwest: Crash Course in Open Source Cloud Computing
LinuxFest Northwest: Crash Course in Open Source Cloud Computing LinuxFest Northwest: Crash Course in Open Source Cloud Computing
LinuxFest Northwest: Crash Course in Open Source Cloud Computing
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceMigrating Java EE applications to IBM Bluemix Platform-as-a-Service
Migrating Java EE applications to IBM Bluemix Platform-as-a-Service
 
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewCloud Foundry Introduction and Overview
Cloud Foundry Introduction and Overview
 
AWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsAWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid Environments
 

More from Ivo Jansch

Own Your Apps
Own Your Apps Own Your Apps
Own Your Apps Ivo Jansch
 
PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)Ivo Jansch
 
Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)Ivo Jansch
 
The Business Case For Telecommuting
The Business Case For TelecommutingThe Business Case For Telecommuting
The Business Case For TelecommutingIvo Jansch
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem Ivo Jansch
 
27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)Ivo Jansch
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Ivo Jansch
 
PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)Ivo Jansch
 
PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)Ivo Jansch
 
Content Management Selection and Strategy
Content Management Selection and StrategyContent Management Selection and Strategy
Content Management Selection and StrategyIvo Jansch
 
PHP and the Cloud
PHP and the CloudPHP and the Cloud
PHP and the CloudIvo Jansch
 
PHP in the Real World
PHP in the Real WorldPHP in the Real World
PHP in the Real WorldIvo Jansch
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Ivo Jansch
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Ivo Jansch
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Ivo Jansch
 
Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)Ivo Jansch
 
Hello Enterprise, my name is PHP
Hello Enterprise, my name is PHPHello Enterprise, my name is PHP
Hello Enterprise, my name is PHPIvo Jansch
 
Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)Ivo Jansch
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Ivo Jansch
 
Maatwerk Software
Maatwerk SoftwareMaatwerk Software
Maatwerk SoftwareIvo Jansch
 

More from Ivo Jansch (20)

Own Your Apps
Own Your Apps Own Your Apps
Own Your Apps
 
PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)
 
Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)
 
The Business Case For Telecommuting
The Business Case For TelecommutingThe Business Case For Telecommuting
The Business Case For Telecommuting
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem
 
27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)
 
PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)
 
PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)
 
Content Management Selection and Strategy
Content Management Selection and StrategyContent Management Selection and Strategy
Content Management Selection and Strategy
 
PHP and the Cloud
PHP and the CloudPHP and the Cloud
PHP and the Cloud
 
PHP in the Real World
PHP in the Real WorldPHP in the Real World
PHP in the Real World
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)
 
Hello Enterprise, my name is PHP
Hello Enterprise, my name is PHPHello Enterprise, my name is PHP
Hello Enterprise, my name is PHP
 
Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
 
Maatwerk Software
Maatwerk SoftwareMaatwerk Software
Maatwerk Software
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Php Development In The Cloud

  • 1. http://www.egeniq.com info@egeniq.com @egeniq PHP Development In The Cloud Ivo Jansch February 2011
  • 2. Contents WARNING This is not Yet Another “Store files on Amazon S3” talk. 2
  • 3. What is the Cloud? 3
  • 4. What is the Cloud? 4
  • 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
  • 9. NIST: Five Characteristics Things that are considered cloud: ‣ On-demand, self-service ‣ Broad network access ‣ Resource pooling ‣ Rapid elasticity ‣ Measured service 9
  • 10. NIST: Three Service Models Cloud applications are: ‣ Software as a Service ‣ Platform as a Service ‣ Infrastructure as a Service 10
  • 11. NIST: Four Deployment Models ‣ Private cloud ‣ Community cloud ‣ Public cloud ‣ Hybrid cloud 11
  • 12. Infrastructure as a Service 12
  • 13. Application Layers Standard layers in a typical application: Application System Software Storage Operating System Hardware Network 13
  • 14. Infrastructure as a Service Parts of the infrastructure offered as service to your app: Application System Software Storage Operating System Hardware Network 14
  • 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
  • 16. Infrastructure as a Service 16
  • 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
  • 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
  • 19. The Rackspace Cloud in PHP 19
  • 20. The Rackspace Cloud in PHP 20
  • 21. Clouds for Development ‣ Private Cloud: • Flexible development environments • Easy to simulate large scale environments • Easy to set up multiple clusters 21
  • 24. IaaS Architecture Prepare your app to run on IaaS 24
  • 25. Horizontal Scalability ‣ If you run your app on multiple servers today, would it work? ‣ Typical problem areas: • Sessions • Files 25
  • 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
  • 27. Elasticity ‣ Fewer bottlenecks • More elasticity • Easier to scale 27
  • 30. Abstraction ‣ Abstract services where possible 30
  • 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
  • 32. Abstraction ‣ Zend’s SimpleCloud • http://simplecloud.org • Good attempt at generic cloud abstraction 32
  • 33. Characteristics Of Your Application ‣ Service oriented ‣ Stateless ‣ Low coupling ‣ Modularity ‣ Interoperability 33
  • 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
  • 35. Platform as a Service 35
  • 36. Platform as a Service Complete platform offered as a service: Application System Software Storage Operating System Hardware Network 36
  • 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
  • 38. Platform as a Service 38
  • 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
  • 40. The Rackspace Cloud ‘Sites’ 40
  • 41. Rackspace’s TrueHybrid ‣ Platform selects the best operating system for your site ‣ Magically blends Windows and Linux, ASP.NET and PHP 41
  • 42. Other Platforms for PHP ‣ NING • http://ning.com • Social Network PaaS ‣ Force.com • Salesforce cloud platform • Business applications ‣ PHPFog • http://phpfog.com • Cloud platform for PHP apps • Quite young, looks very promising 42
  • 43. Software as a Service 43
  • 44. Software as a Service Everything in the cloud: Application System Software Storage Operating System Hardware Network 44
  • 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
  • 46. Software as a Service 46
  • 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
  • 48. Example: Salesforce Source adapted from tutorial at http://www.mikesimonds.com 48
  • 49. Example: Google Apps ‣ Many features available through Zend_Gdata_* in ZF • Information retrieval • Document storage • Calendering • Account Configuration 49
  • 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
  • 52. The ‘Warcraft Effect’ Clouds are living entities that change when you’re not looking 52
  • 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
  • 58. Things to think about ‣ Privacy ‣ Shared data ‣ Collaboration ‣ Interoperability ‣ Vendor lock 58
  • 59. Putting it all together Cloud Computing In Practice 59
  • 60. A Hybrid IT Cloud 60
  • 61. A Hybrid IT Cloud 61
  • 62. Summary If you were sleeping, wake up now! 62
  • 63. Summary ‣ What is the Cloud? • The cloud = IaaS + PaaS + SaaS ‣ If you have trouble remembering: • Cloud = Platform, Infrastructure & Software as a Service 63
  • 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
  • 65. Food for Thought Let’s leave you with something to think about 65
  • 66. Food for Thought Are you worried about this? Cloud Cloud Provider Where’s my data?! 66
  • 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
  • 68. http://www.egeniq.com info@egeniq.com @egeniq Thank you! Questions? http://www.egeniq.com ivo@egeniq.com @ijansch
  • 69. Credits 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/