SlideShare une entreprise Scribd logo
1  sur  25
Windows

      Drupal
       Alessandro Pilotti
          @alexpilotti
      MVP ASP.NET / IIS
     Windows Azure Insider




MCSD, MCAD, MCSE, MCDBA, MCT
   Red Hat Certified Engineer
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
Windows and IIS
Product Name          OS Version         IIS   Release
Windows XP            5.1                5.1   08/01
Windows Server 2003   5.2                6.0   03/03
Windows Vista         6.0 (Build 6000)   7.0   01/07
Windows Server 2008   6.0 (Build 6001)   7.0   03/08

Windows 7             6.1                7.5   07/09
Windows Server 2008   6.1                7.5   07/09
R2
Windows 8             6.2                8.0   ?
Windows Server 2012   6.2                8.0   ?
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
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
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)
Comparing PHP Stacks

 Linux + Apache + MySQL + PHP
 Windows + Apache + MySQL + PHP
 Windows + IIS + MySQL + PHP
 Windows + IIS + MS SQL Server + PHP
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
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
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
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
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
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
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)!
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
Windows Server 2012
   CPU Throttling
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!
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
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
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
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'

);
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
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
   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/
Resources
http://groups.drupal.org/drupal-windows

http://channel9.msdn.com/Series/PHP-at-Scale-on-the-Microsoft-Platform

Free 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

Contenu connexe

Tendances

INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
sanya6900
 
Hardening Apache Web Server by Aswin
Hardening Apache Web Server by AswinHardening Apache Web Server by Aswin
Hardening Apache Web Server by Aswin
Agate Studio
 
06.m3 cms set-upwebserver
06.m3 cms set-upwebserver06.m3 cms set-upwebserver
06.m3 cms set-upwebserver
tarensi
 

Tendances (20)

Installing web sphere application server v7 on red hat enterprise linux v6.3
Installing web sphere application server v7 on red hat enterprise linux v6.3Installing web sphere application server v7 on red hat enterprise linux v6.3
Installing web sphere application server v7 on red hat enterprise linux v6.3
 
Introduction to vSphere logs
Introduction to vSphere logsIntroduction to vSphere logs
Introduction to vSphere logs
 
Microsoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingMicrosoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud Computing
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IIS
 
Introduction to Wildfly 8 - Marchioni
Introduction to Wildfly 8 -  MarchioniIntroduction to Wildfly 8 -  Marchioni
Introduction to Wildfly 8 - Marchioni
 
Ibm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guideIbm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guide
 
Hardening Apache Web Server by Aswin
Hardening Apache Web Server by AswinHardening Apache Web Server by Aswin
Hardening Apache Web Server by Aswin
 
IIS
IISIIS
IIS
 
IIS interview questions and answers
IIS interview questions and answersIIS interview questions and answers
IIS interview questions and answers
 
Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01
 
06.m3 cms set-upwebserver
06.m3 cms set-upwebserver06.m3 cms set-upwebserver
06.m3 cms set-upwebserver
 
Unleashing the Power: A Lap Around PowerShell 3.0
Unleashing the Power: A Lap Around PowerShell 3.0Unleashing the Power: A Lap Around PowerShell 3.0
Unleashing the Power: A Lap Around PowerShell 3.0
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
 
Understanding IIS
Understanding IISUnderstanding IIS
Understanding IIS
 
How to Monitor IIS
How to Monitor IISHow to Monitor IIS
How to Monitor IIS
 
Shailendra-Linux-Cloud(1)
Shailendra-Linux-Cloud(1)Shailendra-Linux-Cloud(1)
Shailendra-Linux-Cloud(1)
 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questions
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
 
WAS 8 Webcast
WAS 8 WebcastWAS 8 Webcast
WAS 8 Webcast
 
system automation, integration and recovery
system automation, integration and recoverysystem automation, integration and recovery
system automation, integration and recovery
 

Similaire à Windows Loves drupal

Windows Server 2008 - Web and Application Hosting
Windows Server 2008 - Web and Application HostingWindows Server 2008 - Web and Application Hosting
Windows Server 2008 - Web and Application Hosting
Information Technology
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 
Win08 R2 It Pro Overview
Win08 R2 It Pro OverviewWin08 R2 It Pro Overview
Win08 R2 It Pro Overview
guest092b9a8
 
Windows Server 2008 R2
Windows Server 2008 R2Windows Server 2008 R2
Windows Server 2008 R2
Rishu Mehra
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platform
giventocode
 
Server2008 R2 Overview
Server2008 R2 OverviewServer2008 R2 Overview
Server2008 R2 Overview
volkerwill
 

Similaire à Windows Loves drupal (20)

The New Efficiency
The New EfficiencyThe New Efficiency
The New Efficiency
 
Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
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)
 
Windows Server 2008 - Web and Application Hosting
Windows Server 2008 - Web and Application HostingWindows Server 2008 - Web and Application Hosting
Windows Server 2008 - Web and Application Hosting
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Drupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesDrupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure Websites
 
