Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Microsoft and PHP at CakeFest 2010

5,913 views

Published on

I delivered this talk at CakeFest 2010 in Chicago. I pulled together the slides from a couple of different that I had done previously to do a quick overview of PHP on the Microsoft web stack and then to hit the technical side of PHP on Azure.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Microsoft and PHP at CakeFest 2010

  1. 1. Microsoft and PHP<br />@joshholmes<br />
  2. 2. Josh Holmes<br />@joshholmes<br />josh.holmes@microsoft.com<br />http://www.joshholmes.com<br />
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
  21. 21.
  22. 22.
  23. 23. excited about the cloud<br />
  24. 24. In House or Hosted Servers<br />Allocated IT-capacities<br />Load Forecast<br />“Under-supply“ of capacities<br />“Waste“ of capacities<br />Fixed cost of IT-capacities<br />IT CAPACITY<br />Barrier for<br />innovations<br />ActualLoad<br />TIME<br />
  25. 25. Cloud Computing<br />Load Forecast<br />Allocated IT capacities<br />No “under-supply“<br />IT CAPACITY<br />Reduction of “over-supply“<br />Possible reduction of IT-capacities in case of reduced load<br />Reduction of initial investments<br />ActualLoad<br />Time<br />
  26. 26. Types of Hosting Solutions<br />Platform<br />(as a Service)<br />Private<br />(On-Premise)<br />Infrastructure<br />(as a Service)<br />You manage<br />Applications<br />Applications<br />Applications<br />You manage<br />Runtimes<br />Runtimes<br />Runtimes<br />Security & Integration<br />Security & Integration<br />Security & Integration<br />Managed by vendor<br />Databases<br />Databases<br />Databases<br />You manage<br />Servers<br />Servers<br />Servers<br />Managed by vendor<br />Virtualization<br />Virtualization<br />Virtualization<br />Server HW<br />Server HW<br />Server HW<br />Storage<br />Storage<br />Storage<br />Networking<br />Networking<br />Networking<br />
  27. 27.
  28. 28. The Microsoft Cloud<br />~100 Globally Distributed Data Centers<br />Quincy, WA<br />Chicago, IL<br />San Antonio, TX<br />Dublin, Ireland<br />Generation 4 DCs<br />
  29. 29. Data Storage<br />
  30. 30. Windows Azure Data Storage<br />Queue<br />Blob<br />Account<br />Tables<br />Drives<br />
  31. 31. Azure Platform Data Storage Options<br /><ul><li>Windows Azure Data Storage
  32. 32. Blobs
  33. 33. Unstructured data storage
  34. 34. Tables
  35. 35. Semi-structured or tabular data storage
  36. 36. Queues
  37. 37. Buffered delivery data storage
  38. 38. Drives
  39. 39. Durable NTFS volumes that Windows Azure applications can use. See: http://microsoftpdc.com/Sessions/SVC14</li></ul>SQL Azure<br /><ul><li>Relational data storage</li></li></ul><li>Windows Azure Data Storage - Tables<br />Semi-Structured data<br />Tables contain entities<br />Entities contain properties<br />May be partitioned across thousands of servers.<br />Support ACID transactions over single entities<br />Queries over entire table<br />.NET and REST interfaces<br />
  40. 40. Windows Azure Data Storage – Tables (Terms Part 1)<br />Table<br />Contains a set of entities. <br />Entity (Row) <br />Basic data items stored in a table. <br />Property (Column)<br />Single value in an entity. <br />RowKey<br />Unique ID of the entity within a partition<br />Timestamp<br />Time it was created<br />
  41. 41. Windows Azure Data Storage – Tables (Terms Part 2)<br />Partition <br />Entities in a table with the same partition key<br />PartitionKey<br />Segments entities in to partitions to automatically distribute the table’s entities over many storage nodes.<br />Sort Order<br />There is a single index provided for the CTP, where all entities in a table are sorted by PartitionKey and then RowKey<br />
  42. 42. Key Example – Blog Posts<br />Partition 1<br />Partition 2<br />Getting all of dunnry’s blog posts is fast<br />Single partition<br />Getting all posts after 2008-03-27 is slow<br />Traverse all partitions<br />
  43. 43. SQL Azure<br />
  44. 44. SQL Azure Features<br />Supported<br />Tables, Indexes, Views<br />Stored Procedures<br />Triggers<br />Constraints<br />Table Variables<br />Temp Tables (#Name)<br />Not Supported<br />Physical Server Access <br />Catalog DDL<br />Common Language Runtime<br />Service Broker<br />Reporting Services<br />Analysis Services<br />Distributed Transactions and Queries<br />
  45. 45.
  46. 46.
  47. 47.
  48. 48. 10 people shops<br />3 copies of VS<br />2 copies of Expression Web<br />1 copy of Expression Studio<br />4 procs of SQL Server<br />4 procs of Windows Server<br />Microsoft WebsiteSpark<br />
  49. 49. Resources<br />Web Platform Installer<br />http://www.microsft.com/web/gallery<br />How WinCache makes PHP run faster <br />http://blogs.iis.net/ksingla/archive/2009/09/19/how-wincache-make-php-run-faster.aspx<br />Using WinCache Extensions for PHP <br />http://learn.iis.net/page.aspx/678/using-windows-cache-extension-for-php/<br />PHP 5.3 Changes to Support Windows<br />http://docs.php.net/manual/en/migration53.windows.php<br />
  50. 50. Resources<br />SQL Server PHP Blog<br />http://blogs.msdn.com/sqlphp<br />Josh Holmes’ Blog<br />http://www.joshholmes.com<br />

×