Your SlideShare is downloading. ×
0
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PHP and Platform Independance in the Cloud

1,972

Published on

Talk by Wil Sinclair of Zend at ZendCon 2009

Talk by Wil Sinclair of Zend at ZendCon 2009

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,972
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
84
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PHP and Platform Independence in the Cloud<br />ByWil Sinclair – Cloud Zealot<br />
  • 2. What is the Cloud?<br />And why can’t we all move on to the next big thing already?<br />
  • 3. One Definition<br />
  • 4. Another Definition<br />From http://www.burtongroup.com<br />
  • 5. Yet Another Definition<br />
  • 6. My Definition<br />Cloud:Tools::Internet:Content<br />
  • 7. The Cloud is all around us.<br />On your iPhone. Under your Facebook apps. All up in your twitter account. <br />
  • 8. The Cloud is the future.<br />But, then again, you could say that about almost anything if you make its definition broad enough.<br />
  • 9. Select Benefits<br />Elasticity<br />Scalability<br />High Availability<br />Resilience<br />Location Independence<br />Development Best Practices<br />Security<br />
  • 10. CAPex<br />OPex<br />Big Win for Startups<br />
  • 11. But it sounds too good to be true.<br />
  • 12. Making the most of it.<br />
  • 13. Secret Sauce<br />Don’t just deploy your applications on the cloud, write them for the cloud.<br />
  • 14. Secret Sauce, cntd.<br />Use best-fit cloud application services.<br />
  • 15. Cloud Application Services<br />Unstructured Storage<br />S3<br />Azure Blob Storage<br />Rackspace Cloud Files<br />
  • 16. Cloud Application Services<br />Document Storage<br />SimpleDB<br />Azure Table Storage<br />Quickbase<br />Google Datastore<br />
  • 17. Cloud Application Services<br />Simple Queues<br />SQS<br />Azure Queue Storage<br />OnlineMQ<br />
  • 18. Future Cloud Application Services<br />Authentication and Authorization<br />Session Management<br />Messaging<br />Scheduler<br />Search<br />Spam/Virus Detection<br />Analytics<br />And on. . .<br />And on. . .<br />
  • 19. Applications written for the cloud are. . .<br />More Performant<br />More Scalable<br />Better Designed<br />More Secure<br />Less Expensive<br />
  • 20. . . .assuming you chose the right cloud provider.<br />
  • 21. Now You’re Screwed<br />Every API is different! I’m locked in! My cloud provider is bending me over! The sky is falling!<br />
  • 22. Or are you?<br />After all, there’s lots of commonality across cloud application services.<br />
  • 23. Yes, you are.<br />All that commonality is hidden behind uninteresting differences.<br />
  • 24. Porting an AWS Application to Azure<br />Change your signature algorithm<br />‘buckets’ are now ‘containers’<br />‘objects’ are now ‘blobs’<br />SQS RESTish query API needs to be changed to the RESTful Azure Queue Storage API<br />SimpleDB to Azure Table Storage? Good luck with that.<br />
  • 25. Moving Your Applications is Hard<br />And not for interesting reasons. :-/<br />
  • 26. Let&apos;s Open Up a Can of Standards on these APIs!<br />
  • 27. Let&apos;s Open Up a Can of Standards on these APIs!<br />
  • 28. Ummm. . .<br />
  • 29. Let’s not.<br />
  • 30. Open Source to the Rescue<br />Is there anything it can’t do?<br />
  • 31. Standards vs Open Source<br />Bring a lot of minds together to think about a problem<br />Intelligent design<br />Can stifle innovation<br />Sloooooooooooow<br />Can be abortive <br />Unenforceable<br /><ul><li>Brings a lot more minds together to think about a problem
  • 32. Survival of the smartest
  • 33. Encourages innovation
  • 34. Slow
  • 35. Can be abortive
  • 36. Unenforceable</li></li></ul><li>The PHPilosophy<br />Start with Something You Can Change<br />We can&apos;t change the server-side APIs, but we can change the client-side libraries.<br />
  • 37. The PHPilosophy<br />Build on What&apos;s Already There<br />
  • 38. The PHPilosophy<br />Wave the magic wand of abstraction. . .<br />
  • 39. The PHPilosophy<br />Until You Have Something That&apos;s Useful<br />
  • 40. The PHPilosophy<br />Don’t Forget to Share<br />http://framework.zend.com<br />
  • 41. The PHPilosophy<br />Repeat until you have something that&apos;s taken on a life of its own.<br />
  • 42. You knew it was coming. . .<br />
  • 43.
  • 44. Respect Due<br />
  • 45. Storage Service<br />interface Zend_Cloud_StorageService<br />{<br /> public function fetchItem($path, $options = null);<br /> public function storeItem($data,<br /> $destinationPath,<br /> $options = null);<br /> public function deleteItem($path, $options = null);<br /> public function copyItem($sourcePath, $destinationPath, $options = null);<br /> public function moveItem($sourcePath, $destinationPath, $options = null);<br /> public function fetchMetadata($path, $options = null);<br /> public function storeMetadata($metadata, $destinationPath, $options = null);<br /> public function deleteMetadata($path);<br />}<br />
  • 46. Document Service<br />interface Zend_Cloud_DocumentService<br />{ <br /> public function createCollection($name, $options = null);<br /> public function deleteCollection($name, $options = null);<br /> public function listCollections($options = null);<br /> public function listDocuments($options = null);<br /> public function insertDocument($document, $options = null);<br /> public function updateDocument($document, $options = null);<br /> public function deleteDocument($document, $options = null);<br /> public function query($query, $options = null);<br />}<br />
  • 47. Queue Service<br />interface Zend_Cloud_QueueService<br />{<br /> public function createQueue($name, $options = null);<br /> public function deleteQueue($name, $options = null);<br /> public functionlistQueues($options = null);<br /> public function fetchQueueMetadata($name, $options = null);<br /> public function storeQueueMetadata($metadata, $name, $options = null);<br /> public function sendMessage($message, $queueName, $options = null);<br /> public function recieveMessages($queueName, $max = 1, $options = null);<br /> public function deleteMessage($id, $queueName, $options = null);<br /> public function peekMessage($id, $queueName, $options = null);<br />}<br />
  • 48. Available today!<br />

×