Win08 R2 It Pro Overview
Win08 R2 It Pro OverviewWin08 R2 It Pro Overview
Win08 R2 It Pro Overview
 
Windows Server 2008 R2
Windows Server 2008 R2Windows Server 2008 R2
Windows Server 2008 R2
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
Make Web, Not War - Installfest: Extend Your Web Server, Rodney BuikeMake Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
Make Web, Not War - Installfest: Extend Your Web Server, Rodney Buike
 
Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on Windows
 
Php On Windows
Php On WindowsPhp On Windows
Php On Windows
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platform
 
Road Show Asp Net
Road Show Asp NetRoad Show Asp Net
Road Show Asp Net
 
Partying with PHP on Microsoft Internet Information Services 7
Partying with PHP on Microsoft Internet Information Services 7Partying with PHP on Microsoft Internet Information Services 7
Partying with PHP on Microsoft Internet Information Services 7
 
IIS 6.0 and asp.net
IIS 6.0 and asp.netIIS 6.0 and asp.net
IIS 6.0 and asp.net
 
Server2008 R2 Overview
Server2008 R2 OverviewServer2008 R2 Overview
Server2008 R2 Overview
 
Windows Server 2008 for Developers - Part 1
Windows Server 2008 for Developers - Part 1Windows Server 2008 for Developers - Part 1
Windows Server 2008 for Developers - Part 1
 

Plus de Alessandro Pilotti

Interoperable OpenStack guest provisioning with Cloudbase-Init
Interoperable OpenStack guest provisioning with Cloudbase-InitInteroperable OpenStack guest provisioning with Cloudbase-Init
Interoperable OpenStack guest provisioning with Cloudbase-Init
Alessandro Pilotti
 
Hyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova ComputeHyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova Compute
Alessandro Pilotti
 

Plus de Alessandro Pilotti (15)

OpenStack and Windows - What's new in Ocata
OpenStack and Windows - What's new in OcataOpenStack and Windows - What's new in Ocata
OpenStack and Windows - What's new in Ocata
 
Strategies for migrating workloads from VMware to OpenStack
Strategies for migrating workloads from VMware to OpenStackStrategies for migrating workloads from VMware to OpenStack
Strategies for migrating workloads from VMware to OpenStack
 
Puppet + Windows Nano Server
Puppet + Windows Nano ServerPuppet + Windows Nano Server
Puppet + Windows Nano Server
 
OpenStack + Nano Server + Hyper-V + S2D
OpenStack + Nano Server + Hyper-V + S2DOpenStack + Nano Server + Hyper-V + S2D
OpenStack + Nano Server + Hyper-V + S2D
 
Building a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologiesBuilding a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologies
 
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsOpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
 
Interoperable OpenStack guest provisioning with Cloudbase-Init
Interoperable OpenStack guest provisioning with Cloudbase-InitInteroperable OpenStack guest provisioning with Cloudbase-Init
Interoperable OpenStack guest provisioning with Cloudbase-Init
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 
An HTML5 client to connect to the Hyper-V console
An HTML5 client to connect to the Hyper-V consoleAn HTML5 client to connect to the Hyper-V console
An HTML5 client to connect to the Hyper-V console
 
Hyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova ComputeHyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova Compute
 
Drupal, Memcache and Solr on Windows
Drupal, Memcache and Solr on WindowsDrupal, Memcache and Solr on Windows
Drupal, Memcache and Solr on Windows
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance Optimizations
 
Managing Drupal on Windows with Drush
Managing Drupal on Windows with DrushManaging Drupal on Windows with Drush
Managing Drupal on Windows with Drush
 
Building drupal web farms with IIS - part 1
Building drupal web farms with IIS - part 1Building drupal web farms with IIS - part 1
Building drupal web farms with IIS - part 1
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Windows Loves drupal

  • 1. Windows Drupal Alessandro Pilotti @alexpilotti MVP ASP.NET / IIS Windows Azure Insider MCSD, MCAD, MCSE, MCDBA, MCT Red Hat Certified Engineer
  • 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. Windows and IIS Product Name OS Version IIS Release Windows XP 5.1 5.1 08/01 Windows Server 2003 5.2 6.0 03/03 Windows Vista 6.0 (Build 6000) 7.0 01/07 Windows Server 2008 6.0 (Build 6001) 7.0 03/08 Windows 7 6.1 7.5 07/09 Windows Server 2008 6.1 7.5 07/09 R2 Windows 8 6.2 8.0 ? Windows Server 2012 6.2 8.0 ?
  • 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. 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. 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. Comparing PHP Stacks  Linux + Apache + MySQL + PHP  Windows + Apache + MySQL + PHP  Windows + IIS + MySQL + PHP  Windows + IIS + MS SQL Server + PHP
  • 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. 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. 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. 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. 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. 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. 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. 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. Windows Server 2012 CPU Throttling
  • 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. 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. 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. 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. 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. 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. 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. 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. Resources http://groups.drupal.org/drupal-windows http://channel9.msdn.com/Series/PHP-at-Scale-on-the-Microsoft-Platform Free 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