Windows Azure Platform + PHPJonathan WongMicrosoft Innovation Centre Singaporeinnovativesingapore.com | twitter.com/innovativesg
The Non-Cloud ViewAllocated IT-capacitiesLoad Forecast“Under-supply“ of capacities“Waste“ of capacitiesFixed cost of IT-capacitiesIT CAPACITYBarrier forinnovationsActualLoadTIME
Load ForecastAllocated IT capacitiesNo “under-supply“IT CAPACITYReduction of “over-supply“Possible reduction of IT-capacities in case of reduced loadReduction of initial investmentsActualLoadTIMEHowever, In a Cloud View
The Microsoft Cloud~100 Globally Distributed Data CentersQuincy, WAChicago, ILSan Antonio, TXDublin, IrelandGeneration 4 DCs
The Microsoft Cloud
Introducing the Windows Azure Platform
Types of CloudsPrivate(On-Premise)Infrastructure(as a Service)Platform(as a Service)You manageApplicationsApplicationsApplicationsYou manageRuntimesRuntimesRuntimesSecurity & IntegrationSecurity & IntegrationSecurity & IntegrationManaged by vendorDatabasesDatabasesDatabasesYou manageServersServersServersManaged by vendorVirtualizationVirtualizationVirtualizationServer HWServer HWServer HWStorageStorageStorageNetworkingNetworkingNetworking
Private(On-Premise)Types of CloudsInfrastructure(as a Service)Platform(as a Service)
Windows Azure for Application DevelopersHostedServicePortalSDKStorageDevelopRunDeploy
Windows Azure Compute RolesRoleCodeConfiguration
Web vs. Worker RoleWorker RoleWeb RoleSystem HostIIS HostYour CodeYour Code
Sample Application ArchitectureWeb RoleWorker RoleQueuehttp://yourapp.cloudapp.netBlob
Development Fabric and StorageLocal MachineWindows Azure Simulation Environment Development StorageDevelopment Fabric
Windows Azure Developer Portal
How does Windows Azure Work with PHP?Running PHP in Windows Azure
Running PHP in Windows AzureHow to Do ItHost in Web role (like .NET)Supply PHP runtimePoint to runtime via FastCGI configuration inWeb.configWeb.roleconfigPHP Web RoleInstance 1VIPLoad BalancerPHP Web RoleInstance 2
This is all you need!\HelloCloudPHPServiceDefinition.csdefServiceConfiguration.cscfg\WebRoleweb.roleconfigweb.config\phpindex.php		<your php application>etc...Make sure you change your php.ini to use relative paths!
How does Windows Azure Work with PHP?Running PHP in Windows AzureWindows Azure Tools for EclipseWindows Azure Command Line Tools for PHP
Windows Azure Tools for Eclipsehttp://windowsazure4e.org
Windows Azure Command-Line Tools for PHPCreate new applications or convert existing PHP applications to Windows Azure applicationsDeploy to Local Development Fabric or the Windows Azure CloudNo IDE requiredhttp://azurephptools.codeplex.com/
Windows Azure Command-Line Tools for PHPC:\>php package.php--project=MyProject--source=..\php_source\--phpRuntime="C:\Program Files\PHP\“--target="..\workspace\“--runDevFabric
How does Windows Azure Work with PHP?Running PHP in Windows AzureWindows Azure Tools for EclipseWindows Azure Command Line Tools for PHPPHP with Windows Azure StoragePHP with SQL Azure
PHP + Cloud StorageWindows Azure StorageOn-PremisesVIPPHPWeb RoleLoad BalancerPHP AppSQL AzureWindows Azure Platform
PHP with Windows Azure StorageWindows Azure SDK for PHP @ http://phpazure.codeplex.comPHP programming model for Windows Azure StorageFeatures PHP classes for Blobs, Tables & QueuesStore PHP sessions in Table Storage
PHP with SQL AzureSQL Server Driver for PHP @ http://sqlsrvphp.codeplex.com/Supports PHP access to SQL AzureFeaturesChoose between SQL Server and SQL Azure by changing connection stringUse from on-premises or in Windows Azure
Migrate MySQL DB to SQL AzureUsing the SQL Server Migration Assistant for MySQLhttp://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8eMySQL DatabaseSQL Server Migration Assist for MySQLSQL AzureDatabase
How does Windows Azure Work with PHP?Running PHP in Windows AzureWindows Azure Tools for EclipseWindows Azure Command Line Tools for PHPPHP with Windows Azure StoragePHP with SQL AzureRunning MySQL in Windows Azure
Running MySQL in Windows AzureRunning MySQL in a worker roleCopy MySQL to the worker role sub-directoryCopy to read-write local storageConfigure MySQL to listen on the right portMonitor MySQL healthConsuming MySQLDiscover IP address and portNormal access from then on
Simple ConfigurationVIPLoad BalancerWeb RoleMySQLWorker Role
ReplicationVIPLoad BalancerWeb RoleMySQLMySQLMySQLWorker RolesMSS
Windows Azure Drive with Hot SpareVIPLoad BalancerWeb RoleMySQLMySQLWorker RolesWindows AzureStorage
Windows Azure MySQL PHP Solution Acceleratorhttp://code.msdn.microsoft.com/winazuremysqlphpMaster/slave configurations in a worker roleLeverage Windows Azure DriveMaster election and replication on startupFailover and recoveryScale up/down slavesPeriodic backups - full and incrementalAvailable with source code
How does Windows Azure Work with PHP?Running PHP in Windows AzureWindows Azure Tools for EclipseWindows Azure Command Line Tools for PHPPHP with Windows Azure StoragePHP with SQL AzureRunning MySQL in Windows AzureSolution Accelerators
Solution Acceleratorshttp://www.microsoft.com/windowsazure/interop/memcached, Tomcat, MediaWikiSolution Accelerators, plus others in the futureSolution Accelerators are best-practice deploymentsLeverage Windows Azure primitivesWindows Azure DriveWindows Azure storageDiscovering IP addresses, other servers, lifecycleDynamic Scaling, Failover, and UpgradesAutomation of application lifecycle
Windows Azure Pricing – Compute ServicesVariable instance sizes to handle complex workloads of any size   SmallMediumLargeX Large$0.96 per service hour   $0.24 per service hour   $0.48 per service hour   $0.12 per service hour   Unit of Compute Defined Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform) SmallMediumLargeX Large1.6 GHz(moderate IO)1.75 GB Memory250 GB Instance Storage4 x 1.6 GHz(high IO)7 GB Memory1000 GB Instance Storage8 x 1.6 GHz(high IO)14 GB Memory2000 GB Instance Storage2 x 1.6 GHz(high IO)3.50 GB Memory500 GB Instance Storage
Windows Azure Pricing – Other Services     BandwidthPer GB transfer in or out of a datacenterUS/EU Bandwidth = $0.10 in / $0.15 out / GB  Asia Pacific = $0.30 in / $0.45 out / GB           Windows Azure StoragePer GB stored & transactionsBlob & table $0.15 / GBStorage Access = $0.10 / 100K TransactionsData Transfers Windows Azure and SQL Azure data transfers within a sub-region are not subject to BW charges            Web Edition Per DB per MonthUp to 1GB DB $9.99 + BW charges        Business EditionPer DB per MonthUp to 10GB DB$99.99 + BW charges       Service BusPer connection/month$3.00 connection/month(multi connection packs avail)       Access ControlPer AC transactions/month$.015/100K AC transactions(pay per use basis)
Offers & PromotionsDevelopment Accelerator Designed to accelerate cloud app development. Flexible (on/off) consumption for scaling. Predictable payment and discounted price.6 month subscription (38%-45% discount)
Offered as a unit (can order multiple units)
Cancel first 30 days; anytime after first  6 months
Overage at Standard Consumption ratesCORE($59.95/month)Amount Included in BaseCompute 750 hrs/mo Storage 10 GB/mo Storage Transactions 1M/mo NET - Messages 1M/moData Transfers 7 GB In / 14 GB OutEXTENDED($109.95/month)Amount Included in BaseSame as Core except also includes  1 SQL Azure Business Edition DB (10 GB)     Introductory Free Offer No-cost developer starter offer. Provides no-cost allocation to run a cloud service.Available to all partner/customers
Limit of one per customer

