Microsoft Web Platform

advertisement
The Windows Web Platform
Michael Epprecht
Microsoft Switzerland
michael.epprecht@microsoft.com
twitter: fastflame
Star Map
• April 1994 to
August 1995
• Page Views per Day:
124'655
• Number of Servers:
3
3
The Microsoft Web Platform is the software of
choice when building web solutions or applications
for your business, large or small. Whether you’re
looking to create your company’s 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 500’s, used by millions of individuals.
Built to work with YOU in mind
Elements of a Successful Web Platform
Community
Applications
Marketplace
Choices
www.microsoft.com/web
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
IIS 7/7.5 Architecture
Service Host
(SVCHost.EXE)
Configuration
(applicationhost
.config)
Worker Process (W3WP.EXE)
Windows Process
Activation Service
(WAS)
World Wide Web
Service (W3SVC)
HTTP.SYS Kernel-Mode Listener
Request Flow
Service Host
(SVCHost.EXE)
Bindings:
http://*:80:site1
Applicationhost
.config
Worker Process (W3WP.EXE)
Windows Process
Activation Service
(WAS)
World Wide Web
Service (W3SVC)
HTTP Protocol Host
HTTP Listener
Channel
HTTP.SYS Kernel-Mode Listener
Request
Queue
Response
Cache
HTTP.SYS
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
WAS
Windows Process Activation Service (WAS)
W3svc
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
W3WP.EXE
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.
IISAdmin
Metabase / ABOMapper
Host: INETINFO.EXE
FTP
MSFTPSVC
Host: INETINFO.EXE
SMTP
Host: INETINFO.EXE
Application Host Helper Service (ApphostSvc)
Configuration History
ApplicationPool SID Mapping
Host: svchost.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
1
Confiden
6
There is a solution for virtually everything
http://learn.iis.net/page.aspx/36/managing-andmaintaining-iis-70/
http://www.iis.net/expand
Microsoft
1
Confiden
7
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
1
Confiden
8
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
IIS 7.0/7.5 can run HTML, Classic ASP, ASP.NET, and PHP
applications, all on a single easy-to-manage platform
Before
Now
No Core developer working
on or for Windows
Windows Internals Team
Windows was a 2nd class
platform
Windows is now a primary platform
•2 core developers
•7 regular helpers, contributors or
testers (growing)
Synchronized releases
•5.2.6, 5.2.7, 5.2.8, 5.3.0
Binaries releases days or
weeks after the sources
releases
Absence QA on Windows
Lack of documentation and
communication
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/mailinglists.php)
•IRC channel on freenode #php-dev-win
• 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
Non-thread safe PHP builds are recommended for FastCGI
FastCGI process pool for
PHP5
IIS Worker Process
FastCGI protocol
over named pipes
or TCP
php-cgi.exe
FastCGI process pool for
PHP4
Request
queue
php.exe
FastCGI Process Pool
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
PHP
Integration. Interoperability.
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)
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)
Your PHP application
PHP SDK for Windows Azure
Manageability,
Instrumentation,
logging
Blobs, Tables,
Queues
Helper for Http,
Auth, REST, Error
REST
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:
Deployment scenarios
http://phpazure.codeplex.com/
PHP Runtime
REST
REST
PHP Runtime
WebPI
Aspiration
It’s a mess.
The “plumbing” associated with web
solutions should not get in your way
building great applications.
Reality
The Microsoft Web Platform Installer is our way of making that mess a
little easier to deal with.
It won’t take away all the pain of setting up an environment, but it takes
away a lot of it.
Today I’ll show Version 2 of the WPI and how you can
use it to set up your web environments.
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 what’s new.
PHP
Runs on Windows XP, Windows Vista, Windows 7, Windows
Server 2003, Windows Server 2008, Windows Server 2008
R2
Windows Web App Gallery
Explore, discover, install and deploy popular Web
applications on the Windows Platform through a
streamlined process.
Popular Apps
App Gallery:
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
How
3
Users around the world
discover and install your
web app on dedicated
and shared hosting
servers.
1
You build, package and
submit your web app to
the app gallery.
2
We publish your approved
app and make it available
through the Windows
Web App Gallery
channels.
Steps?
Web Server
Internet Information Services 7.5 in Windows
Server® 2008 R2 provides a secure, easy-tomanage 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
For more Information please contact
Michael Epprecht
IT Pro Evangelist
michael.epprecht@microsoft.com
Tel
+41 43 456 66 68
Mobile +41 78 844 66 68
Microsoft Schweiz GmbH
Richtistrasse 3
CH-8304 Wallisellen
Download