SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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.3Dave Hay
 
Microsoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingMicrosoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingJosh Holmes
 
INTRODUCTION TO IIS
INTRODUCTION TO IISINTRODUCTION TO IIS
INTRODUCTION TO IISsanya6900
 
Introduction to Wildfly 8 - Marchioni
Introduction to Wildfly 8 -  MarchioniIntroduction to Wildfly 8 -  Marchioni
Introduction to Wildfly 8 - MarchioniCodemotion
 
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_guideKhemnath Chauhan
 
Hardening Apache Web Server by Aswin
Hardening Apache Web Server by AswinHardening Apache Web Server by Aswin
Hardening Apache Web Server by AswinAgate Studio
 
IIS interview questions and answers
IIS interview questions and answersIIS interview questions and answers
IIS interview questions and answersInterviewwiz
 
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 01Clint Edmonson
 
06.m3 cms set-upwebserver
06.m3 cms set-upwebserver06.m3 cms set-upwebserver
06.m3 cms set-upwebservertarensi
 
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.0Sarah Dutkiewicz
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarSyed Shaaf
 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questionsgummadi1
 
system automation, integration and recovery
system automation, integration and recoverysystem automation, integration and recovery
system automation, integration and recoveryDerek Chang
 

Mais procurados (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
 

Semelhante a Windows Loves drupal

The New Efficiency
The New EfficiencyThe New Efficiency
The New EfficiencyCraig Bailey
 
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)
phpbenelux - Microsoft & PHP (Web Platform Installer, Bridges and Azure)Katrien De Graeve
 
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 HostingInformation Technology
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
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 6Ido Flatow
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressGeorge Kanellopoulos
 
Drupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesDrupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesCory Fowler
 
Win08 R2 It Pro Overview
Win08 R2 It Pro OverviewWin08 R2 It Pro Overview
Win08 R2 It Pro Overviewguest092b9a8
 
Windows Server 2008 R2
Windows Server 2008 R2Windows Server 2008 R2
Windows Server 2008 R2Rishu Mehra
 
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 BuikeMake Web Not War
 
Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on WindowsJosh Holmes
 
Azure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App PlatformAzure Cloud Dev Camp - App Platform
Azure Cloud Dev Camp - App Platformgiventocode
 
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 7goodfriday
 
Server2008 R2 Overview
Server2008 R2 OverviewServer2008 R2 Overview
Server2008 R2 Overviewvolkerwill
 
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 1ukdpe
 

Semelhante a 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
 

Mais de Alessandro Pilotti

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 OcataAlessandro Pilotti
 
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 OpenStackAlessandro Pilotti
 
OpenStack + Nano Server + Hyper-V + S2D
OpenStack + Nano Server + Hyper-V + S2DOpenStack + Nano Server + Hyper-V + S2D
OpenStack + Nano Server + Hyper-V + S2DAlessandro Pilotti
 
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 technologiesAlessandro Pilotti
 
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 WindowsAlessandro 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-InitAlessandro Pilotti
 
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 consoleAlessandro Pilotti
 
Hyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova ComputeHyper-V OpenStack Nova Compute
Hyper-V OpenStack Nova ComputeAlessandro Pilotti
 
Drupal, Memcache and Solr on Windows
Drupal, Memcache and Solr on WindowsDrupal, Memcache and Solr on Windows
Drupal, Memcache and Solr on WindowsAlessandro Pilotti
 
PHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsPHP and FastCGI Performance Optimizations
PHP and FastCGI Performance OptimizationsAlessandro Pilotti
 
Managing Drupal on Windows with Drush
Managing Drupal on Windows with DrushManaging Drupal on Windows with Drush
Managing Drupal on Windows with DrushAlessandro Pilotti
 
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 1Alessandro Pilotti
 
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 RSignalAlessandro Pilotti
 

Mais 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
 

Último

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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 WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Último (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

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