Your SlideShare is downloading. ×
0
PHP and Platform Independence in the Cloud<br />ByWil Sinclair – Cloud Zealot<br />
What is the Cloud?<br />And why can’t we all move on to the next big thing already?<br />
One Definition<br />
Another Definition<br />From http://www.burtongroup.com<br />
Yet Another Definition<br />
My Definition<br />Cloud:Tools::Internet:Content<br />
The Cloud is all around us.<br />On your iPhone. Under your Facebook apps. All up in your twitter account. <br />
The Cloud is the future.<br />But, then again, you could say that about almost anything if you make its definition broad e...
Select Benefits<br />Elasticity<br />Scalability<br />High Availability<br />Resilience<br />Location Independence<br />De...
CAPex<br />OPex<br />Big Win for Startups<br />
But it sounds too good to be true.<br />
Making the most of it.<br />
Secret Sauce<br />Don’t just deploy your applications on the cloud, write them for the cloud.<br />
Secret Sauce, cntd.<br />Use best-fit cloud application services.<br />
Cloud Application Services<br />Unstructured Storage<br />S3<br />Azure Blob Storage<br />Rackspace Cloud Files<br />
Cloud Application Services<br />Document Storage<br />SimpleDB<br />Azure Table Storage<br />Quickbase<br />Google Datasto...
Cloud Application Services<br />Simple Queues<br />SQS<br />Azure Queue Storage<br />OnlineMQ<br />
Future Cloud Application Services<br />Authentication and Authorization<br />Session Management<br />Messaging<br />Schedu...
Applications written for the cloud are. . .<br />More Performant<br />More Scalable<br />Better Designed<br />More Secure<...
. . .assuming you chose the right cloud provider.<br />
Now You’re Screwed<br />Every API is different! I’m locked in! My cloud provider is bending me over! The sky is falling!<b...
Or are you?<br />After all, there’s lots of commonality across cloud application services.<br />
Yes, you are.<br />All that commonality is hidden behind uninteresting differences.<br />
Porting an AWS Application to Azure<br />Change your signature algorithm<br />‘buckets’ are now ‘containers’<br />‘objects...
Moving Your Applications is Hard<br />And not for interesting reasons. :-/<br />
Let&apos;s Open Up a Can of Standards on these APIs!<br />
Let&apos;s Open Up a Can of Standards on these APIs!<br />
Ummm. . .<br />
Let’s not.<br />
Open Source to the Rescue<br />Is there anything it can’t do?<br />
Standards vs Open Source<br />Bring a lot of minds together to think about a problem<br />Intelligent design<br />Can stif...
Survival of the smartest
Encourages innovation
Slow
Can be abortive
Unenforceable</li></li></ul><li>The PHPilosophy<br />Start with Something You Can Change<br />We can&apos;t change the ser...
The PHPilosophy<br />Build on What&apos;s Already There<br />
The PHPilosophy<br />Wave the magic wand of abstraction. . .<br />
The PHPilosophy<br />Until You Have Something That&apos;s Useful<br />
The PHPilosophy<br />Don’t Forget to Share<br />http://framework.zend.com<br />
The PHPilosophy<br />Repeat until you have something that&apos;s taken on a life of its own.<br />
You knew it was coming. . .<br />
Respect Due<br />
Upcoming SlideShare
Loading in...5
×

PHP and Platform Independance in the Cloud

1,985

Published on

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,985
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
84
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "PHP and Platform Independance in the Cloud"

  1. 1. PHP and Platform Independence in the Cloud<br />ByWil Sinclair – Cloud Zealot<br />
  2. 2. What is the Cloud?<br />And why can’t we all move on to the next big thing already?<br />
  3. 3. One Definition<br />
  4. 4. Another Definition<br />From http://www.burtongroup.com<br />
  5. 5. Yet Another Definition<br />
  6. 6. My Definition<br />Cloud:Tools::Internet:Content<br />
  7. 7. The Cloud is all around us.<br />On your iPhone. Under your Facebook apps. All up in your twitter account. <br />
  8. 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. 9. Select Benefits<br />Elasticity<br />Scalability<br />High Availability<br />Resilience<br />Location Independence<br />Development Best Practices<br />Security<br />
  10. 10. CAPex<br />OPex<br />Big Win for Startups<br />
  11. 11. But it sounds too good to be true.<br />
  12. 12. Making the most of it.<br />
  13. 13. Secret Sauce<br />Don’t just deploy your applications on the cloud, write them for the cloud.<br />
  14. 14. Secret Sauce, cntd.<br />Use best-fit cloud application services.<br />
  15. 15. Cloud Application Services<br />Unstructured Storage<br />S3<br />Azure Blob Storage<br />Rackspace Cloud Files<br />
  16. 16. Cloud Application Services<br />Document Storage<br />SimpleDB<br />Azure Table Storage<br />Quickbase<br />Google Datastore<br />
  17. 17. Cloud Application Services<br />Simple Queues<br />SQS<br />Azure Queue Storage<br />OnlineMQ<br />
  18. 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. 19. Applications written for the cloud are. . .<br />More Performant<br />More Scalable<br />Better Designed<br />More Secure<br />Less Expensive<br />
  20. 20. . . .assuming you chose the right cloud provider.<br />
  21. 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. 22. Or are you?<br />After all, there’s lots of commonality across cloud application services.<br />
  23. 23. Yes, you are.<br />All that commonality is hidden behind uninteresting differences.<br />
  24. 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. 25. Moving Your Applications is Hard<br />And not for interesting reasons. :-/<br />
  26. 26. Let&apos;s Open Up a Can of Standards on these APIs!<br />
  27. 27. Let&apos;s Open Up a Can of Standards on these APIs!<br />
  28. 28. Ummm. . .<br />
  29. 29. Let’s not.<br />
  30. 30. Open Source to the Rescue<br />Is there anything it can’t do?<br />
  31. 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. 32. Survival of the smartest
  33. 33. Encourages innovation
  34. 34. Slow
  35. 35. Can be abortive
  36. 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. 37. The PHPilosophy<br />Build on What&apos;s Already There<br />
  38. 38. The PHPilosophy<br />Wave the magic wand of abstraction. . .<br />
  39. 39. The PHPilosophy<br />Until You Have Something That&apos;s Useful<br />
  40. 40. The PHPilosophy<br />Don’t Forget to Share<br />http://framework.zend.com<br />
  41. 41. The PHPilosophy<br />Repeat until you have something that&apos;s taken on a life of its own.<br />
  42. 42. You knew it was coming. . .<br />
  43. 43.
  44. 44. Respect Due<br />
  45. 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. 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. 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. 48. Available today!<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×