• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Just Another Word Press Weblog   But More Cloudy
 

Just Another Word Press Weblog But More Cloudy

on

  • 6,032 views

Session at PHP Benelux conference 2010 on Wordpress and Windows Azure

Session at PHP Benelux conference 2010 on Wordpress and Windows Azure

Statistics

Views

Total Views
6,032
Views on SlideShare
5,254
Embed Views
778

Actions

Likes
1
Downloads
50
Comments
0

43 Embeds 778

http://oakleafblog.blogspot.com 299
http://blog.maartenballiauw.be 246
http://oakleafblog.blogspot.in 35
http://www.blog.maartenballiauw.be 25
http://martindekeijzer.nl 23
http://cartrackr.codeplex.com 22
http://www.martindekeijzer.nl 14
http://oakleafblog.blogspot.ca 11
http://oakleafblog.blogspot.co.uk 9
http://oakleafblog.blogspot.fr 7
http://intranet 6
http://www.rodeveer.be 6
http://oakleafblog.blogspot.cz 6
http://oakleafblog.blogspot.ie 5
http://oakleafblog.blogspot.de 5
http://oakleafblog.blogspot.kr 4
http://oakleafblog.blogspot.tw 4
http://oakleafblog.blogspot.nl 4
http://oakleafblog.blogspot.mx 4
http://oakleafblog.blogspot.com.es 3
http://oakleafblog.blogspot.com.br 3
http://www.jumpincamp.com 3
http://oakleafblog.blogspot.co.nz 3
http://oakleafblog.blogspot.ch 3
http://oakleafblog.blogspot.sg 2
http://oakleafblog.blogspot.pt 2
http://oakleafblog.blogspot.no 2
http://oakleafblog.blogspot.fi 2
http://oakleafblog.blogspot.jp 2
http://oakleafblog.blogspot.ro 2
http://oakleafblog.blogspot.co.il 2
http://oakleafblog.blogspot.it 2
http://microsoft.realdolmenblogs.com 2
http://oakleafblog.blogspot.hu 1
http://feeds2.feedburner.com 1
http://oakleafblog.blogspot.se 1
http://jumpincamp.net 1
http://blogmaartenballiauw.websitesdesignservice.com 1
http://jumpincamp.com 1
http://www.slideshare.net 1
http://webcache.googleusercontent.com 1
http://oakleafblog.blogspot.gr 1
http://oakleafblog.blogspot.sk 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Just Another Word Press Weblog   But More Cloudy Just Another Word Press Weblog But More Cloudy Presentation Transcript

    • Just another WordPress weblog, but more cloudy
      Maarten Balliauw – RealDolmenE-mail: maarten.balliauw@realdolmen.comBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
    • 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
      Private
      (On-Premise)
      Infrastructure
      (as a Service)
      Platform
      (as a Service)
      You manage
      Applications
      Applications
      Applications
      You manage
      Runtimes
      Runtimes
      Runtimes
      Security & Integration
      Security & Integration
      Security & Integration
      Managed by vendor
      You manage
      Databases
      Databases
      Databases
      Servers
      Servers
      Servers
      Managed by vendor
      Virtualization
      Virtualization
      Virtualization
      Server HW
      Server HW
      Server HW
      Storage
      Storage
      Storage
      Networking
      Networking
      Networking
    • What’s in the cloud?
      Windows Azure
    • The Windows Azure Platform
      Windows Azure
      SQL Azure
      Windows Azure platform AppFabric
      Microsoft Codename “Dallas”
      Developer tools
    • Azure Service Platform
      Windows Azure is an Operating System as a Service for the Cloud.
      • Compute– auto-provisioning 64-bit application containers in Windows Server VMs; supports a wide range of application models
      • Storage– highly available distributed table, blob, queue, & cache
      • Languages – .NET 3.5 (C#, VB.NET, etc.), IronRuby, IronPython, PHP, native Win32 code
      SQL Azure is a Relational Database for the Cloud.
      • RDBMS – Tables, Views, Indexes, Stored Procedures, Triggers, ...
      • Programmability – Managed ADO.NET data access, native ODBC, support for PHP
      • Tools – SQLCMD and the SQL Azure Database account portal
      AppFabric is the glue between on-premises and the cloud.
      • Service Bus – connectivity to on-premises applications; secure, federated fire-wall friendly Web services messaging intermediary; durable & discoverable queues
      • Identity Management – rules-driven federated identity; AD federation; claims-based authorization
      Live Services is a building block within the Azure Services Platform.
      • Live Mesh
      • Live ID
      • Live Contacts
      • Live …
      Live Services
    • Windows Azure
      Flexible application hosting
      Lights-out service management
      Provide code & service model, hit ENTER
      Storage at massive scale
      Compute
      Storage
      Management
      There’s an SDK for this: http://phpazure.codeplex.com
    • Windows Azure
    • SQL Azure
      Relational database as a service
      Highly available, automatically maintained
      Extension of the SQL Server Data Platform
      Business Analytics
      Reporting
      Data Sync
      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
      Beyond “hosted database”
      High availability, DB provisioning, and DB management are provided by the service
      Pay for what you use
    • 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/
    • Windows Azure AppFabric - Service Bus
      Securely connect applications
      Over the internet
      Across any network topology
      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
    • Service Bus Overview
    • Microsoft Codename “Dallas”
      Content brokerage and discovery platform
      Available as a CTP at commercial launch
      Microsoft Codename “Dallas”Information Services
    • 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
      I’m whining for this one!
    • What’s in the cloud?
      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)
    • What’s in the cloud?
      Using PHP with Windows Azure
    • Using PHP with 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
    • 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
      On-Premise
      VIP
      PHP
      Web Role
      Load Balancer
      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

    • What’s in the cloud?
      Wordpress
      Finally!
    • Wordpress
      Blogging engine
      Widely used
      Easy installation
      Gazillion plugins
      Huge community around it
      Free and open-source
    • But...
      Runs on top of MySQL
      Has no database abstraction layer
      So: only runs on MySQL
      Windows Azure has Table Storage and SQL Azure
      I feellots of work coming…
    • There are ways around!
      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
    • The easy way out
      Windows Azure Storage
      VIP
      PHP
      Web Role
      Load Balancer
      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
      PHP
      Web Role
      Load Balancer
      WorkerRole
      runningMySQL
      Windows Azure Platform
      On-Premise / hosted
    • The medium way out
      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
    • So...
      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
    • The hard way out
      Windows Azure Storage
      VIP
      PHP
      Web Role
      Load Balancer
      SQL Azure
      Windows Azure Platform
      On-Premise / hosted
    • The hard way out
      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?
    • Have you ever looked at Wordpress?
      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...
    • Strategic options
      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!
    • Here’s what we did...
      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
    • But there’s also... resources
      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!
    • What’s in the cloud?
      Demo time
      If the Internet works...
    • What’s in the cloud?
      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
    • AZUG.BE – Azure User Group Belgium
      Focus on the Azure Services Platform
      Community-driven
      Focus on architecture
      And development
      And the business value of Azure
      www.azug.be
    • And one more announcement...
      Get a free t-shirt at the Microsoft booth!
    • Before skipping to Q&A...
      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 packaging.
      I’ll keep whining to make this available on Linux.
    • Questions, possibly Answers…
      ?
      Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
    • THANK YOU!
      Maarten Balliauwhttp://blog.maartenballiauw.be