400 likes | 563 Views
10 February 2010. The Windows Web Platform . Michael Epprecht IT Pro Evangelist, 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.
E N D
10 February 2010 The Windows Web Platform Michael Epprecht IT Pro Evangelist, 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
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 YOUin mind
Elements of aSuccessful Web Platform • Community • Applications • Marketplace • Choices
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 Internet Information Server (IIS)
IIS 7/7.5 Architecture Service Host (SVCHost.EXE) Worker Process (W3WP.EXE) Configuration (applicationhost.config) Windows Process Activation Service (WAS) World Wide Web Service (W3SVC) HTTP.SYS Kernel-Mode Listener
Request Flow Service Host (SVCHost.EXE) Worker Process (W3WP.EXE) Applicationhost.config Windows Process Activation Service (WAS) Bindings: http://*:80:site1 World Wide Web Service (W3SVC) HTTP Protocol Host HTTP Listener Channel HTTP.SYS Kernel-Mode Listener Response Cache Request Queue
HTTP.SYS 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 and W3SVC WAS W3svc • 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
Worker Process 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.
Other IIS7 Services • 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
Why should I target IIS? (1) 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 Confidential
Why should I target IIS? (2) • 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 Confidential
FTP 7.0/7.5 • 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 Confidential
Hosting and Development 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 IIS 7.0/7.5 can run HTML, Classic ASP, ASP.NET, and PHP applications, all on a single easy-to-manage platform
Microsoft and the PHP Community Before Now
FastCGI in IIS 6, 7 and 7.5 • 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
Under the covers with IIS 7, it’s about the modular architecture 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
Recommended configuration 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
TheSQL Server Driver for 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 (including Express Editions)
PHP SDK for Windows Azure Logical architecture Your PHP application • 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) • 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/ REST Compute Storage Manage • Deployment scenarios • PHP Runtime Any internet connected Server • PHP Runtime REST REST
Introducing the Web Platform Installer The “plumbing” associated with web solutions should not get in your way building great applications. Aspiration Reality It’s a mess.
Introducing the Web Platform Installer 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 2of the WPI and how you can use it to set up your web environments.
Microsoft Web Platform Installer • 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.
App Gallery: Momentum to Date • 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 It Works Users around the world discover and install your web app on dedicated and shared hosting servers. 3 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
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. Running on a Flexible Web Server
Questions? Microsoft Confidential