• Save
PHP and the Cloud (phpbenelux conference)
Upcoming SlideShare
Loading in...5
×
 

PHP and the Cloud (phpbenelux conference)

on

  • 3,330 views

The slides for the cloud talk I delivered at the inaugural PHPBenelux conference in Antwerp.

The slides for the cloud talk I delivered at the inaugural PHPBenelux conference in Antwerp.

Statistics

Views

Total Views
3,330
Views on SlideShare
3,253
Embed Views
77

Actions

Likes
2
Downloads
1
Comments
0

6 Embeds 77

http://intranet 21
http://martindekeijzer.nl 21
http://www.martindekeijzer.nl 15
http://www.slideshare.net 11
http://www.rodeveer.be 8
http://life-of-a-webdeveloper.blogspot.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

PHP and the Cloud (phpbenelux conference) PHP and the Cloud (phpbenelux conference) Presentation Transcript

  • PHP and the Cloud http://joind.in/1250 Ivo Jansch PHPBenelux 2010, January 30 zaterdag 30 januari 2010
  • Contents WARNING This is not Yet Another “Store files on Amazon S3” talk. 2 zaterdag 30 januari 2010
  • What is the Cloud? 3 zaterdag 30 januari 2010
  • What is the Cloud? 4 zaterdag 30 januari 2010
  • Gartner’s Hype Cycle 5 zaterdag 30 januari 2010
  • Gartner’s Hype Cycle 6 zaterdag 30 januari 2010
  • Gartner’s Hype Cycle on Clouds 7 zaterdag 30 januari 2010
  • 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
  • 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
  • NIST: Three Service Models Cloud applications are: Software as a Service Platform as a Service Infrastructure as a Service 10 zaterdag 30 januari 2010
  • NIST: Four Deployment Models Private cloud Community cloud Public cloud Hybrid cloud 11 zaterdag 30 januari 2010
  • Infrastructure as a Service 12 zaterdag 30 januari 2010
  • Application Layers Standard layers in a typical application: Application System Software Storage Operating System Hardware Network 13 zaterdag 30 januari 2010
  • 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
  • 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
  • Infrastructure as a Service 16 zaterdag 30 januari 2010
  • 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
  • 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
  • The Rackspace Cloud in PHP 19 zaterdag 30 januari 2010
  • The Rackspace Cloud in PHP 20 zaterdag 30 januari 2010
  • 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
  • Example: Terremark’s Infinicloud 22 zaterdag 30 januari 2010
  • Terremark’s InfiniCloud 23 zaterdag 30 januari 2010
  • IaaS Architecture Prepare your app to run on IaaS 24 zaterdag 30 januari 2010
  • Horizontal Scalability If you run your app on multiple servers today, would it work? Typical problem areas: • Sessions • Files 25 zaterdag 30 januari 2010
  • 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
  • Elasticity Fewer bottlenecks • More elasticity • Easier to scale 27 zaterdag 30 januari 2010
  • Elasticity 28 zaterdag 30 januari 2010
  • Elasticity 29 zaterdag 30 januari 2010
  • Abstraction Abstract services where possible 30 zaterdag 30 januari 2010
  • 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
  • Abstraction Zend’s SimpleCloud • http://simplecloud.org • Good attempt at generic cloud abstraction 32 zaterdag 30 januari 2010
  • Characteristics Of Your App Service oriented Stateless Low coupling Modularity Interoperability 33 zaterdag 30 januari 2010
  • 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
  • Platform as a Service 35 zaterdag 30 januari 2010
  • Platform as a Service Complete platform offered as a service: Application System Software Storage Operating System Hardware Network 36 zaterdag 30 januari 2010
  • 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
  • Platform as a Service 38 zaterdag 30 januari 2010
  • 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
  • The Rackspace Cloud ‘Sites’ 40 zaterdag 30 januari 2010
  • 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
  • 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
  • Software as a Service 43 zaterdag 30 januari 2010
  • Software as a Service Everything in the cloud: Application System Software Storage Operating System Hardware Network 44 zaterdag 30 januari 2010
  • 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
  • Software as a Service 46 zaterdag 30 januari 2010
  • 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
  • Example: Salesforce Source adapted from tutorial at http://www.mikesimonds.com 48 zaterdag 30 januari 2010
  • Example: Google Apps Many features available through Zend_Gdata_* in ZF • Information retrieval • Document storage • Calendering • Account Configuration 49 zaterdag 30 januari 2010
  • Example: Google Apps 50 zaterdag 30 januari 2010
  • 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
  • The ‘Warcraft Effect’ Clouds are living entities that change when you’re not looking 52 zaterdag 30 januari 2010
  • Creating SaaS 53 zaterdag 30 januari 2010
  • 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
  • Multi-Tenancy evolution Source: http://msdn.microsoft.com/en-us/library/aa479069.aspx 55 zaterdag 30 januari 2010
  • Multi-tenant Databases 56 zaterdag 30 januari 2010
  • Multi-tenant Databases 57 zaterdag 30 januari 2010
  • Things to think about Privacy Shared data Collaboration Interoperability Vendor lock 58 zaterdag 30 januari 2010
  • Putting it all together How we use Cloud Technology @ Ibuildings 59 zaterdag 30 januari 2010
  • The IT Cloud @ Ibuildings 60 zaterdag 30 januari 2010
  • The IT Cloud @ Ibuildings 61 zaterdag 30 januari 2010
  • Summary If you were sleeping, wake up now! 62 zaterdag 30 januari 2010
  • 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
  • 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
  • Food for Thought Let’s leave you with something to think about 65 zaterdag 30 januari 2010
  • Food for Thought Are you worried about this? Cloud Cloud Provider Where’s my data?! 66 zaterdag 30 januari 2010
  • 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
  • Ibuildings is hiring! Win an iPad: http://www.ibuildings.com/challenge 68 zaterdag 30 januari 2010
  • Questions ? 69 zaterdag 30 januari 2010
  • Links & credits Please comment on this talk here: http://joind.in/1250 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/ 70 zaterdag 30 januari 2010
  • Thank you! Contact details: Ivo Jansch - ivo@ibuildings.com http://www.ibuildings.com http://www.jansch.nl twitter: ijansch http://joind.in/1250 zaterdag 30 januari 2010