SlideShare une entreprise Scribd logo
1  sur  24
Scaling Wordpress (Or really any PHP app) on Microsoft @joshholmes
Josh Holmes @joshholmes josh.holmes@microsoft.com http://www.joshholmes.com
10 people shops 3 copies of VS 2 copies of Expression Web 1 copy of Expression Studio 4 procs of SQL Server 4 procs of Windows Server Microsoft WebsiteSpark
excited about the cloud
Resources Web Platform Installer http://www.microsft.com/web/gallery How WinCache makes PHP run faster  http://blogs.iis.net/ksingla/archive/2009/09/19/how-wincache-make-php-run-faster.aspx Using WinCache Extensions for PHP  http://learn.iis.net/page.aspx/678/using-windows-cache-extension-for-php/ PHP 5.3 Changes to Support Windows http://docs.php.net/manual/en/migration53.windows.php
Resources SQL Server PHP Blog http://blogs.msdn.com/sqlphp SQL Support for WordPress http://wordpress.visitmix.com/development/migrating-a-wordpress-site-from-mysql-to-sql-serversql-azure Microsoft’s Wordpress Sites  http://wordpress.visitmix.com http://microsoft.com/web/wordpress Josh Holmes’ Blog http://www.joshholmes.com

Contenu connexe

Tendances

How to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
How to install and configure microsoft iis 7.5, php, my sql, and phpmyadminHow to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
How to install and configure microsoft iis 7.5, php, my sql, and phpmyadminSandy Ra
 
Install WordPress Blogging Software with EasyPHP
Install WordPress Blogging Software with EasyPHPInstall WordPress Blogging Software with EasyPHP
Install WordPress Blogging Software with EasyPHPRupesh Kumar
 
Webplatform And Php
Webplatform And PhpWebplatform And Php
Webplatform And PhpPierre Joye
 
php with wordpress and mysql ppt by Naveen Tokas
 php with wordpress and mysql ppt by Naveen Tokas php with wordpress and mysql ppt by Naveen Tokas
php with wordpress and mysql ppt by Naveen TokasNAVEEN TOKAS
 
WordPress Performance
WordPress PerformanceWordPress Performance
WordPress Performancedsero
 
Basic Wordpress PPT
Basic Wordpress PPT Basic Wordpress PPT
Basic Wordpress PPT mayur akabari
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06YUCHENG HU
 
WordPress Server Security
WordPress Server SecurityWordPress Server Security
WordPress Server SecurityPeter Baylies
 
Introduction to Wordpress
Introduction to WordpressIntroduction to Wordpress
Introduction to WordpressSandy Ratliff
 
Hosting a website on IIS Server
Hosting a website on IIS ServerHosting a website on IIS Server
Hosting a website on IIS ServerDinesh Vasamshetty
 
introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)Assay Khan
 
Managing Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large NetworkManaging Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large NetworkWilliam Earnhardt
 
From Wordpress.com to Self-hosted
From Wordpress.com to Self-hostedFrom Wordpress.com to Self-hosted
From Wordpress.com to Self-hostedLuiza Libardi
 
Introduction to word press
Introduction to word pressIntroduction to word press
Introduction to word pressLucky Ali
 
WordPress for Education PPT
WordPress for Education PPTWordPress for Education PPT
WordPress for Education PPTjekkilekki
 

Tendances (20)

How to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
How to install and configure microsoft iis 7.5, php, my sql, and phpmyadminHow to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
How to install and configure microsoft iis 7.5, php, my sql, and phpmyadmin
 
Install WordPress Blogging Software with EasyPHP
Install WordPress Blogging Software with EasyPHPInstall WordPress Blogging Software with EasyPHP
Install WordPress Blogging Software with EasyPHP
 
Webplatform And Php
Webplatform And PhpWebplatform And Php
Webplatform And Php
 
