0
Windows Azure Platform + PHP<br />Jonathan Wong<br />Microsoft Innovation Centre Singapore<br />innovativesingapore.com | ...
The Non-Cloud View<br />Allocated IT-capacities<br />Load Forecast<br />“Under-supply“ of capacities<br />“Waste“ of capac...
Load Forecast<br />Allocated IT capacities<br />No “under-supply“<br />IT CAPACITY<br />Reduction of “over-supply“<br />Po...
The Microsoft Cloud<br />~100 Globally Distributed Data Centers<br />Quincy, WA<br />Chicago, IL<br />San Antonio, TX<br /...
The Microsoft Cloud<br />
Introducing the Windows Azure Platform<br />
Types of Clouds<br />Private<br />(On-Premise)<br />Infrastructure<br />(as a Service)<br />Platform<br />(as a Service)<b...
Private<br />(On-Premise)<br />Types of Clouds<br />Infrastructure<br />(as a Service)<br />Platform<br />(as a Service)<b...
Windows Azure for Application Developers<br />Hosted<br />Service<br />Portal<br />SDK<br />Storage<br />Develop<br />Run<...
Windows Azure Compute Roles<br />Role<br />Code<br />Configuration<br />
Web vs. Worker Role<br />Worker Role<br />Web Role<br />System Host<br />IIS Host<br />Your Code<br />Your Code<br />
Sample Application Architecture<br />Web Role<br />Worker Role<br />Queue<br />http://yourapp.cloudapp.net<br />Blob<br />
Development Fabric and Storage<br />Local Machine<br />Windows Azure Simulation Environment <br />Development Storage<br /...
Windows Azure Developer Portal<br />
How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />
Running PHP in Windows Azure<br />How to Do It<br />Host in Web role (like .NET)<br />Supply PHP runtime<br />Point to run...
This is all you need!<br />HelloCloudPHP<br />ServiceDefinition.csdef<br />ServiceConfiguration.cscfg<br />WebRole<br />we...
How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />Windows Azure Tools for Eclipse<br />Windows ...
Windows Azure Tools for Eclipse<br />http://windowsazure4e.org<br />
Windows Azure Command-Line Tools for PHP<br />Create new applications or convert existing PHP applications to Windows Azur...
Windows Azure Command-Line Tools for PHP<br />C:>php package.php<br />--project=MyProject<br />--source=..php_source<br />...
How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />Windows Azure Tools for Eclipse<br />Windows ...
PHP + Cloud Storage<br />Windows Azure Storage<br />On-Premises<br />VIP<br />PHP<br />Web Role<br />Load Balancer<br />PH...
PHP with Windows Azure Storage<br />Windows Azure SDK for PHP @ http://phpazure.codeplex.com<br />PHP programming model fo...
PHP with SQL Azure<br />SQL Server Driver for PHP @ http://sqlsrvphp.codeplex.com/<br />Supports PHP access to SQL Azure<b...
Migrate MySQL DB to SQL AzureUsing the SQL Server Migration Assistant for MySQL<br />http://www.microsoft.com/downloads/de...
How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />Windows Azure Tools for Eclipse<br />Windows ...
Running MySQL in Windows Azure<br />Running MySQL in a worker role<br />Copy MySQL to the worker role sub-directory<br />C...
Simple Configuration<br />VIP<br />Load Balancer<br />Web Role<br />MySQL<br />Worker Role<br />
Replication<br />VIP<br />Load Balancer<br />Web Role<br />MySQL<br />MySQL<br />MySQL<br />Worker Roles<br />M<br />S<br ...
Windows Azure Drive with Hot Spare<br />VIP<br />Load Balancer<br />Web Role<br />MySQL<br />MySQL<br />Worker Roles<br />...
Windows Azure MySQL PHP Solution Accelerator<br />http://code.msdn.microsoft.com/winazuremysqlphp<br />Master/slave config...
How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />Windows Azure Tools for Eclipse<br />Windows ...
Solution Accelerators<br />http://www.microsoft.com/windowsazure/interop/<br />memcached, Tomcat, MediaWikiSolution Accele...
Windows Azure Pricing – Compute Services<br />Variable instance sizes to handle complex workloads of any size   <br />Smal...
Windows Azure Pricing – Other Services<br />     Bandwidth<br />Per GB transfer in or out of a datacenter<br />US/EU Bandw...
Offers & Promotions<br />Development Accelerator <br />Designed to accelerate cloud app development. Flexible (on/off) con...
Offered as a unit (can order multiple units)
Cancel first 30 days; anytime after first  6 months
Overage at Standard Consumption rates</li></ul>CORE($59.95/month)<br />Amount Included in Base<br />Compute 750 hrs/mo <br...
Limit of one per customer
Upcoming SlideShare
Loading in...5
×

