SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Just another Wordpress weblog,but more cloudy WUX211 Maarten Balliauw @maartenballiauw
While working together with Microsoft on the Windows Azure SDK for PHP, we found that we needed an popular example application hosted on Microsoft's Windows Azure. Wordpress was an obvious choice, but not an obvious task. Learn more about Windows Azure, the PHP SDK that we developed, SQL Azure and about the problems we faced porting an existing PHP application to Windows Azure. Just another wordpress weblog, but more cloudy
Maarten Balliauw Maarten Balliauw is a technical consultant in web technologies at RealDolmen, one of Belgium's biggest ICT companies. His interests are ASP.NET (MVC), PHP and Windows Azure. He's a Microsoft Most Valueable Professional (MVP) ASP.NET and has published many articles in both PHP and .NET literature such as MSDN magazine Belgium and PHP architect. Maarten is a frequent speaker at various national and international events. His blog can be found at http://blog.maartenballiauw.be.
Start with the title slide Keep the two hidden slides(#2&#3) for speaker and session description Use the “Demo” Layout for Demos if using Powerpoint 2010, please use sections There’s a “black” and a “white” layouts if necessary End with the Q&A, “thank you”, “fill the forms” and the “Microsoft Potential + Passion” slide Quick guide
Who am I? Maarten Balliauw Antwerp, Belgium www.realdolmen.com Focus on web ASP.NET, ASP.NET MVC, PHP, Azure, VSTS, … MVP ASP.NET Interested in interoperability PHPExcel, PHPLinq, Windows Azure SDK for PHP, ... http://blog.maartenballiauw.be http://twitter.com/maartenballiauw
Agenda Cloud computing? Windows Azure? Application architecture Using PHP with Windows Azure Wordpress Resources Q&A
What’s in the cloud? Cloud Computing
What is Cloud Computing ? What is cloud computing ? Offering infrastructure, platform and software as a service over the internet to a global market. Move on-premises management of non functional IT assets to a provider. Difference from traditional hostings Sold on demand “pay as you grow” Elastic scalability Service is fully managed by the provider End user centric (IW or developer) Strong focus on integration (cloud-cloud or cloud-on-premises)
Definition of cloud (NIST) On-demand self service Standardized access Location independant resource pooling Rapid elasticity Pay per use
IT as a Service You manage Private (On-Premise) Infrastructure (as a Service) Platform (as a Service) You manage Applications Applications Applications Runtimes Runtimes Runtimes Security & Integration Security & Integration Security & Integration You manage Managed by vendor Databases Databases Databases Servers Servers Servers Managed by vendor Virtualization Virtualization Virtualization Server HW Server HW Server HW Storage Storage Storage Networking Networking Networking
Microsoft’s cloud Windows Azure
The Windows Azure Platform Windows Azure SQL Azure Windows Azure platform AppFabric Microsoft Codename “Dallas” Microsoft Codename “Sydney”
Windows Azure Flexible application hosting Lights-out service management Provide code & service model, hit ENTER Storage at massive scale Blobs, tables, queues Compute Storage Management There’s an SDK for this: http://phpazure.codeplex.com
Windows Azure
Windows Azure Data Storage Queue Blob Account Tables Drives
Storage options Blobs, tables, queues Windows Azure Drive (a.k.a. XDrive) Virtual NTFS volume that can be mounted .vhd format Use existing NTFS API’s Easier migration Stored on blob storage provides quick mount/unmount in other VM
SQL Azure Relational database as a service Highly available, automatically maintained Extension of the SQL Server Data Platform Reporting Data Sync Business Analytics Database There’s a driver for this: http://sqlsrvphp.codeplex.com
SQL Azure Relational database, provided as a service Highly symmetrical development and tooling experience (use TDS protocol and T-SQL) Highly scaled out, on commodity hardware Built on the SQL Server technology foundation High availability, DB provisioning, and DB management are provided by the service
Windows Azure AppFabric Secure connections between services Across organizational boundaries Claims-based access control ServiceBus AccessControl There’s an SDK for this: http://dotnetservicesphp.codeplex.com/
Service Bus Overview
Windows Azure AppFabric - Service Bus Securely connect applications Over the internet Across any network topology (= across firewalls!) Across organizational boundaries Primary application patterns Eventing:  Notify applications and/or devices Service Remoting:  Securely project on-premises services out to the cloud Tunneling:  App-to-app communication with NAT/Firewall traversal
PortBridge - http://bit.ly/bCDrUs Bridge TCP over Service Bus A fun usage scenario…
Microsoft Codename “Dallas” Content brokerage and discovery platform  Available as a CTP Microsoft Codename “Dallas”Information Services
Microsoft Codename “Sydney” - Connectivity WINDOWS AZURE PLATFORM ENTERPRISE Data Service Service Bus Access Control Service Code Name “Project Sydney”
Developer tools Development Use your favourite editor Local debugging Windows with IIS 7.x Visual Studio Windows Azure tools for Eclipse Packaging Windows Azure SDK Deployment Any browser
Your typical cloud application Application architecture
Typical Architecture on Azure Service Unavailable VIP Worker Role Web Role Windows Azure Storage  (Blob, Table, Queue)
Web + Worker Role Service Model Worker Role Service Still Available Worker Role Web Role VIP Worker Role Web Role Worker Role Worker Role Windows Azure Storage  (Blob, Table, Queue)
How about that? PHP & Windows Azure
It’s all about… Running PHP Code in Windows Azure Eclipse Tooling Build, Test, Deploy PHP Projects Create New or Use Existing PHP Projects Scaling PHP Apps Using Cloud Storage from PHP Using Windows Azure Storage Using SQL Azure Using PHP with Windows Azure
Running PHP in Windows Azure How to Do It Host in Web role (like .NET) Supply PHP runtime Point to runtime via FastCGIconfiguration in Web.config Web.roleConfig Eclipse Tooling athttp://windowsazure4e.org does the above for you PHP  Web Role Instance 1 VIP Load Balancer PHP  Web Role Instance 2
PHP + Cloud Storage Windows Azure Storage VIP On-Premise Load Balancer PHP Web Role PHP App SQL Azure Windows Azure Platform
PHP with Windows Azure Storage Windows Azure SDK for PHP at http://phpazure.codeplex.com PHP programming model for Windows Azure Storage Features  PHP classes for Blobs, Tables & Queues Store PHP sessions in Table Storage File system wrapper for Blob Storage
PHP with SQL Azure SQL Server Driver for PHP at http://sqlsrvphp.codeplex.com/ Supports PHP access to SQL Azure Features Choose between SQL Server and SQL Azure by changing connection string Use from on-premise apps or in Windows Azure
PHP with AppFabric AppFabric SDK for PHP developers athttp://dotnetservicesphp.codeplex.com/ Supports PHP on service bus and access control Features Expose on-premise apps on an external endpoint without opening firewall Pub/sub scenario’s …
Finally! Wordpress
Blogging engine Widely used Easy installation Gazillion plugins Huge community around it Free and open-source Wordpress
Runs on top of MySQL Has no database abstraction layer So: only runs on MySQL Windows Azure has Table Storage and SQL Azure I feel lots of work coming… But...
Easy way out Wordpress on Windows Azure MySQL on-premise / at other hoster Medium way out Wordpress on Windows Azure MySQL as well Hard way out Wordpress on Windows Azure MySQL out, SQL Azure in There are ways around!
The easy way out Windows Azure Storage VIP Load Balancer PHP Web Role MySQL Windows Azure Platform On-Premise / hosted
The easy way out Fresh Windows Azure project in Eclipse Fresh Wordpress.org download Point wp-config.php to some MySQL server Package & deploy
The medium way out Windows Azure Storage VIP Load Balancer PHP Web Role WorkerRole runningMySQL Windows Azure Platform On-Premise / hosted
Fresh Windows Azure project in Eclipse Fresh Wordpress.org download “Windows Azure MySQL PHP Solution Accelerator” http://code.msdn.microsoft.com/winazuremysqlphp Some configuration Some anger Some configuration Point wp-config.php to the above MySQL server Package & deploy The medium way out
BUT! Instance count! Pricing! (5 x 240 EUR / month adds up...) Easier migration, but at a cost... The medium way out
Yes, you can run MySQL on Windows Azure! More “solution accelerators”: MySQL http://code.msdn.microsoft.com/winazuremysqlphp Memcached http://code.msdn.microsoft.com/winazurememcached MediaWiki http://code.msdn.microsoft.com/winazuremediawiki Tomcat http://code.msdn.microsoft.com/winazuretomcat So...
The hard way out Windows Azure Storage VIP Load Balancer PHP Web Role SQL Azure Windows Azure Platform On-Premise / hosted
Fresh Windows Azure project in Eclipse Fresh Wordpress.org download Point wp-config.php to SQL Azure Package & deploy Fail! There’s no SQL Server / SQL Azure support in Wordpress, remember? The hard way out
MySQL queries all over the place! “Data layer” (wp-db.php) = very thin Raw MySQL queries passed from app to db Logging Some other stuff That’s nowhere near a database abstraction... Have you ever looked at Wordpress?
Required: Re-build wp-db.php using SQL Server Driver for PHP http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx Options... Re-write every single query in Wordpress Future proof? Insane! Build a query translation tool, rewriting queries on-the-fly Future proof! Insane! Strategic options
Hooks in Wordpress Wp-contents/db.php Wp-includes/wp-db.php Strategy Create wp-db.php class on top of SQL Server Driver for PHP http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx Create custom DB schema, compatible with SQL Server Build a query translation tool, rewriting queries on-the-fly Someone at Microsoft had this laying around Here’s what we did...
Resources Images, other file uploads, ... Normally stored on server disk But this may not survive on Windows Azure... Solution Plugin using Windows Azure SDK for PHP Storing everything on Blob Storage Serving everything from Blob Storage There’s a CDN available! But there’s also... resources
If the Internet works...
Learn more! Resources
Resources Windows Azurehttp://www.azure.com Windows Azure SDK for PHPhttp://phpazure.codeplex.com SQL Server Driver for PHPhttp://sqlsrvphp.codeplex.com AppFabric SDK for PHP developershttp://dotnetservicesphp.codeplex.com PDChttp://microsoftpdc.com PHP Architect December 2009 issuehttp://www.phparch.com Steve Marxhttp://blog.smarx.com/ Clemens Vastershttp://vasters.com/clemensv/ Simon Guesthttp://simonguest.com/blogs/smguest My bloghttp://blog.maartenballiauw.be/category/Azure.aspx RealDolmen blogs is running on Azure!http://www.realdolmenblogs.com
Windows Azure is Operating system (computing & storage) SQL Azure AppFabric Codename projects Your application and skills Hybrid applications It’s not that hard to do Conclusion
Is the source code available? No, not at this time. Do I need Visual Studio / Eclipse? Only for local debugging. Do I need Windows & the Windows Azure SDK? Only for local debugging. Before skipping to Q&A...
Maarten Balliauwhttp://blog.maartenballiauw.be

Weitere ähnliche Inhalte

Was ist angesagt?

Php Asp Net Interoperability Rc Jao
Php Asp Net Interoperability Rc JaoPhp Asp Net Interoperability Rc Jao
Php Asp Net Interoperability Rc Jaojedt
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitDanilo Poccia
 
ECS-Ingress: easy nginx load balancing across ecs services
ECS-Ingress: easy nginx load balancing across ecs servicesECS-Ingress: easy nginx load balancing across ecs services
ECS-Ingress: easy nginx load balancing across ecs servicesStefano Fratini
 
Running High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWSRunning High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWSAcquia
 
Amazon web services quick guide - tutorialspoint
Amazon web services   quick guide - tutorialspointAmazon web services   quick guide - tutorialspoint
Amazon web services quick guide - tutorialspointVishnu Sure
 
Accessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWSAccessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWSColdFusionConference
 
ASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealJim Duffy
 
VMware and AWS together (June 2017)
VMware and AWS together (June 2017)VMware and AWS together (June 2017)
VMware and AWS together (June 2017)Julien SIMON
 
Getting Started with Containers on AWS
Getting Started with Containers on AWSGetting Started with Containers on AWS
Getting Started with Containers on AWSAmazon Web Services
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAmazon Web Services
 
Getting-started-with-containers on AWS
Getting-started-with-containers on AWSGetting-started-with-containers on AWS
Getting-started-with-containers on AWSAmazon Web Services
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongSpiffy
 
Why Enterprises are Using ASP.NET Core?
Why Enterprises are Using ASP.NET Core?Why Enterprises are Using ASP.NET Core?
Why Enterprises are Using ASP.NET Core?Marie Weaver
 
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Amazon Web Services
 

Was ist angesagt? (19)

AWS Deployment Best Practices
AWS Deployment Best PracticesAWS Deployment Best Practices
AWS Deployment Best Practices
 
Php Asp Net Interoperability Rc Jao
Php Asp Net Interoperability Rc JaoPhp Asp Net Interoperability Rc Jao
Php Asp Net Interoperability Rc Jao
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
Cloud PaaS with Java
Cloud PaaS with JavaCloud PaaS with Java
Cloud PaaS with Java
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 
ECS-Ingress: easy nginx load balancing across ecs services
ECS-Ingress: easy nginx load balancing across ecs servicesECS-Ingress: easy nginx load balancing across ecs services
ECS-Ingress: easy nginx load balancing across ecs services
 
Running High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWSRunning High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWS
 
Amazon web services quick guide - tutorialspoint
Amazon web services   quick guide - tutorialspointAmazon web services   quick guide - tutorialspoint
Amazon web services quick guide - tutorialspoint
 
Accessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWSAccessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWS
 
ASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big DealASP.NET 5: What's the Big Deal
ASP.NET 5: What's the Big Deal
 
VMware and AWS together (June 2017)
VMware and AWS together (June 2017)VMware and AWS together (June 2017)
VMware and AWS together (June 2017)
 
Getting Started with Containers on AWS
Getting Started with Containers on AWSGetting Started with Containers on AWS
Getting Started with Containers on AWS
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
 
Getting-started-with-containers on AWS
Getting-started-with-containers on AWSGetting-started-with-containers on AWS
Getting-started-with-containers on AWS
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
 
Why Enterprises are Using ASP.NET Core?
Why Enterprises are Using ASP.NET Core?Why Enterprises are Using ASP.NET Core?
Why Enterprises are Using ASP.NET Core?
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...Scale Your Application while Improving Performance and Lowering Costs (SVC203...
Scale Your Application while Improving Performance and Lowering Costs (SVC203...
 

Andere mochten auch

AZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingAZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingMaarten Balliauw
 
PHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionPHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionMaarten Balliauw
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMaarten Balliauw
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCMaarten Balliauw
 

Andere mochten auch (8)

AZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingAZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meeting
 
Mocking - Visug session
Mocking - Visug sessionMocking - Visug session
Mocking - Visug session
 
PHP And Silverlight - DevDays session
PHP And Silverlight - DevDays sessionPHP And Silverlight - DevDays session
PHP And Silverlight - DevDays session
 
MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows Azure
 
PHPExcel
PHPExcelPHPExcel
PHPExcel
 
ASP.NET MVC Wisdom
ASP.NET MVC WisdomASP.NET MVC Wisdom
ASP.NET MVC Wisdom
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
 

Ähnlich wie Just another Wordpress weblog, but more cloudy

Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Maarten Balliauw
 
PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on AzureMaarten Balliauw
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzureMaarten Balliauw
 
The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)Dave Bost
 
Cloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureCloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureEduardo Castro
 
PHPBenelux 2011 - Seeing PHP throug a blue azure sky
PHPBenelux 2011 - Seeing PHP throug a blue azure skyPHPBenelux 2011 - Seeing PHP throug a blue azure sky
PHPBenelux 2011 - Seeing PHP throug a blue azure skyMaarten Balliauw
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixIBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)Katrien De Graeve
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxsaidbilgen
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure PlatformSergejus Barinovas
 
App fabric hybrid computing
App fabric   hybrid computingApp fabric   hybrid computing
App fabric hybrid computingHammad Rajjoub
 

Ähnlich wie Just another Wordpress weblog, but more cloudy (20)

Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)Cloud computing and the Windows Azure Services Platform (KU Leuven)
Cloud computing and the Windows Azure Services Platform (KU Leuven)
 
PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on Azure
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)The Windows Azure Platform (MSDN Events Series)
The Windows Azure Platform (MSDN Events Series)
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
 
Cloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureCloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azure
 
PHPBenelux 2011 - Seeing PHP throug a blue azure sky
PHPBenelux 2011 - Seeing PHP throug a blue azure skyPHPBenelux 2011 - Seeing PHP throug a blue azure sky
PHPBenelux 2011 - Seeing PHP throug a blue azure sky
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Sky High With Azure
Sky High With AzureSky High With Azure
Sky High With Azure
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Azure rev002
Azure rev002Azure rev002
Azure rev002
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
 
Introduction to Windows Azure Platform
Introduction to Windows Azure PlatformIntroduction to Windows Azure Platform
Introduction to Windows Azure Platform
 
App fabric hybrid computing
App fabric   hybrid computingApp fabric   hybrid computing
App fabric hybrid computing
 

Mehr von Maarten Balliauw

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxMaarten Balliauw
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Maarten Balliauw
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceMaarten Balliauw
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Maarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Maarten Balliauw
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...Maarten Balliauw
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...Maarten Balliauw
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...Maarten Balliauw
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...Maarten Balliauw
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchMaarten Balliauw
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandMaarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Maarten Balliauw
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneMaarten Balliauw
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneMaarten Balliauw
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...Maarten Balliauw
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingMaarten Balliauw
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Maarten Balliauw
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...Maarten Balliauw
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETMaarten Balliauw
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingMaarten Balliauw
 