php with wordpress and mysql ppt by Naveen Tokas
 php with wordpress and mysql ppt by Naveen Tokas php with wordpress and mysql ppt by Naveen Tokas
php with wordpress and mysql ppt by Naveen Tokas
 
WordPress Performance
WordPress PerformanceWordPress Performance
WordPress Performance
 
Wordpress customer support
Wordpress customer support Wordpress customer support
Wordpress customer support
 
IIS PPT (1)
IIS PPT (1)IIS PPT (1)
IIS PPT (1)
 
Basic Wordpress PPT
Basic Wordpress PPT Basic Wordpress PPT
Basic Wordpress PPT
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06
 
WordPress Server Security
WordPress Server SecurityWordPress Server Security
WordPress Server Security
 
Locking Down CF Servers
Locking Down CF ServersLocking Down CF Servers
Locking Down CF Servers
 
Introduction to Wordpress
Introduction to WordpressIntroduction to Wordpress
Introduction to Wordpress
 
Hosting a website on IIS Server
Hosting a website on IIS ServerHosting a website on IIS Server
Hosting a website on IIS Server
 
introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)introduction and configuration of IIS (in addition with printer)
introduction and configuration of IIS (in addition with printer)
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Managing Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large NetworkManaging Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large Network
 
From Wordpress.com to Self-hosted
From Wordpress.com to Self-hostedFrom Wordpress.com to Self-hosted
From Wordpress.com to Self-hosted
 
Introduction to word press
Introduction to word pressIntroduction to word press
Introduction to word press
 
WordPress for Education PPT
WordPress for Education PPTWordPress for Education PPT
WordPress for Education PPT
 
Word press
Word pressWord press
Word press
 

Similaire à Scaling WordPress on Microsoft

How To Implement a CMS
How To Implement a CMSHow To Implement a CMS
How To Implement a CMSJonathan Smith
 
Microsoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerMicrosoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerGeorge Kanellopoulos
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida realPHP Conference Argentina
 
PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's NewZendCon
 
A Beginner's Guide to Wordpress - WordCamp Montreal 2011
A Beginner's Guide to Wordpress - WordCamp Montreal 2011A Beginner's Guide to Wordpress - WordCamp Montreal 2011
A Beginner's Guide to Wordpress - WordCamp Montreal 2011Kathryn Presner
 
Lg conf upgrade migrate and virtualisation with share-point 2010
Lg conf   upgrade migrate and virtualisation with share-point 2010Lg conf   upgrade migrate and virtualisation with share-point 2010
Lg conf upgrade migrate and virtualisation with share-point 2010Alan Richards
 
A Beginner’s Guide to Wordpress - WordCamp Toronto 2011
A Beginner’s Guide to Wordpress - WordCamp Toronto 2011A Beginner’s Guide to Wordpress - WordCamp Toronto 2011
A Beginner’s Guide to Wordpress - WordCamp Toronto 2011Kathryn Presner
 
Owning word press all you need to know as a wordpress developer by lutaaya ...
Owning word press   all you need to know as a wordpress developer by lutaaya ...Owning word press   all you need to know as a wordpress developer by lutaaya ...
Owning word press all you need to know as a wordpress developer by lutaaya ...Lutaaya Shafiq
 
A Beginner's Guide to WordPress - WordCamp Montreal 2012
A Beginner's Guide to WordPress - WordCamp Montreal 2012A Beginner's Guide to WordPress - WordCamp Montreal 2012
A Beginner's Guide to WordPress - WordCamp Montreal 2012Kathryn Presner
 
Beginners' Guide to WordPress
Beginners' Guide to WordPressBeginners' Guide to WordPress
Beginners' Guide to WordPressShannon Smith
 
How to setup wordpress blog in 10 mins
How to setup wordpress blog in 10 minsHow to setup wordpress blog in 10 mins
How to setup wordpress blog in 10 minssanjeevchugh
 
Php framework at BarCampPP
Php framework at BarCampPPPhp framework at BarCampPP
Php framework at BarCampPPpsophy
 