Windows Azure Platform + PHP - Jonathan Wong

  • 1.
    Windows Azure Platform+ PHPJonathan WongMicrosoft Innovation Centre Singaporeinnovativesingapore.com | twitter.com/innovativesg
  • 2.
    The Non-Cloud ViewAllocatedIT-capacitiesLoad Forecast“Under-supply“ of capacities“Waste“ of capacitiesFixed cost of IT-capacitiesIT CAPACITYBarrier forinnovationsActualLoadTIME
  • 3.
    Load ForecastAllocated ITcapacitiesNo “under-supply“IT CAPACITYReduction of “over-supply“Possible reduction of IT-capacities in case of reduced loadReduction of initial investmentsActualLoadTIMEHowever, In a Cloud View
  • 4.
    The Microsoft Cloud~100Globally Distributed Data CentersQuincy, WAChicago, ILSan Antonio, TXDublin, IrelandGeneration 4 DCs
  • 5.
  • 6.
  • 7.
    Types of CloudsPrivate(On-Premise)Infrastructure(asa Service)Platform(as a Service)You manageApplicationsApplicationsApplicationsYou manageRuntimesRuntimesRuntimesSecurity & IntegrationSecurity & IntegrationSecurity & IntegrationManaged by vendorDatabasesDatabasesDatabasesYou manageServersServersServersManaged by vendorVirtualizationVirtualizationVirtualizationServer HWServer HWServer HWStorageStorageStorageNetworkingNetworkingNetworking
  • 8.
  • 9.
    Windows Azure forApplication DevelopersHostedServicePortalSDKStorageDevelopRunDeploy
  • 10.
    Windows Azure ComputeRolesRoleCodeConfiguration
  • 11.
    Web vs. WorkerRoleWorker RoleWeb RoleSystem HostIIS HostYour CodeYour Code
  • 12.
    Sample Application ArchitectureWebRoleWorker RoleQueuehttp://yourapp.cloudapp.netBlob
  • 13.
    Development Fabric andStorageLocal MachineWindows Azure Simulation Environment Development StorageDevelopment Fabric
  • 14.
  • 15.
    How does WindowsAzure Work with PHP?Running PHP in Windows Azure
  • 16.
    Running PHP inWindows AzureHow to Do ItHost in Web role (like .NET)Supply PHP runtimePoint to runtime via FastCGI configuration inWeb.configWeb.roleconfigPHP Web RoleInstance 1VIPLoad BalancerPHP Web RoleInstance 2
  • 17.
    This is allyou need!\HelloCloudPHPServiceDefinition.csdefServiceConfiguration.cscfg\WebRoleweb.roleconfigweb.config\phpindex.php <your php application>etc...Make sure you change your php.ini to use relative paths!
  • 18.
    How does WindowsAzure Work with PHP?Running PHP in Windows AzureWindows Azure Tools for EclipseWindows Azure Command Line Tools for PHP
  • 19.
    Windows Azure Toolsfor Eclipsehttp://windowsazure4e.org
  • 20.
    Windows Azure Command-LineTools for PHPCreate new applications or convert existing PHP applications to Windows Azure applicationsDeploy to Local Development Fabric or the Windows Azure CloudNo IDE requiredhttp://azurephptools.codeplex.com/
  • 21.
    Windows Azure Command-LineTools for PHPC:\>php package.php--project=MyProject--source=..\php_source\--phpRuntime="C:\Program Files\PHP\“--target="..\workspace\“--runDevFabric
  • 22.
    How does WindowsAzure Work with PHP?Running PHP in Windows AzureWindows Azure Tools for EclipseWindows Azure Command Line Tools for PHPPHP with Windows Azure StoragePHP with SQL Azure
  • 23.
    PHP + CloudStorageWindows Azure StorageOn-PremisesVIPPHPWeb RoleLoad BalancerPHP AppSQL AzureWindows Azure Platform
  • 24.
    PHP with WindowsAzure StorageWindows Azure SDK for PHP @ http://phpazure.codeplex.comPHP programming model for Windows Azure StorageFeatures PHP classes for Blobs, Tables & QueuesStore PHP sessions in Table Storage
  • 25.
    PHP with SQLAzureSQL Server Driver for PHP @ http://sqlsrvphp.codeplex.com/Supports PHP access to SQL AzureFeaturesChoose between SQL Server and SQL Azure by changing connection stringUse from on-premises or in Windows Azure
  • 26.
    Migrate MySQL DBto SQL AzureUsing the SQL Server Migration Assistant for MySQLhttp://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8eMySQL DatabaseSQL Server Migration Assist for MySQLSQL AzureDatabase
  • 27.
    How does WindowsAzure Work with PHP?Running PHP in Windows AzureWindows Azure Tools for EclipseWindows Azure Command Line Tools for PHPPHP with Windows Azure StoragePHP with SQL AzureRunning MySQL in Windows Azure
  • 28.
    Running MySQL inWindows AzureRunning MySQL in a worker roleCopy MySQL to the worker role sub-directoryCopy to read-write local storageConfigure MySQL to listen on the right portMonitor MySQL healthConsuming MySQLDiscover IP address and portNormal access from then on
  • 29.
  • 30.
  • 31.
    Windows Azure Drivewith Hot SpareVIPLoad BalancerWeb RoleMySQLMySQLWorker RolesWindows AzureStorage
  • 32.
    Windows Azure MySQLPHP Solution Acceleratorhttp://code.msdn.microsoft.com/winazuremysqlphpMaster/slave configurations in a worker roleLeverage Windows Azure DriveMaster election and replication on startupFailover and recoveryScale up/down slavesPeriodic backups - full and incrementalAvailable with source code
  • 33.
    How does WindowsAzure Work with PHP?Running PHP in Windows AzureWindows Azure Tools for EclipseWindows Azure Command Line Tools for PHPPHP with Windows Azure StoragePHP with SQL AzureRunning MySQL in Windows AzureSolution Accelerators
  • 34.
    Solution Acceleratorshttp://www.microsoft.com/windowsazure/interop/memcached, Tomcat,MediaWikiSolution Accelerators, plus others in the futureSolution Accelerators are best-practice deploymentsLeverage Windows Azure primitivesWindows Azure DriveWindows Azure storageDiscovering IP addresses, other servers, lifecycleDynamic Scaling, Failover, and UpgradesAutomation of application lifecycle
  • 35.
    Windows Azure Pricing– Compute ServicesVariable instance sizes to handle complex workloads of any size SmallMediumLargeX Large$0.96 per service hour $0.24 per service hour $0.48 per service hour $0.12 per service hour Unit of Compute Defined Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform) SmallMediumLargeX Large1.6 GHz(moderate IO)1.75 GB Memory250 GB Instance Storage4 x 1.6 GHz(high IO)7 GB Memory1000 GB Instance Storage8 x 1.6 GHz(high IO)14 GB Memory2000 GB Instance Storage2 x 1.6 GHz(high IO)3.50 GB Memory500 GB Instance Storage
  • 36.
    Windows Azure Pricing– Other Services BandwidthPer GB transfer in or out of a datacenterUS/EU Bandwidth = $0.10 in / $0.15 out / GB Asia Pacific = $0.30 in / $0.45 out / GB Windows Azure StoragePer GB stored & transactionsBlob & table $0.15 / GBStorage Access = $0.10 / 100K TransactionsData Transfers Windows Azure and SQL Azure data transfers within a sub-region are not subject to BW charges Web Edition Per DB per MonthUp to 1GB DB $9.99 + BW charges Business EditionPer DB per MonthUp to 10GB DB$99.99 + BW charges Service BusPer connection/month$3.00 connection/month(multi connection packs avail) Access ControlPer AC transactions/month$.015/100K AC transactions(pay per use basis)
  • 37.
    Offers & PromotionsDevelopmentAccelerator Designed to accelerate cloud app development. Flexible (on/off) consumption for scaling. Predictable payment and discounted price.6 month subscription (38%-45% discount)
  • 38.
    Offered as aunit (can order multiple units)
  • 39.
    Cancel first 30days; anytime after first 6 months
  • 40.
    Overage at StandardConsumption ratesCORE($59.95/month)Amount Included in BaseCompute 750 hrs/mo Storage 10 GB/mo Storage Transactions 1M/mo NET - Messages 1M/moData Transfers 7 GB In / 14 GB OutEXTENDED($109.95/month)Amount Included in BaseSame as Core except also includes 1 SQL Azure Business Edition DB (10 GB) Introductory Free Offer No-cost developer starter offer. Provides no-cost allocation to run a cloud service.Available to all partner/customers
  • 41.
    Limit of oneper customer

Editor's Notes

  • #7 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.