Mehr von Maarten Balliauw (20)

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptx
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
 

Kürzlich hochgeladen

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Just another Wordpress weblog, but more cloudy

  • 1. Just another Wordpress weblog,but more cloudy WUX211 Maarten Balliauw @maartenballiauw
  • 2. While working together with Microsoft on the Windows Azure SDK for PHP, we found that we needed an popular example application hosted on Microsoft's Windows Azure. Wordpress was an obvious choice, but not an obvious task. Learn more about Windows Azure, the PHP SDK that we developed, SQL Azure and about the problems we faced porting an existing PHP application to Windows Azure. Just another wordpress weblog, but more cloudy
  • 3. Maarten Balliauw Maarten Balliauw is a technical consultant in web technologies at RealDolmen, one of Belgium's biggest ICT companies. His interests are ASP.NET (MVC), PHP and Windows Azure. He's a Microsoft Most Valueable Professional (MVP) ASP.NET and has published many articles in both PHP and .NET literature such as MSDN magazine Belgium and PHP architect. Maarten is a frequent speaker at various national and international events. His blog can be found at http://blog.maartenballiauw.be.
  • 4. Start with the title slide Keep the two hidden slides(#2&#3) for speaker and session description Use the “Demo” Layout for Demos if using Powerpoint 2010, please use sections There’s a “black” and a “white” layouts if necessary End with the Q&A, “thank you”, “fill the forms” and the “Microsoft Potential + Passion” slide Quick guide
  • 5. Who am I? Maarten Balliauw Antwerp, Belgium www.realdolmen.com Focus on web ASP.NET, ASP.NET MVC, PHP, Azure, VSTS, … MVP ASP.NET Interested in interoperability PHPExcel, PHPLinq, Windows Azure SDK for PHP, ... http://blog.maartenballiauw.be http://twitter.com/maartenballiauw
  • 6.
  • 7. Agenda Cloud computing? Windows Azure? Application architecture Using PHP with Windows Azure Wordpress Resources Q&A
  • 8. What’s in the cloud? Cloud Computing
  • 9. What is Cloud Computing ? What is cloud computing ? Offering infrastructure, platform and software as a service over the internet to a global market. Move on-premises management of non functional IT assets to a provider. Difference from traditional hostings Sold on demand “pay as you grow” Elastic scalability Service is fully managed by the provider End user centric (IW or developer) Strong focus on integration (cloud-cloud or cloud-on-premises)
  • 10. Definition of cloud (NIST) On-demand self service Standardized access Location independant resource pooling Rapid elasticity Pay per use
  • 11. IT as a Service You manage Private (On-Premise) Infrastructure (as a Service) Platform (as a Service) You manage Applications Applications Applications Runtimes Runtimes Runtimes Security & Integration Security & Integration Security & Integration You manage Managed by vendor Databases Databases Databases Servers Servers Servers Managed by vendor Virtualization Virtualization Virtualization Server HW Server HW Server HW Storage Storage Storage Networking Networking Networking
  • 13. The Windows Azure Platform Windows Azure SQL Azure Windows Azure platform AppFabric Microsoft Codename “Dallas” Microsoft Codename “Sydney”
  • 14. Windows Azure Flexible application hosting Lights-out service management Provide code & service model, hit ENTER Storage at massive scale Blobs, tables, queues Compute Storage Management There’s an SDK for this: http://phpazure.codeplex.com
  • 16. Windows Azure Data Storage Queue Blob Account Tables Drives
  • 17. Storage options Blobs, tables, queues Windows Azure Drive (a.k.a. XDrive) Virtual NTFS volume that can be mounted .vhd format Use existing NTFS API’s Easier migration Stored on blob storage provides quick mount/unmount in other VM
  • 18. SQL Azure Relational database as a service Highly available, automatically maintained Extension of the SQL Server Data Platform Reporting Data Sync Business Analytics Database There’s a driver for this: http://sqlsrvphp.codeplex.com
  • 19. SQL Azure Relational database, provided as a service Highly symmetrical development and tooling experience (use TDS protocol and T-SQL) Highly scaled out, on commodity hardware Built on the SQL Server technology foundation High availability, DB provisioning, and DB management are provided by the service
  • 20. Windows Azure AppFabric Secure connections between services Across organizational boundaries Claims-based access control ServiceBus AccessControl There’s an SDK for this: http://dotnetservicesphp.codeplex.com/
  • 22. Windows Azure AppFabric - Service Bus Securely connect applications Over the internet Across any network topology (= across firewalls!) Across organizational boundaries Primary application patterns Eventing: Notify applications and/or devices Service Remoting: Securely project on-premises services out to the cloud Tunneling: App-to-app communication with NAT/Firewall traversal
  • 23. PortBridge - http://bit.ly/bCDrUs Bridge TCP over Service Bus A fun usage scenario…
  • 24. Microsoft Codename “Dallas” Content brokerage and discovery platform Available as a CTP Microsoft Codename “Dallas”Information Services
  • 25. Microsoft Codename “Sydney” - Connectivity WINDOWS AZURE PLATFORM ENTERPRISE Data Service Service Bus Access Control Service Code Name “Project Sydney”
  • 26.
  • 27.
  • 28. Developer tools Development Use your favourite editor Local debugging Windows with IIS 7.x Visual Studio Windows Azure tools for Eclipse Packaging Windows Azure SDK Deployment Any browser
  • 29. Your typical cloud application Application architecture
  • 30. Typical Architecture on Azure Service Unavailable VIP Worker Role Web Role Windows Azure Storage (Blob, Table, Queue)
  • 31. Web + Worker Role Service Model Worker Role Service Still Available Worker Role Web Role VIP Worker Role Web Role Worker Role Worker Role Windows Azure Storage (Blob, Table, Queue)
  • 32. How about that? PHP & Windows Azure
  • 33. It’s all about… Running PHP Code in Windows Azure Eclipse Tooling Build, Test, Deploy PHP Projects Create New or Use Existing PHP Projects Scaling PHP Apps Using Cloud Storage from PHP Using Windows Azure Storage Using SQL Azure Using PHP with Windows Azure
  • 34. Running PHP in Windows Azure How to Do It Host in Web role (like .NET) Supply PHP runtime Point to runtime via FastCGIconfiguration in Web.config Web.roleConfig Eclipse Tooling athttp://windowsazure4e.org does the above for you PHP Web Role Instance 1 VIP Load Balancer PHP Web Role Instance 2
  • 35. PHP + Cloud Storage Windows Azure Storage VIP On-Premise Load Balancer PHP Web Role PHP App SQL Azure Windows Azure Platform
  • 36. PHP with Windows Azure Storage Windows Azure SDK for PHP at http://phpazure.codeplex.com PHP programming model for Windows Azure Storage Features PHP classes for Blobs, Tables & Queues Store PHP sessions in Table Storage File system wrapper for Blob Storage
  • 37. PHP with SQL Azure SQL Server Driver for PHP at http://sqlsrvphp.codeplex.com/ Supports PHP access to SQL Azure Features Choose between SQL Server and SQL Azure by changing connection string Use from on-premise apps or in Windows Azure
  • 38. PHP with AppFabric AppFabric SDK for PHP developers athttp://dotnetservicesphp.codeplex.com/ Supports PHP on service bus and access control Features Expose on-premise apps on an external endpoint without opening firewall Pub/sub scenario’s …
  • 40. Blogging engine Widely used Easy installation Gazillion plugins Huge community around it Free and open-source Wordpress
  • 41. Runs on top of MySQL Has no database abstraction layer So: only runs on MySQL Windows Azure has Table Storage and SQL Azure I feel lots of work coming… But...
  • 42.
  • 43. Easy way out Wordpress on Windows Azure MySQL on-premise / at other hoster Medium way out Wordpress on Windows Azure MySQL as well Hard way out Wordpress on Windows Azure MySQL out, SQL Azure in There are ways around!
  • 44. The easy way out Windows Azure Storage VIP Load Balancer PHP Web Role MySQL Windows Azure Platform On-Premise / hosted
  • 45. The easy way out Fresh Windows Azure project in Eclipse Fresh Wordpress.org download Point wp-config.php to some MySQL server Package & deploy
  • 46. The medium way out Windows Azure Storage VIP Load Balancer PHP Web Role WorkerRole runningMySQL Windows Azure Platform On-Premise / hosted
  • 47. Fresh Windows Azure project in Eclipse Fresh Wordpress.org download “Windows Azure MySQL PHP Solution Accelerator” http://code.msdn.microsoft.com/winazuremysqlphp Some configuration Some anger Some configuration Point wp-config.php to the above MySQL server Package & deploy The medium way out
  • 48. BUT! Instance count! Pricing! (5 x 240 EUR / month adds up...) Easier migration, but at a cost... The medium way out
  • 49. Yes, you can run MySQL on Windows Azure! More “solution accelerators”: MySQL http://code.msdn.microsoft.com/winazuremysqlphp Memcached http://code.msdn.microsoft.com/winazurememcached MediaWiki http://code.msdn.microsoft.com/winazuremediawiki Tomcat http://code.msdn.microsoft.com/winazuretomcat So...
  • 50. The hard way out Windows Azure Storage VIP Load Balancer PHP Web Role SQL Azure Windows Azure Platform On-Premise / hosted
  • 51. Fresh Windows Azure project in Eclipse Fresh Wordpress.org download Point wp-config.php to SQL Azure Package & deploy Fail! There’s no SQL Server / SQL Azure support in Wordpress, remember? The hard way out
  • 52. MySQL queries all over the place! “Data layer” (wp-db.php) = very thin Raw MySQL queries passed from app to db Logging Some other stuff That’s nowhere near a database abstraction... Have you ever looked at Wordpress?
  • 53. Required: Re-build wp-db.php using SQL Server Driver for PHP http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx Options... Re-write every single query in Wordpress Future proof? Insane! Build a query translation tool, rewriting queries on-the-fly Future proof! Insane! Strategic options
  • 54. Hooks in Wordpress Wp-contents/db.php Wp-includes/wp-db.php Strategy Create wp-db.php class on top of SQL Server Driver for PHP http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx Create custom DB schema, compatible with SQL Server Build a query translation tool, rewriting queries on-the-fly Someone at Microsoft had this laying around Here’s what we did...
  • 55. Resources Images, other file uploads, ... Normally stored on server disk But this may not survive on Windows Azure... Solution Plugin using Windows Azure SDK for PHP Storing everything on Blob Storage Serving everything from Blob Storage There’s a CDN available! But there’s also... resources
  • 56.
  • 57. If the Internet works...
  • 59. Resources Windows Azurehttp://www.azure.com Windows Azure SDK for PHPhttp://phpazure.codeplex.com SQL Server Driver for PHPhttp://sqlsrvphp.codeplex.com AppFabric SDK for PHP developershttp://dotnetservicesphp.codeplex.com PDChttp://microsoftpdc.com PHP Architect December 2009 issuehttp://www.phparch.com Steve Marxhttp://blog.smarx.com/ Clemens Vastershttp://vasters.com/clemensv/ Simon Guesthttp://simonguest.com/blogs/smguest My bloghttp://blog.maartenballiauw.be/category/Azure.aspx RealDolmen blogs is running on Azure!http://www.realdolmenblogs.com
  • 60. Windows Azure is Operating system (computing & storage) SQL Azure AppFabric Codename projects Your application and skills Hybrid applications It’s not that hard to do Conclusion
  • 61. Is the source code available? No, not at this time. Do I need Visual Studio / Eclipse? Only for local debugging. Do I need Windows & the Windows Azure SDK? Only for local debugging. Before skipping to Q&A...