WP REST API - Building a simple Web Application
WP REST API - Building a simple Web ApplicationWP REST API - Building a simple Web Application
WP REST API - Building a simple Web ApplicationEdmund Chan
 

Similaire à Scaling WordPress on Microsoft (20)

MODx on Windows
MODx on WindowsMODx on Windows
MODx on Windows
 
Php On Windows
Php On WindowsPhp On Windows
Php On Windows
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
How To Implement a CMS
How To Implement a CMSHow To Implement a CMS
How To Implement a CMS
 
Microsoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerMicrosoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform Installer
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real
 
PHP on Windows - What's New
PHP on Windows - What's NewPHP on Windows - What's New
PHP on Windows - What's New
 
A Beginner's Guide to Wordpress - WordCamp Montreal 2011
A Beginner's Guide to Wordpress - WordCamp Montreal 2011A Beginner's Guide to Wordpress - WordCamp Montreal 2011
A Beginner's Guide to Wordpress - WordCamp Montreal 2011
 
Lg conf upgrade migrate and virtualisation with share-point 2010
Lg conf   upgrade migrate and virtualisation with share-point 2010Lg conf   upgrade migrate and virtualisation with share-point 2010
Lg conf upgrade migrate and virtualisation with share-point 2010
 
A Beginner’s Guide to Wordpress - WordCamp Toronto 2011
A Beginner’s Guide to Wordpress - WordCamp Toronto 2011A Beginner’s Guide to Wordpress - WordCamp Toronto 2011
A Beginner’s Guide to Wordpress - WordCamp Toronto 2011
 
Owning word press all you need to know as a wordpress developer by lutaaya ...
Owning word press   all you need to know as a wordpress developer by lutaaya ...Owning word press   all you need to know as a wordpress developer by lutaaya ...
Owning word press all you need to know as a wordpress developer by lutaaya ...
 
2016 03 15_biological_databases_part4
2016 03 15_biological_databases_part42016 03 15_biological_databases_part4
2016 03 15_biological_databases_part4
 
A Beginner's Guide to WordPress - WordCamp Montreal 2012
A Beginner's Guide to WordPress - WordCamp Montreal 2012A Beginner's Guide to WordPress - WordCamp Montreal 2012
A Beginner's Guide to WordPress - WordCamp Montreal 2012
 
Beginners' Guide to WordPress
Beginners' Guide to WordPressBeginners' Guide to WordPress
Beginners' Guide to WordPress
 
How to setup wordpress blog in 10 mins
How to setup wordpress blog in 10 minsHow to setup wordpress blog in 10 mins
How to setup wordpress blog in 10 mins
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
Php framework at BarCampPP
Php framework at BarCampPPPhp framework at BarCampPP
Php framework at BarCampPP
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
WP REST API - Building a simple Web Application
WP REST API - Building a simple Web ApplicationWP REST API - Building a simple Web Application
WP REST API - Building a simple Web Application
 

Plus de Josh Holmes

Mentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkMentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkJosh Holmes
 
Tips from a grizzled speaker
Tips from a grizzled speakerTips from a grizzled speaker
Tips from a grizzled speakerJosh Holmes
 
BrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkBrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkJosh Holmes
 
Touch me, I Dare You...
Touch me, I Dare You...Touch me, I Dare You...
Touch me, I Dare You...Josh Holmes
 
Cloud becomingreality
Cloud becomingrealityCloud becomingreality
Cloud becomingrealityJosh Holmes
 
F as in failure slideshare
F as in failure   slideshareF as in failure   slideshare
F as in failure slideshareJosh Holmes
 
Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Josh Holmes
 
Cloud by Numbers
Cloud by NumbersCloud by Numbers
Cloud by NumbersJosh Holmes
 
So you want to be an architect
So you want to be an architectSo you want to be an architect
So you want to be an architectJosh Holmes
 