Windows Azure Platform + PHP - Jonathan Wong

9,211

Published on

Presentation by Jonathan Wong at PHP User Group Meetup (Apr 27, 2010) .

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,211
On Slideshare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
235
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • Key point: Windows Azure is hosted in Microsoft data centers around the world. Windows Azure provides compute power, storage, and automated service management, as well as easy connectivity to other applications and access control to provide secure authorization and authentication of access to cloud resources. Also hosted in the Windows Azure platform is Microsoft SQL Azure, providing relational database services and automated management of relational service.
  • Transcript of "Windows Azure Platform + PHP - Jonathan Wong"

    1. 1. Windows Azure Platform + PHP<br />Jonathan Wong<br />Microsoft Innovation Centre Singapore<br />innovativesingapore.com | twitter.com/innovativesg<br />
    2. 2. The Non-Cloud View<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 />
    3. 3. 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 />However, In a Cloud View<br />
    4. 4. 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 />
    5. 5. The Microsoft Cloud<br />
    6. 6. Introducing the Windows Azure Platform<br />
    7. 7. Types of Clouds<br />Private<br />(On-Premise)<br />Infrastructure<br />(as a Service)<br />Platform<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 />
    8. 8. Private<br />(On-Premise)<br />Types of Clouds<br />Infrastructure<br />(as a Service)<br />Platform<br />(as a Service)<br />
    9. 9. Windows Azure for Application Developers<br />Hosted<br />Service<br />Portal<br />SDK<br />Storage<br />Develop<br />Run<br />Deploy<br />
    10. 10. Windows Azure Compute Roles<br />Role<br />Code<br />Configuration<br />
    11. 11. Web vs. Worker Role<br />Worker Role<br />Web Role<br />System Host<br />IIS Host<br />Your Code<br />Your Code<br />
    12. 12. Sample Application Architecture<br />Web Role<br />Worker Role<br />Queue<br />http://yourapp.cloudapp.net<br />Blob<br />
    13. 13. Development Fabric and Storage<br />Local Machine<br />Windows Azure Simulation Environment <br />Development Storage<br />Development Fabric<br />
    14. 14. Windows Azure Developer Portal<br />
    15. 15. How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />
    16. 16. Running PHP in Windows Azure<br />How to Do It<br />Host in Web role (like .NET)<br />Supply PHP runtime<br />Point to runtime via FastCGI configuration in<br />Web.config<br />Web.roleconfig<br />PHP <br />Web Role<br />Instance 1<br />VIP<br />Load Balancer<br />PHP <br />Web Role<br />Instance 2<br />
    17. 17. This is all you need!<br />HelloCloudPHP<br />ServiceDefinition.csdef<br />ServiceConfiguration.cscfg<br />WebRole<br />web.roleconfig<br />web.config<br />php<br />index.php <your php application><br />etc...<br />Make sure you change your php.ini to use relative paths!<br />
    18. 18. How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />Windows Azure Tools for Eclipse<br />Windows Azure Command Line Tools for PHP<br />
    19. 19. Windows Azure Tools for Eclipse<br />http://windowsazure4e.org<br />
    20. 20. Windows Azure Command-Line Tools for PHP<br />Create new applications or convert existing PHP applications to Windows Azure applications<br />Deploy to Local Development Fabric or the Windows Azure Cloud<br />No IDE required<br />http://azurephptools.codeplex.com/<br />
    21. 21. Windows Azure Command-Line Tools for PHP<br />C:>php package.php<br />--project=MyProject<br />--source=..php_source<br />--phpRuntime="C:Program FilesPHP“<br />--target="..workspace“<br />--runDevFabric<br />
    22. 22. How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />Windows Azure Tools for Eclipse<br />Windows Azure Command Line Tools for PHP<br />PHP with Windows Azure Storage<br />PHP with SQL Azure<br />
    23. 23. PHP + Cloud Storage<br />Windows Azure Storage<br />On-Premises<br />VIP<br />PHP<br />Web Role<br />Load Balancer<br />PHP App<br />SQL Azure<br />Windows Azure Platform<br />
    24. 24. PHP with Windows Azure Storage<br />Windows Azure SDK for PHP @ http://phpazure.codeplex.com<br />PHP programming model for Windows Azure Storage<br />Features <br />PHP classes for Blobs, Tables & Queues<br />Store PHP sessions in Table Storage<br />
    25. 25. PHP with SQL Azure<br />SQL Server Driver for PHP @ http://sqlsrvphp.codeplex.com/<br />Supports PHP access to SQL Azure<br />Features<br />Choose between SQL Server and SQL Azure by changing connection string<br />Use from on-premises or in Windows Azure<br />
    26. 26. Migrate MySQL DB to SQL AzureUsing the SQL Server Migration Assistant for MySQL<br />http://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8e<br />MySQL Database<br />SQL Server Migration Assist for MySQL<br />SQL Azure<br />Database<br />
    27. 27. How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />Windows Azure Tools for Eclipse<br />Windows Azure Command Line Tools for PHP<br />PHP with Windows Azure Storage<br />PHP with SQL Azure<br />Running MySQL in Windows Azure<br />
    28. 28. Running MySQL in Windows Azure<br />Running MySQL in a worker role<br />Copy MySQL to the worker role sub-directory<br />Copy to read-write local storage<br />Configure MySQL to listen on the right port<br />Monitor MySQL health<br />Consuming MySQL<br />Discover IP address and port<br />Normal access from then on<br />
    29. 29. Simple Configuration<br />VIP<br />Load Balancer<br />Web Role<br />MySQL<br />Worker Role<br />
    30. 30. Replication<br />VIP<br />Load Balancer<br />Web Role<br />MySQL<br />MySQL<br />MySQL<br />Worker Roles<br />M<br />S<br />S<br />
    31. 31. Windows Azure Drive with Hot Spare<br />VIP<br />Load Balancer<br />Web Role<br />MySQL<br />MySQL<br />Worker Roles<br />Windows AzureStorage<br />
    32. 32. Windows Azure MySQL PHP Solution Accelerator<br />http://code.msdn.microsoft.com/winazuremysqlphp<br />Master/slave configurations in a worker role<br />Leverage Windows Azure Drive<br />Master election and replication on startup<br />Failover and recovery<br />Scale up/down slaves<br />Periodic backups - full and incremental<br />Available with source code<br />
    33. 33. How does Windows Azure Work with PHP?<br />Running PHP in Windows Azure<br />Windows Azure Tools for Eclipse<br />Windows Azure Command Line Tools for PHP<br />PHP with Windows Azure Storage<br />PHP with SQL Azure<br />Running MySQL in Windows Azure<br />Solution Accelerators<br />
    34. 34. Solution Accelerators<br />http://www.microsoft.com/windowsazure/interop/<br />memcached, Tomcat, MediaWikiSolution Accelerators, plus others in the future<br />Solution Accelerators are best-practice deployments<br />Leverage Windows Azure primitives<br />Windows Azure Drive<br />Windows Azure storage<br />Discovering IP addresses, other servers, lifecycle<br />Dynamic Scaling, Failover, and Upgrades<br />Automation of application lifecycle<br />
    35. 35. Windows Azure Pricing – Compute Services<br />Variable instance sizes to handle complex workloads of any size <br />Small<br />Medium<br />Large<br />X Large<br />$0.96<br /> per service hour <br />$0.24<br /> per service hour <br />$0.48<br /> per service hour <br />$0.12<br /> per service hour <br />Unit of Compute Defined <br />Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform) <br />Small<br />Medium<br />Large<br />X Large<br />1.6 GHz<br />(moderate IO)<br />1.75 GB Memory<br />250 GB Instance Storage<br />4 x 1.6 GHz<br />(high IO)<br />7 GB Memory<br />1000 GB Instance Storage<br />8 x 1.6 GHz<br />(high IO)<br />14 GB Memory<br />2000 GB Instance Storage<br />2 x 1.6 GHz<br />(high IO)<br />3.50 GB Memory<br />500 GB Instance Storage<br />
    36. 36. Windows Azure Pricing – Other Services<br /> Bandwidth<br />Per GB transfer in or out of a datacenter<br />US/EU Bandwidth = $0.10 in / $0.15 out / GB <br />Asia Pacific = $0.30 in / $0.45 out / GB <br /> Windows Azure Storage<br />Per GB stored & transactions<br />Blob & table $0.15 / GB<br />Storage Access = $0.10 / 100K Transactions<br />Data Transfers <br />Windows Azure and SQL Azure data transfers within a sub-region are not subject to BW charges <br /> Web Edition Per DB per Month<br />Up to 1GB DB <br />$9.99 + BW charges<br /> Business EditionPer DB per Month<br />Up to 10GB DB$99.99 + BW charges<br /> Service BusPer connection/month<br />$3.00 connection/month<br />(multi connection packs avail)<br /> Access ControlPer AC transactions/month<br />$.015/100K AC transactions(pay per use basis)<br />
    37. 37. Offers & Promotions<br />Development Accelerator <br />Designed to accelerate cloud app development. Flexible (on/off) consumption for scaling. Predictable payment and discounted price.<br /><ul><li>6 month subscription (38%-45% discount)
    38. 38. Offered as a unit (can order multiple units)
    39. 39. Cancel first 30 days; anytime after first 6 months
    40. 40. Overage at Standard Consumption rates</li></ul>CORE($59.95/month)<br />Amount Included in Base<br />Compute 750 hrs/mo <br />Storage 10 GB/mo <br />Storage Transactions 1M/mo <br />NET - Messages 1M/mo<br />Data Transfers 7 GB In / 14 GB Out<br />EXTENDED($109.95/month)<br />Amount Included in Base<br />Same as Core except also includes 1 SQL Azure Business Edition DB (10 GB) <br />Introductory Free Offer <br />No-cost developer starter offer. Provides no-cost allocation to run a cloud service.<br /><ul><li>Available to all partner/customers
    41. 41. Limit of one per customer
    42. 42. Overage at Standard Consumption rates</li></ul>NO-COST<br />Windows Azure<br />Compute 25 Hrs/month<br />Storage 0.5 GB/month<br />Bandwidth 0.5 GB/month<br />Storage Transactions 10K/month<br />SQL Azure<br />1 Web Edition DB (1GB DB) 90 day trial <br />Service Bus and Access Control Service <br />Messages 100K/mo<br />MSDN Premium <br />Mobilize committed .NET developer base. Enable them to build, deploy, manage multiple cloud projects w/in MSDN subscription.<br /><ul><li>Available to MSDN Premium subscribers with limit of one per subscription (one per Windows Live ID)
    43. 43. 12-month term
    44. 44. Overage at partner Consumption rates
    45. 45. Limited time to sign up (thru 6/30/10)
    46. 46. After 6/30/10 quantities may be reduced </li></ul>NO-COST<br />Windows Azure<br />Compute 750 hrs <br />Storage 10 GB<br />Storage Transaction 1M <br />SQL Azure - 3 Web DB (1 GB) <br />Service Bus and Access Control Service Messages 1 Million<br />Data Transfer 7GB In/14GB Out<br />
    47. 47. Sign up at the Windows Azure Platform developers’ portal<br />Windows Azure access<br />Developer tools <br />White papers<br />Sample applications<br />Plan pilot applications, proofs of concept, and architectural design sessions with Windows Azure partners<br />http://www.windowsazure.com<br />
    48. 48. Lastly, Microsoft can help your company!<br />BizSpark<br />www.bizspark.com<br />For startups<br />Less than 3 years old<br />Less than USD 1M in annual revenue<br />Must make software product or service<br />You get a bunch of free stuff (software, support, visibility)<br />Free Windows Azure usage (up to a certain limit)<br />WebsiteSpark<br />www.websitespark.com<br />For companies that build web sites and applications for their customers<br />Less than 10 employees<br />You get a bunch of free stuff (software, support, visibility)<br />No Windows Azure usage unfortunately…<br />
    49. 49. Learn and Build<br />Free Training on the Microsoft Web Platform<br />functionWebCamps() {    Day1.Learn();    Day2.Build(); } /* Life Runs On Code */<br />Interested in learning how new innovations in Microsoft's Web Platform and developer tools like ASP.NET 4 and Visual Studio 2010 can make you a more productive web developer? <br />If you're currently working with PHP, Ruby, ASP or older versions of ASP.NET and want to hear how you can create amazing websites more easily, then register for a Web Camp near you today!<br />4 -5 June 2010<br />Singapore<br />REGISTER TODAY! <br />http://www.webcamps.ms/#singapore_panel<br />
    50. 50. Thank You!<br />innovativesingapore.com <br />twitter.com/innovativesg<br />© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.<br />The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.<br />
    1. A particular slide catching your eye?

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

    ×