Internet Information Services (IIS) 7.0

chunkyscreechServers

Dec 4, 2013 (3 years and 4 months ago)

64 views

Satisfy

Your

Technical

Curiosity

Internet Information Services (IIS) 7.0

End
-
to
-
End Overview of Microsoft's New Web Application Server

Bart De Smet

MVP, INETA

Info@bartdesmet.net

http://blogs.bartdesmet.net/bart


Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

Agenda

Where are we with IIS 6.0?

IIS 7.0 pillars dive deep for developers

Security

Extensibility

Configuration

Management

Diagnostics

Lots of demos

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 6.0 Pillars Revisited

Scale
-
up/scale
-
out

Kernel
-
mode caching

Integrated application platform

Scalability

XML
-
based configuration

Command line administration

Remote administration

System

Management

Fault tolerant architecture

Health monitoring

Intelligent queuing

Reliability

Secure by default

Secure by design

Secure in deployment

Security

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

Introducing IIS 7.0 Pillars

Distributed configuration with delegation

Rich extensibility

Integrated Configuration for Web Platform

Config

Innovative, Brand
-
new IIS Manager

AppCmd.exe: Command line administration

Http & Https Remote administration

System

Management

Brand new Win32 API

Integrated support for ASP.NET Modules

Extensibility

Customized, Componentized Web Server

Reduced management of Patches

URLScan

built
-
in Functionality

Security

Brand
-
new State API

Easy
-
to
-
setup & Use Failed Request Tracing

IIS & ASP.NET Integrated Diagnostics

Diagnostics

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 7.0
-

Security

SD³

Componentized web server

40 (!) setup components

Lower the attack surface

Reduction of patch management

URLScan functionality built
-
in

Security

Satisfy

Your

Technical

Curiosity

Componentization in action

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 7.0
-

Extensibility

New APIs

Win32 API

Used by core IIS 7.0 components (modular)

No rabbits in hats


Managed code API

Integrated pipeline with ASP.NET 2.0

Transfer your knowledge (
IHttp*

interfaces)

“ISAPI the easy way”

Extensibility

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

Once upon a time...

w3svc

cgi

static

file

ISAPI

extension

handlers

Pre
-
proc headers

auth’c req

url map

log

End net session

ISAPI Filter Notifications

aspnet_isapi.dll

IHttpModule Events

url map

begin req

auth’c req

auth’z req

resolve cache

handler map

handler exec

update req cache

rel req state

end req

IHttpHandlers

Trace.axd

PageHandler

w3wp.exe

custom errors

authentication

logging

compression

determine handler

Extensibility

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

Get together in IIS 7.0

begin

authenticate

authorize

resolve cache

map handler

acquire state

pre
-
execute handler

execute

handler

release state

update cache

log

end

forms auth

windows

auth

digest auth

basic auth

IHttpModule

*.aspx

trace.axd

IHttpHandler

ISAPI extension

static file

Native Module

Native Handler

native modules

managed modules

role mgr

url auth’z

was

Extensibility

Satisfy

Your

Technical

Curiosity

Your firs
t

IIS 7.0 module

Step 1


Implementing

core functionality

Implement
IHttpModule

Compile, deploy and test

Step 2


Extending & using configuration

Step 3


Satisfy the IT Pro

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 7.0
-

Configuration

The
death

of the metabase

Distributed XML
-
based configuration

Integrated IIS + ASP.NET config
(web.config)

Allows for delegation

Real xcopy deployment

Strongly typed schema
(ApplicationHost.config)

Feel free to
extend it!

(<configSchema>)

Configuration API

Config

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 7.0
-

Configuration

Application
1
Root

web.config

Application
2
Root

web.config

Website 2 Root

web.config

Website 1 Root

web.config

Global server configuration

ApplicationHost.config

Config

<handlers>


<add path="*.aspx"


modules="
aspnet
"


checkPathInfo
="false"


verb="GET,POST" />

</handlers>

<handlers>



<add path="*.asp"


modules="Asp"


checkPathInfo
="true"


verb="GET,HEAD,POST" />



<add path="*.stm"


modules="
ServerSideIncludeModule
"


checkPathInfo
="true"


verb="GET,POST" />



<add path="*.exe"


modules="
CGIModule
"


checkPathInfo
="true"


verb="GET,POST" />

</handlers>

Satisfy

Your

Technical

Curiosity

Your firs
t

IIS 7.0 module

Step

1


Implementing core functionality

Step 2


Extending & using configuration

Add schema
(%windir%
\
system32
\
inetsrv
\
config
\
schema)

Configure schema

(ApplicationHost.config)

Apply configuration

(appcmd.exe, web.config)

Step 3


Satisfy the IT Pro

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 7.0
-

Management

IIS Manager
(inetmgr.exe)

Fully extensible (managed code)

Remote administration over HTTP(S)

Satisfy your IT Pro friends

New WMI provider (extensible)

AppCmd.exe cmdline administration

Compatible with IIS 6.0 ADSI and WMI

Windows PowerShell

System

Management

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 7.0
-

Management

System

Management

Vista
-
style
breadcrumb

.NET
configuration

IIS
configuration

Add modules
here

Satisfy

Your

Technical

Curiosity

Your firs
t

IIS 7.0 module

Step

1


Implementing core functionality

Step 2


Extending & using configuration

Step 3


Satisfy the IT Pro

Extend the IIS Manager with a module

WMI support

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 7.0
-

Diagnostics

Real
-
time information

Queryable by IT Pros and Developers

Processes, App Pools & Doms, requests

Failed Request Tracing

Throughout the IIS 7.0 pipeline

Identify bottlenecks, stuck requests, etc

Custom errors

Detailed localized information

Diagnostics

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

IIS 7.0
-

Diagnostics

FREB

F
ailed

R
equest

E
vent

B
uffer

Extensible

Add traces

Control API

Diagnostics

Begin Request

Read Metadata

Authenticate

Authorize

Cached

ISAPI Filter

Determine Handler

Satisfy

Your

Technical

Curiosity

A quick guide to IIS 7.0 diagnostics

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

Summary

IIS 7.0 highlights

Security is a top priority

Extensibility to the max!

Improved management

Production debugging with diagnostics

Availability

IIS 7.0 in Windows Vista

IIS 7.0 in “Longhorn” Server Beta 3 Go Live

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity

Q & A

Have fun with Internet Information Service 7.0 on Vista and “Longhorn”!

Satisfy

Your

Technical

Curiosity

Satisfy

Your

Technical

Curiosity