Microsoft Zend webcast on Azure
Microsoft Zend webcast on AzureMicrosoft Zend webcast on Azure
Microsoft Zend webcast on AzureJosh Holmes
 
Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Josh Holmes
 
Scaling Big While Sleeping Well
Scaling Big While Sleeping WellScaling Big While Sleeping Well
Scaling Big While Sleeping WellJosh Holmes
 
Moving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudMoving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudJosh Holmes
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftJosh Holmes
 
The Lost Art of Simplicity
The Lost Art of SimplicityThe Lost Art of Simplicity
The Lost Art of SimplicityJosh Holmes
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOOJosh Holmes
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with SilverlightJosh Holmes
 
Best And Worst Ria
Best And Worst RiaBest And Worst Ria
Best And Worst RiaJosh Holmes
 
32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From SuckingJosh Holmes
 
Architecting For Ux
Architecting For UxArchitecting For Ux
Architecting For UxJosh Holmes
 

Plus de Josh Holmes (20)

Mentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talkMentorship by Josh Holmes - a KalamazooX talk
Mentorship by Josh Holmes - a KalamazooX talk
 
Tips from a grizzled speaker
Tips from a grizzled speakerTips from a grizzled speaker
Tips from a grizzled speaker
 
BrazilJS Perf Doctor Talk
BrazilJS Perf Doctor TalkBrazilJS Perf Doctor Talk
BrazilJS Perf Doctor Talk
 
Touch me, I Dare You...
Touch me, I Dare You...Touch me, I Dare You...
Touch me, I Dare You...
 
Cloud becomingreality
Cloud becomingrealityCloud becomingreality
Cloud becomingreality
 
F as in failure slideshare
F as in failure   slideshareF as in failure   slideshare
F as in failure slideshare
 
Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?Is that a Rich Web in Your Pocket?
Is that a Rich Web in Your Pocket?
 
Cloud by Numbers
Cloud by NumbersCloud by Numbers
Cloud by Numbers
 
So you want to be an architect
So you want to be an architectSo you want to be an architect
So you want to be an architect
 
Microsoft Zend webcast on Azure
Microsoft Zend webcast on AzureMicrosoft Zend webcast on Azure
Microsoft Zend webcast on Azure
 
Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010Microsoft and PHP at CakeFest 2010
Microsoft and PHP at CakeFest 2010
 
Scaling Big While Sleeping Well
Scaling Big While Sleeping WellScaling Big While Sleeping Well
Scaling Big While Sleeping Well
 
Moving Enterprise Applications To The Cloud
Moving Enterprise Applications To The CloudMoving Enterprise Applications To The Cloud
Moving Enterprise Applications To The Cloud
 
Best And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and MicrosoftBest And Worst Practices Building Ria with Adobe and Microsoft
Best And Worst Practices Building Ria with Adobe and Microsoft
 
The Lost Art of Simplicity
The Lost Art of SimplicityThe Lost Art of Simplicity
The Lost Art of Simplicity
 
Architecture of RIA from JAOO
Architecture of RIA from JAOOArchitecture of RIA from JAOO
Architecture of RIA from JAOO
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with Silverlight
 
Best And Worst Ria
Best And Worst RiaBest And Worst Ria
Best And Worst Ria
 
32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking32 Ways To Keep Your Blog From Sucking
32 Ways To Keep Your Blog From Sucking
 
Architecting For Ux
Architecting For UxArchitecting For Ux
Architecting For Ux
 

