Michael Epprecht Microsoft Switzerland
[email protected] twitter: fastflame The Windows Web
Platform
Slide 2
Slide 3
3 Star Map April 1994 to August 1995 Page Views per Day:
124'655 Number of Servers: 3
Slide 4
Slide 5
The Microsoft Web Platform is the software of choice when
building web solutions or applications for your business, large or
small. Whether youre looking to create your companys global web
presence, building applications for your small business, or just
getting started on the web, Microsoft has the solutions for you.
Trusted by Fortune 500s, used by millions of individuals. Built to
work with YOU in mind
Slide 6
Elements of a Successful Web Platform
CommunityApplicationsChoicesMarketplace
Slide 7
Slide 8
Slide 9
Windows 2003: IIS6, FTP 6 Windows Server 2008: IIS7, FTP 7
Windows Server 2008 R2: IIS7.5, FTP 7.5 IIS Configuration Editor
Configuration Tracking Application Warm Up Server core Support
PowerShell Snap-in Delegation of Custom Errors Bit Rate Throttling
Smooth Streaming
Slide 10
Service Host (SVCHost.EXE) HTTP.SYS Kernel-Mode Listener
Windows Process Activation Service (WAS) World Wide Web Service
(W3SVC) Worker Process (W3WP.EXE) Configuration
(applicationhost.config) IIS 7/7.5 Architecture
Slide 11
Request Flow Service Host (SVCHost.EXE) HTTP.SYS Kernel-Mode
Listener HTTP.SYS Kernel-Mode Listener Windows Process Activation
Service (WAS) World Wide Web Service (W3SVC) Worker Process
(W3WP.EXE) Applicationhost.config HTTP Protocol Host Request Queue
HTTP Listener Channel Response Cache Bindings:
http://*:80:site1
Slide 12
Accepting HTTP (and HTTPS) connections Parsing and validating
HTTP requests Queuing of HTTP requests in application-specific
queues Caching of HTTP responses New SSL Kernel-Mode Windows
authentication HTTP.SYS
Slide 13
Windows Process Activation Service (WAS) Configuration Manager
Reads configuration from applicationhost.config and reacts to
changes in configuration Passes configuration to the World Wide Web
Service Process Manager Starts worker processes when a listener
(e.g. HTTP.SYS) receives the first request Monitors state and
health of worker processes Recycles worker processes based on
certain parameters, e.g. lifetime, number of requests, schedule
etc. Prevents resource exhaustion, e.g. by limiting number of
worker processes that can be active at the same time. W3SVC HTTP
specific listener adapter site binding information (IP address,
port, host header) Application Pool and Application settings
configuration changes WAS W3svc
Slide 14
Worker Process Infrastructure Worker Process == Application
Pool (99% case) Establishes a connection with WAS at startup
Responds to WAS requests, e.g. when asked to shutdown. Picks up
requests from the HTTP.SYS request queue Manages request pipeline
Process requests and send responses Runs all third-party code
Modules, handlers, isapi filters and extensions, assemblies, COM
objects etc. W3WP.EXE
Take me to the movies! Intelligent media streaming support out
of the box with the IIS Media Pack. Support for all media types
including WMV, FLV and MP4. Deliver HD Video with Silverlight and
Smooth Streaming http://www.iis.net/media/experiencesmoothstreaming
http://www.nbcolympics.com/video/ Microsoft Confiden tial16
Slide 17
There is a solution for virtually everything
http://learn.iis.net/page.aspx/36/managing-and- maintaining-iis-70/
http://www.iis.net/expand Microsoft Confiden tial17
Slide 18
Supports FTP over Secure Sockets Layer (FTPS) protocol for
encrypted data transfer Allows FTP host headers for configuring
multiple FTP sites on a single host server Enables FTP and Web
content on the same Web site, making it easier to manage content
Optionally integrates with existing Active Directory authentication
policies Microsoft Confiden tial18
Slide 19
IIS 7.0/7.5 can run HTML, Classic ASP, ASP.NET, and PHP
applications, all on a single easy-to-manage platform FastCGI
module allows IIS7.0 to host PHP applications High-performance
version of CGI interface used by many Web client applications Build
applications that deliver a visually compelling user experience
Communicate across technology boundaries Support a wide range of
business processes
Slide 20
Slide 21
Before No Core developer working on or for Windows Windows was
a 2 nd class platform Binaries releases days or weeks after the
sources releases Absence QA on Windows Lack of documentation and
communication Now Windows Internals Team 2 core developers 7
regular helpers, contributors or testers (growing) Windows is now a
primary platform Synchronized releases 5.2.6, 5.2.7, 5.2.8, 5.3.0
QA on Windows 95% of the core tests pass on Windows Dedicated
communication channels Mailing list, Windows internal list,
iis.net/php(http://www.php.net/mailing- lists.php) IRC channel on
freenode #php-dev-win
Slide 22
FastCGI: The best of both CGI and ISAPI Enhancement to CGI
protocol Web server creates FastCGI process pool for very first
request Web server re-uses existing FastCGI processes for
subsequent requests Configurable Resources Download for IIS 6 Ships
in IIS 7/7.5, installed with the CGI feature Benefits of FastCGI
for Windows Much faster than CGI because there is no process
creation cost Much more stable than ISAPI because of single
threaded execution environment
Slide 23
IIS Worker Process Request queue FastCGI process pool for PHP5
php-cgi.exe FastCGI process pool for PHP4 php.exe FastCGI protocol
over named pipes or TCP
Slide 24
App Pool #1 (user1) Web site #1 FastCGI Process Pool App Pool
#2 (user2) Web site #2 FastCGI Process Pool App Pool #N (userN) Web
site #N FastCGI Process pool
Slide 25
The SQL Server Driver for PHP is designed to enable reliable,
scalable integration with SQL Server for PHP applications deployed
on the Windows platform. Native PHP 5 extension Reading and writing
of SQL Server data from within PHP scripts. Compatible with all
editions of SQL Server 2005 and SQL Server 2008, SQL Server 2008 R2
(including Express Editions) Integration. Interoperability.
Slide 26
PHP Runtime Logical architecture Overview Enables PHP
developers to take advantage of the Microsoft Cloud Services
Platform Windows Azure. Open source project being contributed to
Zend Framework (http://framework.zend.com)http://framework.zend.com
Features PHP classes for Windows Azure Blobs, Tables & Queues
(for CRUD operations) Helper Classes for HTTP transport,
AuhN/AuthZ, REST & Error Management Manageability,
Instrumentation & Logging support Project site:
http://phpazure.codeplex.com/ Deployment scenarios PHP SDK for
Windows Azure Blobs, Tables, Queues Manageability, Instrumentation,
logging Helper for Http, Auth, REST, Error Your PHP application
REST PHP Runtime REST
Slide 27
WebPI
Slide 28
The plumbing associated with web solutions should not get in
your way building great applications. Its a mess.
Slide 29
The Microsoft Web Platform Installer is our way of making that
mess a little easier to deal with. It wont take away all the pain
of setting up an environment, but it takes away a lot of it. Today
Ill show Version 2 of the WPI and how you can use it to set up your
web environments.
Slide 30
Makes it simple for anyone using Windows Server or Client to
design, develop, discover, deploy and run web applications. Install
the latest versions of FREE Microsoft Web Platform tools, web
server and extensions, database and frameworks including Stay
up-to-date and explore whats new. PHP Runs on Windows XP, Windows
Vista, Windows 7, Windows Server 2003, Windows Server 2008, Windows
Server 2008 R2
Slide 31
Slide 32
Explore, discover, install and deploy popular Web applications
on the Windows Platform through a streamlined process. Windows Web
App Gallery
Slide 33
Slide 34
Slide 35
Customers, Partners, and developers have downloaded over
450,000 applications from the Windows Web Application Gallery since
March 2009 Partners & communities that have included their
application in the Windows Web Application Gallery are seeing on
average a 2-3x increase in their downloads above their current
average rate
Slide 36
Users around the world discover and install your web app on
dedicated and shared hosting servers. You build, package and submit
your web app to the app gallery. 1 We publish your approved app and
make it available through the Windows Web App Gallery channels. 2
3
Slide 37
Slide 38
Internet Information Services 7.5 in Windows Server 2008 R2
provides a secure, easy-to- manage Web platform for reliably
hosting rich Web applications, Media and Web services. Easily
deploy ASP.NET and PHP applications on the same server. One server
to manage, one server to configure.
http://www.microsoft.com/web
Slide 39
For more Information please contact Michael Epprecht IT Pro
Evangelist [email protected] Tel +41 43 456 66 68
Mobile+41 78 844 66 68 Microsoft Schweiz GmbH Richtistrasse 3
CH-8304 Wallisellen