Windows      Drupal      Alessandro Pilotti         @alexpilotti      MVP ASP .NET / IIS     Windows Azure InsiderMCSD, MC...
Some Facts About the       Windows OS—  Based on Windows NT, released in July 1993—  Hardware independent OS—  POSIX su...
Windows and IISProduct Name          OS Version   IIS   ReleaseWindows XP            5.1          5.1   08/01Windows Serve...
IIS 6—  Kernel level component (http.sys) listens to HTTP requests    —  HUGE performance improvement over IIS 5—  All ...
IIS 7.x / 8.0—  Complete redesign over IIS 6.0—  Modular design—  http.sys is still part of the architecture—  Improve...
Security—  Windows is a very secure OS!  —  Running Internet Explorer as administrator and getting      malware does not...
Comparing PHP Stacks—  Linux + Apache + MySQL + PHP—  Windows + Apache + MySQL + PHP—  Windows + IIS + MySQL + PHP—  W...
Linux + Apache + MySQL + PHP—  Pros  —  Most known and deployed stack in OSS world  —  Linux is a highly configurable o...
Windows + Apache + MySQL + PHP—  Pros  —  Most of the components are shared with the LAMP stack  —  Suitable for soluti...
Windows + IIS + MySQL + PHP—  Pros  —    Performance (FastCGI and WinCache)  —    Tightly integrated in the IIS 7.x eco...
MySQL and Microsoft SQL             Server—  Using PHP Data Objects PDO eases portability  issues—  SQL Server is a choi...
PHP on Windows—  COM integration    —  Simplest way to access OS native 3rd party features    —  Marshaling performance...
IIS 7 Modules—  Individual features used to process a request—  Executed in a pipeline—  Native  —  OS specific binari...
Windows Server 2012 - SNI—  Windows Server 2012 introduces some important  features  —  Huge performance improvements fo...
CPU Throttling—  CPU resource pooling is a problem in IIS 7.x  —  Processes exceeding their quota get killed, not      t...
Windows Server 2012   CPU Throttling
WebPI—  Microsoft Web Platform Installer (WebPI) is a free  tool that simplifies deployment of web solutions  —  IIS fea...
Drupal via WebPI—  Fastest way to setup Drupal on IIS—  Takes care of all the steps —  Deploy of Drupal (6.x or 7.x) —...
Windows Cache Extension         for PHP—  Open source project developed by Microsoft—  IIS Specific accelerator—  Requi...
Drush 5.x—  A command line shell and scripting interface—  Written in PHP—  MS SQL Server is supported—  Windows setup...
Drush aliases—  Create a file aliases.drushrc.php in %UserProfile%.drush$aliases[’drupal7] = array(        root => /path/...
Server Farm—  IIS extensions:  —  Application request Routing (ARR)  —  Web Farm Framework (WFF)—  You can enable inde...
WebDeploy—  Web Application Packaging    —  Application or site, including DBs    —  Sources and destinations can be   ...
—  http://www.microsoft.com/web/websitespark/—    Software      —  Production licenses for self hosting: Windows Web Se...
Resourceshttp://groups.drupal.org/drupal-windowshttp://channel9.msdn.com/Series/PHP-at-Scale-on-the-Microsoft-PlatformFree...
Upcoming SlideShare
Loading in …5
×

Windows Loves Drupal

2,406
-1

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,406
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Windows Loves Drupal

  1. 1. Windows Drupal Alessandro Pilotti @alexpilotti MVP ASP .NET / IIS Windows Azure InsiderMCSD, MCAD, MCSE, MCDBA, MCT Red Hat Certified Engineer
  2. 2. Some Facts About the Windows OS—  Based on Windows NT, released in July 1993—  Hardware independent OS—  POSIX subsystem—  Provides excellent command line tools —  PowerShell—  Excellent security model—  Server Core option for minimal GUI and footprint
  3. 3. Windows and IISProduct Name OS Version IIS ReleaseWindows XP 5.1 5.1 08/01Windows Server 2003 5.2 6.0 03/03Windows Vista 6.0 (Build 7.0 01/07 6000)Windows Server 2008 6.0 (Build 7.0 03/08 6001)Windows 7 6.1 7.5 07/09Windows Server 2008 6.1 7.5 07/09R2Windows 8 6.2 8.0 ?Windows Server 2012 6.2 8.0 ?
  4. 4. IIS 6—  Kernel level component (http.sys) listens to HTTP requests —  HUGE performance improvement over IIS 5—  All user code runs in separate processes —  Worker Process (w3wp.exe) —  Crashes in worker processes don’t affect the stability of the service—  Web gardens —  Multiple WP per single web applications—  Configuration stored in a XML metabase —  MetaBase.Xml —  MBSchema.Xml
  5. 5. IIS 7.x / 8.0—  Complete redesign over IIS 6.0—  Modular design—  http.sys is still part of the architecture—  Improved remote administration and delegation—  Enhanced command line and scripting tools —  Including PowerShell cmdlets—  Flexible model not limited to HTTP—  Tight integration with WCF
  6. 6. Security—  Windows is a very secure OS! —  Running Internet Explorer as administrator and getting malware does not mean that the system is flawed —  RunAs permits to execute processes as different users—  Windows Server 2008 introduced some unique security features—  Windows Firewall—  Since Windows Server 2008: —  Address space layout randomization (ASLR) —  Network Access Protection (NAP)
  7. 7. Comparing PHP Stacks—  Linux + Apache + MySQL + PHP—  Windows + Apache + MySQL + PHP—  Windows + IIS + MySQL + PHP—  Windows + IIS + MS SQL Server + PHP
  8. 8. Linux + Apache + MySQL + PHP—  Pros —  Most known and deployed stack in OSS world —  Linux is a highly configurable operating system —  Most Linux distributions can easily be configured for Apache, MySQL and PHP (yum / apt-get / etc) —  Apache is a highly modular and scalable web server —  Lots of documentation available —  Tightly integrated update process (yum / apt-get)—  Cons —  Lack of simple configuration tools —  Configuration requires a wide knowledge —  Deployment differences between distributions
  9. 9. Windows + Apache + MySQL + PHP—  Pros —  Most of the components are shared with the LAMP stack —  Suitable for solutions that require integration with both Apache modules (e.g. mod_rewrite) and Windows —  Until FastCGI for IIS showed up, undoubtfully the best PHP stack on Windows —  Tools like XAMPP provide an easy deployment option —  http://en.wikipedia.org/wiki/Comparison_of_WAMPs—  Cons —  Performance —  Limited documentation and examples —  Limited integration in the Windows ecosystem —  Heterogeneous scenario for security updates
  10. 10. Windows + IIS + MySQL + PHP—  Pros —  Performance (FastCGI and WinCache) —  Tightly integrated in the IIS 7.x ecosystem —  Easy to configure an deploy via WebPI —  Easy to manage via IIS Manager —  Easy to script via WebDeploy and Powershell—  Cons —  Web apps requiring integration with Apache modules need to be reviewed
  11. 11. MySQL and Microsoft SQL Server—  Using PHP Data Objects PDO eases portability issues—  SQL Server is a choice to evaluate in scenarios that require high availability—  PHP Drivers for SQL Server 3.0 just released!—  Drupal + SQL Server through Commerce Guys module
  12. 12. PHP on Windows—  COM integration —  Simplest way to access OS native 3rd party features —  Marshaling performance is not brilliant (IDispatch / late binding)—  .NET integration (experimental)—  W32Api (experimental) —  Register / Invoke API functions —  Be careful with the parameters on the stack—  win32service —  start/stop/register/unregister services—  Note: flock() has a slightly different behavior on Windows
  13. 13. IIS 7 Modules—  Individual features used to process a request—  Executed in a pipeline—  Native —  OS specific binaries (e.g. written in C++) —  More performant—  Managed —  .NET assemblies, executed by the .NET CLR —  More secure and manageable
  14. 14. Windows Server 2012 - SNI—  Windows Server 2012 introduces some important features —  Huge performance improvements for multi-tenant!—  Server Name Indication (SNI) —  Assign different X509 certificates to different host headers —  Requires IE >= 7.0, Chrome >= 6.0, FF >= 2.0, SafariMobile >= 5.0 —  Non supported in IE on Windows XP (even on IE 9)!
  15. 15. CPU Throttling—  CPU resource pooling is a problem in IIS 7.x —  Processes exceeding their quota get killed, not throttled —  Lots of errors in user applications —  Not suitable for multitenant scenarios—  This feature required specific kernel support
  16. 16. Windows Server 2012 CPU Throttling
  17. 17. WebPI—  Microsoft Web Platform Installer (WebPI) is a free tool that simplifies deployment of web solutions —  IIS features and extensions —  WinCache, PHP Drivers for SQL Server, PHP Manager —  Frameworks —  PHP 5.2 / 5.3, .Net, etc —  Web applications —  Drupal, Joomla, Wordpress, DotNetNuke, Orchard, etc —  Database —  MS SQL Server Express, MySQL, etc —  WebMatrix —  WebMatrix 2 RC available!
  18. 18. Drupal via WebPI—  Fastest way to setup Drupal on IIS—  Takes care of all the steps —  Deploy of Drupal (6.x or 7.x) —  Dependencies —  PHP IIS: CGI, URL Rewrite, VC9, WinCache, etc , —  File permissions —  Database creation
  19. 19. Windows Cache Extension for PHP—  Open source project developed by Microsoft—  IIS Specific accelerator—  Requires PHP 5.2 or 5.3 x86 —  Non thread safe version—  Provides features not available in APC and other accelerators—  Current version: 1.1
  20. 20. Drush 5.x—  A command line shell and scripting interface—  Written in PHP—  MS SQL Server is supported—  Windows setup available on http://drush.ws/drush_windows_installer —  Takes care of all required dependencies —  Requires elevation
  21. 21. Drush aliases—  Create a file aliases.drushrc.php in %UserProfile%.drush$aliases[’drupal7] = array( root => /path/to/drupal, uri => dev.mydrupalsite.com, os => Windows, remote-user => Administrator, winrs-password => Passw0rd, remote-host => DrupalWeb1);
  22. 22. Server Farm—  IIS extensions: —  Application request Routing (ARR) —  Web Farm Framework (WFF)—  You can enable independently —  Load balancing and caching —  Server farm provisioning —  Platform / applications
  23. 23. WebDeploy—  Web Application Packaging —  Application or site, including DBs —  Sources and destinations can be —  Live servers —  Zip files—  Deployment —  Administrative rights not required —  Integration with VMSVC for remote deployment—  IIS server synchronization —  Entire server / site / application —  Differential —  Detects missing dependencies
  24. 24. —  http://www.microsoft.com/web/websitespark/—  Software —  Production licenses for self hosting: Windows Web Server 2008 R2; SQL Server 2008 Web Edition and development tools—  Azure —  WebsiteSpark members get up to $1400* in annual Windows Azure resources—  Training —  Free online training and access to the MSDN developer community and resources—  Support —  2 professional support incidents—  Criteria —  An individual or a company with < than 10 employees engaged in website design & development—  Check out also BizSpark for startups —  http://www.microsoft.com/bizspark/
  25. 25. Resourceshttp://groups.drupal.org/drupal-windowshttp://channel9.msdn.com/Series/PHP-at-Scale-on-the-Microsoft-PlatformFree Webcasts! —  Deploying Drupal on IIS with Web Platform Installer (WebPI) —  Deploying Drupal on IIS without Web Platform Installer (WebPI) —  Building a Drupal Web Farm with IIS and Application Request Routing (ARR) - Part 1 —  Building a Drupal Web Farm with IIS - Part 2 —  IIS URL Rewrite for PHP and Drupal —  Web Deployment Tool (WebDeploy) for Drupal sites —  Optimizing Drupal and PHP sites on IIS, including Profile Guided Optimization (PGO) —  Optimizing Drupal in IIS with Memcache and Solr —  Configuring and managing Drupal with SQL Server —  Managing Drupal on the Windows Platform with Drush
  1. A particular slide catching your eye?

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

×