Dernier

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Dernier (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
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.
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Scaling WordPress on Microsoft

  • 1. Scaling Wordpress (Or really any PHP app) on Microsoft @joshholmes
  • 2. Josh Holmes @joshholmes josh.holmes@microsoft.com http://www.joshholmes.com
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. 10 people shops 3 copies of VS 2 copies of Expression Web 1 copy of Expression Studio 4 procs of SQL Server 4 procs of Windows Server Microsoft WebsiteSpark
  • 20.
  • 22.
  • 23. Resources Web Platform Installer http://www.microsft.com/web/gallery How WinCache makes PHP run faster http://blogs.iis.net/ksingla/archive/2009/09/19/how-wincache-make-php-run-faster.aspx Using WinCache Extensions for PHP http://learn.iis.net/page.aspx/678/using-windows-cache-extension-for-php/ PHP 5.3 Changes to Support Windows http://docs.php.net/manual/en/migration53.windows.php
  • 24. Resources SQL Server PHP Blog http://blogs.msdn.com/sqlphp SQL Support for WordPress http://wordpress.visitmix.com/development/migrating-a-wordpress-site-from-mysql-to-sql-serversql-azure Microsoft’s Wordpress Sites http://wordpress.visitmix.com http://microsoft.com/web/wordpress Josh Holmes’ Blog http://www.joshholmes.com

Notes de l'éditeur

  1. http://www.flickr.com/photos/joshholmes/4420045760/sizes/l/in/set-72157623387691473/I am Josh Holmes! 
  2. http://www.flickr.com/photos/baggis/3437478294/Microsoft is a software company that builds a lot of great platforms and applications. We have a large number of finished applications such as Microsoft Word and so on that a ton of people use out of the box every day to accomplish their job. But one of the exciting parts about Microsoft is that almost everything starting with Windows, SQL Server and so on all the way up to Microsoft Office is also a platform that other people (read you in the audience) can write applications on top of in addition to just using out of the box. The conglomeration of platforms from Microsoft that I’m talking about today is Windows, IIS, SQL Server and Azure and running PHP/WordPress on top of those platforms.
  3. http://www.flickr.com/photos/kr_alliance/4545102960/sizes/l/Before we get to that, however, we need to take a quick peek back in history. Many of you probably tried PHP on Windows at some point in the history so you’re thinking that I’m crazy to attempt PHP on Windows.
  4. http://www.flickr.com/photos/fatboyke/2668411239/ 5 years ago, PHP did not run on Windows all that well. It was slow. PHP wasn’t optimized for Windows/IIS and Windows/IIS wasn’t optimized for PHP. Painfully slow at points.
  5. http://www.flickr.com/photos/kaptainkobold/3203311346/It wasn’t compatible with the over versions of PHP. If you were on Windows vs. Linux, you had to take that into account when you were writing your applications and there were standard switch blocks that you’d have to code in order to accommodate the different platforms. Most people didn’t bother doing that so there was platform lock in which defeats much of the purpose of running PHP.
  6. http://www.flickr.com/photos/alf_bilder/4501404108/There wasn’t a good implementation of mod_rewrite or a good alternative. This cause all kinds of problems with SEO optimization and much more.
  7. http://www.flickr.com/photos/sam_scholefield/49378638/There were many other problems and it just made the PHP developers (understandably) mad at Windows and Microsoft.
  8. http://www.flickr.com/photos/atelier_tee/2478897483/sizes/l/So where are we now?
  9. http://www.flickr.com/photos/aturkus/193533029/sizes/l/Microsoft has invested a tremendous amount of time and resources into making sure that we fix all of those issues.
  10. http://www.flickr.com/photos/spoungeworthy/423796116/sizes/o/PHP on Windows is fast. FastCGI support for IIS 7.0, 6.0, 5.11 rocks and is fast. It’s the default on IIS7 and it’s a fast and reliable way to run PHP on Windows. There are all kinds of benchmarks out there but I’d like for you to test it yourself. There are many areas where PHP on Windows/IIS is just as fast or faster than PHP on Linux/Apache. There are other areas where performance suffers some. You should test your application on both platforms and compare performance. For some applications you’ll be pleased, for others you won’t be. Either way you’ll learn something about your application.
  11. http://www.flickr.com/photos/joshholmes/4420154653/sizes/l/in/set-72157623387691473/PHP on Windows/IIS is compatible because it’s the same PHP. This means that most of the applications should just run on IIS. Where there are incompatibilities, it’s because there are some extensions and such to PHP that don’t run on IIS because they are deeply embedded in the Apache piping system or they leverage something in Linux and so on. In some cases there are compatible alternatives. In other cases, we’ll have to work around those. If you run into one of these cases – PLEASE reach out to me and let me know what you’re trying to accomplish. I can tell you that there’s not a one for one equivalent to everything in the world on Linux
  12. A great example of where we don’t have the exact same thing but a great alternative is mod_rewrite on Linux and URL Rewrite on IIS. I’ll walk through a demo of this in just a little bit but in short, URL Rewrite is a fantastic and powerful engine that allows you to do some outstanding things.
  13. http://www.flickr.com/photos/neufneufneuf/4583449949/More pigs fly – we didn’t stop there. In June 2009, we contributed 20k lines of source code to the Linux kernel to do much better virtualization support for things such as Suspend, Hibernate and Resume. Obviously our motivation was to get it to work better with Hyper-V but that code also helps with VMWare, Parallels and more.
  14. http://www.flickr.com/photos/hendricksphotos/3240667660/sizes/o/Now, all of that is fantastic but let’s get to some demos. Demos are the meat of this talk.
  15. http://www.flickr.com/photos/hendricksphotos/3240667626/‘Cause I think that you want to see what’s in my smokin toolbox here and seeing is believing. Web Platform InstallerThe first thing I need to do is get WordPress up and running on my Windows installation. The easiest way to do that is with the Web Platform Installer. This is a free tool that Microsoft has put out there to make your life easier on IIS. You can, under the Web Platform Tab, configure your server to install modules such as URL Rewrite, Advanced Logging features, ODBC or any number of things that are optional on IIS but you might need to leverage. But the tab that we’re most interested in is the Web Application tab where you can find WordPress. Under this tab you’ll find a bunch of different applications ranging from Aquia Drupal to DotNetNuke to Moodle to ScrewTurn Wiki to WordPress. All of these applications and all of this data actually comes from the Web Application Gallery. If you select WordPress and click Install, you’ll get the installation wizard which will analyze the requirements for the applications and make sure that you have everything and download it if you don’t. An important thing to notice here is that the WordPress install is actually coming from http://wordpress.org/wordpress-2.9.2-IIS.zip. If you’ll notice, that’s actually coming from the WordPress foundation rather than from Microsoft. We’re not distributing Wordpress or any of these projects. Instead, we are providing a channel and portal for those applications with a lot of support to make sure things are tested and ready to go. The next couple of screens that we see are configuring your specific installation. The first screen is a common screen that all of the projects get that has to do with were you’re going to put the physical files and the virtual directories stuff that IIS cares about. If you are running multiple web sites off of one machine, here’s where you make that assignment. For example, I’m running http://www.joshholmes.com and http://www.wonderpuzzle.com off of the same server The second page is actually configured by the project itself and has to do with the project’s configuration files directly. WordPress, for example, needs to know the MySQL Administrator’s password so that it can log into MySQL and create the database. It also needs to create a user for that database it set it’s password and the like. This is all part of the package that was downloaded from Wordpress.org. Investigating the WebPI PackageThat package is just a ZIP file with the PHP files, SQL Scripts and a couple of XML files in it. If you open the ZIP file and look at the parameters.xml file, you’ll see how this is all built up. For example, there’s a custom parameter called DbName with a default value of "wordpress" that’s got a regular expression validation of "^w{1,16}$" or in English, 1 to 16 characters in length with no whitespace or punctuation. This parameter file is inserted into the install.sql file wherever the Web Platform Installer finds the word "PlaceholderForDbName" and in the wp-config.php file where if finds "putyourdbnamehere". This makes it easy to set up any parameters that you want and insert them into any file that you want. And if you want, you can create your own projects and custom feeds for the Web Platform Installer to leverage. I’ll have to write an article about doing that in the near future. The next thing that happens is that the install is done and you’re ready to start setting up your WordPress install. You should be, if you’ve ever set up WordPress on any platform, be familiar. You have to make sure that you copy that fantastic auto-generated password, log in and immediately change your password so that you don’t forget it. An important thing to point out here is that even though it’s an older version of WordPress that’s installed, it’s still WordPress and WordPress can update itself and you should do that if you are going to run this for more than a quick demo. Pretty URLS and URL RedirectThe next thing that I want to do is set up my navigation and URL redirection. Just like any other WordPress install, you can do that under Settings | Permalinks. Select your favorite configuration and once you save your updates, there’s a prompt that tells you "You should update your web.config now". If you’ve done this on Linux, you’ll get a prompt that says "You should update your ht.access now". This is because URL Rewrite leverages the web.config. You can actually, if you’ve got an ht.access file that you use all the time, import that directly through the Internet Information Services Manager. The web.config is an XML file that has a tremendous amount of power. In this file you’re able to create file handler mappings, security settings on a per directory level, FastCGI settings, default documents for the application, IIS modules and a ton more. The web.config that WordPress requires at a minimum for pretty URLs is as follows:<rule name="wordpress" patternSyntax="Wildcard">   <match url="*" />     <conditions>       <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />       <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />     </conditions>   <action type="Rewrite" url="index.php" /> </rule> Save this as a file called web.config in the root directory of your web application and you’re good to go with pretty URLs. Quick Peek At WinCacheThe next thing that I want to look at is WinCache. WinCache is a library written by Microsoft and distributed through the Pear Foundation. It’s a op code caching and object caching library that is on by default in the PHP install from the Web Platform Installer. To demo this I turned off WinCache in the php.ini file and used a little client app called WyCats that spins up 25 threads and starts hammering the server. It measures the number of requests, responses, errors and the like. Then I turn WinCache back on and restart WyCats. Immediately there’s a 3-4x improvement in performance. We could go a lot deeper with WinCache but that’s a topic for a different blog post. Windows Azure Data StorageThis helps you scale vertically on a single box but to get true scale, we’re going to need to start leveraging horizontal scaling. One of the easy things to do is leverage a WordPress Plugin called XXXXXXXXXXXX which will offload the use generated media such as pictures, media files and anything else heavy to the Azure Data Storage which can be put out on the new Azure Content Delivery Network. That’s got a global footprint and helps you put your content near to your reader.More WordPress Plugins that RockThere are a lot of other WordPress plugins that leverage various parts of the Microsoft ecosystem including the Bing 404 plugin, the Bing Maps plugin, the Silverlight Streaming Media plugin and more. I’m pretty excited about all of these plugins. The Bing 404 plugin handles broken links and will do a Bing search of your site suggesting possible updated links. This one was written by Cal Evans of Blue Parabola. There are actually three different Bing Maps plugins. The Silverlight Bing Maps plugin is awesome, even if all of the comments are written in French. It helps you drop a Bing Map anywhere on your site with the use of shortcodes. The Silverlight Streaming Media leverages the Smooth Streaming support in IIS to intelligently stream the media at the appropriate fidelity for your consumer based on their bandwidth,  machine specs and the like. All of these plugins are obviously released under GPL since they are hosted on the Wordpress.org site and easily found through the add new plugin search. Windows Live WriterOne of the things that I didn’t plan on hitting on but decided to after I saw that there was a fair number of bloggers in the room that weren’t as technical is Windows Live Writer. It’s a free tool that allows you to do your blogging and posts in a desktop application so you can do it offline and have all of the richness of a desktop application. It’s got preview states where it will actually show your blog post as you’re writing it as it will look on the page complete with margins, your CSS and the whole nine yards. There are hundreds of fantastic plugins to do everything from inserting maps to formatting HTML code to managing flickr images. It’s the tool that I use to do all of my blogging. This post, as an example, I wrote in three different airports, on two different planes and I’m in my hotel room at the moment finishing it up. Between WordPress, Windows Live Writer and Jing, I’m a happy blogger.
  16. http://www.flickr.com/photos/timothymorgan/75593157/in/set-1615269/Ok, back to the slides for a bit. Another thing that’s very exciting is SQL Server support is available right now. This is not in core yet but we’re hoping that we can get it accepted at some point in the near future. Not only that, but there’s a new PDO driver for SQL Server so that any code that leverages PDO (such as Drupal) can have SQL Server support if you’re using SQL statements that are supported by SQL Server. For example, if you’re using LIMIT statements as an integral part of your business logic, we’ll need to figure out a workaround.
  17. http://blogs.msdn.com/brian_swan/archive/2010/04/27/design-decisions-in-the-pdo-driver-for-sql-server.aspxThe SQL Server team has been working heavily on support for PHP. There was a native driver for SQL Server for PHP that was released last year. Then the team abstracted out a lot of the core functionality and build a PDO wrapper on the same native drivers. The awesome part about that is that if your application is using PDO (and using standards compliant SQL – i.e. not using LIMIT statements and the like) you can just load that driver and rock on.
  18. Now, if any of this interests you we’ve got a number of different offers to that fit a variety of options for getting you software, marketing support and more from Microsoft. Before we even talk about the *Spark solutions, there are a ton of tools and applications that are free from Microsoft. Web Platform Installer – I already talked about this a ton. Visual Web Developer Express – This is a fantastic web dev toolkit that includes code editing, debugging support and more. Visual C# Express, Visual VB.NET Express, and all of the other * Express products. SQL Server Express 2008 – This is actually a really powerful option as a free database option. It supports up to a 4 gig database, transactions and the whole nine yards. The features that it doesn’t include are in the enterprise features such as Reporting Services and the like. Windows Azure SDK for PHP – This fantastic SDK gives you access right in PHP to all of the Windows Azure Data Storage options and much more. The list is actually REALLY long but this isn’t the focus of this blog post and I didn’t really spend a ton of time on it in my talk cause I didn’t have time. DreamSpark is for Students. This gives you access to many of our professional tools and the like for you to leverage. There are also fantastic student discounts on Microsoft software for students. DreamSpark is completely free of charge. WebsiteSpark is for small shop web consultants. The definition of that is anyone whose company is less than 10 people (yes – individual consultants count in this definition) and the company creates net new web sites for other people and companies. What this gives you is 3 copies of Visual Studio Pro and Expression Web, a copy of Expression Blend, production licenses for Windows Server and SQL Server Web Edition, entry into the Microsoft Pinpoint tools which drives business to local Microsoft partners and more. There are no upfront costs and at the end of three years, Microsoft will invoice you for $100.00. Other than that, it’s free of charge. BizSpark is for technology startups. The definition of a technology startup for the purposes of this program is less than 3 years old, less than one million in revenue a year, privately held and creating software or software as a service. This gives the startup 25 licenses for MSDN which gives the developers pretty much any thing that they can build an application on top of. There’s also marketing support and such that can be leveraged through this program. There are no upfront costs and at the end of three years, Microsoft will invoice you for $100.00. Other than that, it’s free of charge. I strongly encourage you to look at the various spark programs and see if there’s one that fits you.
  19. http://www.flickr.com/photos/carpenter_b/3014060753/But there’s more
  20. Don’t know if you know this but OddlySpecific.com, which is running in Azure itself and leveraging the SQL Server support and the Azure Data Storage options with SQL Server. We’re working making that more broadly available so that sometime soon you could run in Azure as well. The awesome part about that is that it will allow you to scale up very quickly to meet market demands without having to think about infrastructure.
  21. http://www.flickr.com/photos/taylar/3664112113/sizes/l/Questions?