Building Scalable and Reliable Web Applications Vineet Gupta Technology Evangelist Microsoft Corporation

Slides:



Advertisements
Similar presentations
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
Advertisements

Internet Information Server 6.0. IIS 6.0 Enhancements  Fundamental changes, aimed at: Reliability & Availability Reliability & Availability Performance.
Running PHP on Windows Server 2008 and IIS 7 Rob Cameron Developer Evangelist, Communications Sector Microsoft.
Microsoft Dynamics AX 2009 Integration and Development with.NET Framework Enterprise Portal.
Faith Allington Program Manager Microsoft Corporation Session Code: WSV304.
Tools to Power Your Vision Aleksandrs Lielbriedis Microsoft Latvia.
Lap Around IIS7 Bill Staples Product Unit Manager, IIS COM014 – A Lap Around IIS7 Microsoft Corporation xxx Roller Coaster Ride.
Application Models for utility computing Ulrich (Uli) Homann Chief Architect Microsoft Enterprise Services.
IIS7: Building New Core Server Modules Michael Volodarsky COM406 Program Manager Microsoft Corporation.
Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation Windows Azure AppFabric Caching.
IIS 7: The Next Generation Web Application Server Platform Michael Volodarsky Program Manager Web Platform and Tools Team Microsoft Corporation.
1 Building Distributed Asynchronous Applications With SQL Service Broker Gerald Hinson, Roger Wolter DAT303 Dev Lead Microsoft Corporation.
April-June 2006 Windows Hosting Seminar Series Product Roadmap: IIS 7.0 Matthew Boettcher Web Platform Technical Evangelist (Hosting) Developer & Platform.
Saad Ladki Program Manager Microsoft Corporation WUX403.
IIS, Tools And Extensibility Madhur Joshi Development Lead Phone:
Joe Hummel, PhD Dept of Mathematics and Computer Science Lake Forest College Lecture 8: WebForms — Web-based.
WSS 3.0 Architecture and Enhancements Ashvini Shahane Member – Synergetics Research Lab.
Virtual techdays INDIA │ august 2010 IIS 7/7.5 Tips & Tricks Jaskirat Singh │ Technical Lead [IIS|Asp.Net team], Microsoft.
A Close Look Inside the SharePoint Engine Randy Williams, MVP MOSS Synergy Corporate Technologies
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
WEB 304 An Overview of ASP.NET and Windows Workflow Foundation Kashif Alam Program Manager Developer Division Microsoft Corporation.
DEV402 Extending the ASP.NET Runtime Jurgen Postelmans Microsoft Regional Director BeLux U2U.
DAT305 Boost Your Data-Driven Application Development Using SQL Server Centric.NET Code Generator Pascal Belaud Microsoft France.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Microsoft Internet Information Server (IIS) Judy Chen Mohammad Tiffany Le.
Internet Information Services (IIS) Oralia Resendez Pauline Cheng Xiao Yan Wu Stephen Tecci.
ASP.NET Architecture Internals Mike Shaw Developer & Platform Group Microsoft Ltd.
Kochhar LexServe Pvt. Ltd.
WEB320 Migrating ASP.NET 1.x Applications to ASP.NET 2.0 Stefan Schackow Program Manager Web Platform and Tools Team Microsoft Corporation.
Getting started with ASP.NET MVC Dhananjay
DAT300 SQL Server Notification Services: Application Development Ken Henderson Technical Lead, SQL Server Support Microsoft Corporation
What’s new in ASP.NET 4.0 ?. Agenda Changes to Core Services  Extensible Output Caching  Shrinking Session State  Performance Monitoring  Permanently.
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
Migrating ASP to ASP.NET Matt Gibbs ASP.NET Development Manager.
DEV414 Black-belt ASP.NET Tips And Tricks For Your ASP.NET Applications Rob Howard Program Manager Web Platform and Tools Team.
1 ASP.NET Internals
Internet Information Server 6.0 & new management features.
(re)-Architecting cloud applications on the windows Azure platform CLAEYS Kurt Technology Solution Professional Microsoft EMEA.
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
Building Complete Web Application Using ASP.NET 3.5 & Visual Studio 2008 Omar Khan Group Program Manager Visual Studio.
ASP.NET Architecture Mike Taulty Developer & Platform Group Microsoft Ltd
Building More Powerful ASP.NET Applications with IIS7 Michael Volodarsky COM303 Program Manager Microsoft Corporation.
ASP.NET 2.0 Mohammed Abdelhadi Developer.NET Evangelist Microsoft Corporation.
Arizona SharePoint Professionals Group.
Microsoft Confidential Risman Adnan ISV Lead, Microsoft Indonesia
Introducing SQL Server 2000 Reporting Services
Netscape Application Server
Introduction to ASP.NET 2.0
Using Application Domains Effectively
6/11/2018 8:14 AM THR2175 Building and deploying existing ASP.NET applications using VSTS and Docker on Windows Marcel de Vries CTO, Xpirit © Microsoft.
ASP.NET Web Forms and Web Services
Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek
Developing an app for SharePoint autohosted in Azure
ASP.NET Application Framework
TechEd /14/2018 6:55 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Excel Services Deployment and Administration
IIS.
Learn. Imagine. Build. .NET Conf
Windows Server 2003: Application Platform
ASP.NET Module Subtitle.
Data Driven ASP.NET Web Forms Applications Deep Dive
ASP.NET 4 Core Runtime for Web Developers
ASP.NET 4.0 State Management Improvements – Deep Dive
DAT381 Team Development with SQL Server 2005
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
IIS and .NET Security Application Pools Pamella Smith June 18, 2009.
DEV315 Best Practices for running IIS 6.0 and ASP.NET
9/16/2019 6:55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Presentation transcript:

Building Scalable and Reliable Web Applications Vineet Gupta Technology Evangelist Microsoft Corporation

Agenda IIS 6.0 and ASP.Net Architecture Reliability State Management Caching Other Cool Stuff

Agenda IIS 6.0 and ASP.Net Architecture Reliability State Management Caching Other Cool Stuff

DLLHost.EXE ISAPI Extensions DLLHost.EXE ISAPI Extensions Rearchitecting IIS A review of IIS5 TCP/IP kernel user WinSock 2.0 INETINFO.EXE Metabase ISAPI Filters and Extensions DLLHost.EXE ISAPI Extensions INETINFO.EXE Metabase ISAPI Filters and Extensions

web app IIS 6.0 Architecture Goal: Enable complete app isolation from other Web apps and core Web server Web service in INETINFO split out to do this: Http.sys: Kernel mode listener and request router WAS: Config and process manager W3wp.exe: Where Web apps are processed Multiple W3wp.exe files WAS W3wp.exe web app Http.sys Kernel W3wp.exe W3wp.exe Web App

Process Model Contrast IIS5 to IIS6 – Making it more robust HTTP.SYSHTTP.SYS TCP/IPConnections Requests User Mode Kernel Mode App2 Filters Worker Process App2 Filters App1 Filters WASWAS INETINFO metabase AppPool 1 AppPool 2

ASP.Net on IIS 6.NET Application Domains vs. Application Pools Application domains Lightweight CLR unit of isolation One app domain per IIS application Combine with W3wp.exe files to achieve high scalability and isolation ASP.NET manages app domains independently Recycled within a single process Can have private components, session variables, etc. Http.sys W3wp.exe ASP.NET WAS App pool W3wp.exe ASP.NET AppDomain AppDomain AppDomain AppDomain AppDomain AppDomain AppDomain AppDomain Application Pool W3wp.exe ASP.NET App pool

Demo Application Pools

Agenda IIS 6.0 and ASP.Net Architecture Reliability State Management Caching Other Cool Stuff

Application Pools Application Isolation in Processes Can create 1 or more application pools Each served by 1 or more processes. Each worker process serves only 1 pool. Reqs routed directly to pool by HTTP.sys Isolate apps based on: Site/CustomerFunctionalityReliability

Recycling What is it and Why use it? What is it? Periodically restart applications based on: Uptime # of requests Scheduled time Memory consumption On-demand Why use it? Refresh apps to ensure availability Prevent bad apps from taking over the system No interruption in Service!!

Recycling Overlapping Recycle kernel user WAS HTTP.SYS Old Worker Process ISAPI Exts & Filters Web Proc. Core DLL Ready for Recycle New Worker Process ISAPI Exts & Filters Web Proc. Core DLL Shut down Request startup ready Request

Demo Process Recycling

Agenda IIS 6.0 and ASP.Net Architecture Reliability State Management Caching Other Cool Stuff

Increasing.NET Scale & Performance Attributes of Scalable Web Applications Stateless Application code and components can be restarted cheaply; session state is managed externally in some sort of state store Low initialization costs Applications should avoid doing heavy processing at startup or assume that they will run for a long time

Increasing.NET Scale & Performance Attributes of Scalable Web Applications (2) Can have multiple instances All the components and classes of an application should be able to have multiple instances in separate processes without namespace or locking issues Expect administrator-imposed limits Your application is likely to have CPU limits Memory limits Processor affinity imposed

Making Applications More Reliable Web Farm Session State Session state can be stored in an external process ASPState Service Microsoft® SQL Server™ 2000 Big reliability wins Session state survives crashes/restarts Enables Web farm deployment Session state can now be shared across a Web farm of ASP.NET servers Applications no longer tied to one computer Design your apps to be recycled!

Demo Managing State

Agenda IIS 6.0 and ASP.Net Architecture Reliability State Management Caching Other Cool Stuff

Dynamic Kernel Caching RequestResponse WithoutCacheWithCacheRequestResponse

ASP.Net 2.0 Caching Improvements Data Caching Data-set based data-sources can be easily cached Just set EnableCaching to true on data- source control Also set CacheDuration, CacheExpirationPolicy SQL Cache Invalidation for Stale Data SQL 7, 2000 use a custom change table, a DB trigger and a polling mechanism by ASP.Net SQL 2005 uses Service Broker

ASP.Net 2.0 Caching Improvements Post-Cache Substituion Output Cache an entire page except XXX XXX must be a simple string Use Response.WriteSubstitution with callback Or Use Substitution Control with associated Callback method

Demo Caching

Agenda IIS 6.0 and ASP.Net Architecture Reliability State Management Caching Other Cool Stuff

Resource Optimization in IIS 6 Idle Timeout and Demand Start Idle timeout Timeout and shutdown idle processes if process is idle for given period of time. Frees resources for active applications. Apps still available even if worker process idles out and is shut down! Demand start Only start worker process if there is demand for the application pool. Application considerations Use idle timeout to free up resources for other heavy-use applications. Consider disabling idle timeout if starting an application takes a long time.

View State Improvements More efficient serialization format reduces state size Splitting View State into Control State and UI State

Site Compilation Pre-Compile your website Use aspnet_compiler.exe Endpoints reduced to empty files (aspx) No request-time compilation /bin contains compiled assemblies for entire site

Demo Cool Stuff Demo Cool Stuff

Agenda IIS 6.0 and ASP.Net Architecture Reliability State Management Caching Other Cool Stuff

Recommendations Move to IIS 6 and ASP.Net 2.0 Design Apps for Recycling Design Stateless Apps Or think out-of-proc state management Use Caching wherever you can!

Questions?

Your Feedback is Important! Please Fill Out the feedback form

© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.