37
Top Developer Technologies Windows Server 2008 R2 Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Embed Size (px)

Citation preview

Page 1: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Top Developer Technologies Windows Server 2008 R2

Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions

SESSION CODE: WSV329

Page 2: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Designed for PerformanceWindows Server 2008 R2

Page 3: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Got CPUs? Get R2…

Page 4: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Windows Organizes Many-Cores via GROUPNew with Windows 7 and R2

GROUPNUMA NODE

NUMA NODE

Socket Socket

Core Core

Core CoreLP LP

LP LP

NUMA = Non-Uniform Memory AccessLP = Logical Processor

Page 5: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Processor GroupsExample: 2 Groups, 4 Nodes, 8 Sockets, 32 Cores, 4 LPs/Core = 128 LPs

Group

NUMA NodeSocket

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

Socket

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

NUMA NodeSocket

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

Socket

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

Group

NUMA NodeSocket

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

Socket

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

NUMA NodeSocket

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

Socket

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

CoreLP LP

LP LP

Page 6: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Many-Core Topology APIs - Discovery

Page 7: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Cooperative Scheduling

Cooperative “User-Mode” SchedulingDesigned for Performance

UMS Enables High-Performance Multi-Threaded AppsX64 C++ Concurrency Runtime Scheduler built on UMS

Core 2

Thread3

Non-running threads

Core 1

Thread4

Thread5

Thread1

Thread2

Thread6

Core 2Core 1

UserThread

2

KernelThread

2

UserThread

1

KernelThread

1

UserThread

3

KernelThread

3

UserThread

4

KernelThread

4

UserThread

5

KernelThread

5

UserThread

6

KernelThread

6

Thread Scheduling

Kernel

Application

Page 8: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Designed for Performance

DEMO

Page 9: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Designed for EfficiencyWindows Server 2008 R2

Page 10: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Server Footprint Reduction

W2K3 WS08 SP1 WS08 R20

50

100

150

200

250Idle Reference Set

Enterprise FullEnterprise Core

MB

Page 11: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Server Core Architecture

Server Core Server Roles and Optional Features

Server CoreSecurity, TCP/IP, File Systems, RPC,plus other Core Server Sub-Systems

DNS DHCP FileAD

ServerWith .NetFx, Shell,

Tools, etc.

TS ADFS WDS Etc…

Server, Server Roles (for example only)

ADLDS

MediaServer

IIS

Hyper-VPrint

ASP.NET PS.NET3/3.5

.NET2.0

WoW64 GUI, Shell, IE, Media, Mail, Etc.

Cert Server

Page 12: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Timer Coalescing

Staying idle requires minimizing timer interruptsBefore, periodic timers had independent cycles even when period was the sameNew timer APIs permit timer coalescing

Application or driver specifies tolerable delayTimer system shifts timer firing to align periods on natural frequency

Timer tick15.6 ms

Periodic Timer Events

Windows 7

Vista

Page 13: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

“Trigger-Started” ServicesBefore, services typically started at system boot and ran until shutdownServices can now specify specific start and stop conditions (triggers):

Device class arrival and removalBthserv: start on bluetooth device class arrival

IP address arrival and removalLmhosts: start on first and stop on last IP address availability

Firewall port eventBrowser: open of NS and DGM ports

Domain join and unjoinW32Time: start on join, stop on un-join

Custom ETW eventAppid: start when SRP enabled

Triggers are stored in service registry keyUse “sc qtriggerinfo” to view service triggers

Page 14: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Designed for Efficiency

DEMO

Page 15: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Designed for ManagementWindows Server 2008 R2

Page 16: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Services

Windows Management Framework

Managed Components

UI Toolkits

Automation Environment

Management Protocols

Management UI

ServerManager

ISEConsole Custom

BITS Wsman WMI

PowerShell Engine

BITSRobust content distributionAsynchronous and scriptableOptimum network utilization

Wsman and WMIStandards basedRemotable and ubiquitousOS or bare hardware

Windows PowerShellIntuitive command shellPowerful scripting languageUniversal execution environment

Rich User InterfacesTask orientedUser customizable3rd party extensible

OS, Applications & Devices

Auto

mat

ion

Plat

form

Righ

t UX

Page 17: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Virtual AccountsWant better isolation than existing service accounts

Don’t want to manage passwordsVirtual accounts are like service accounts:

Process runs with virtual SID as principalCan ACL objects to that SID

System-managed passwordShow up as computer account when accessing network

Services can specify a virtual accountAccount name must be “NT SERVICE\<service>”

Service control manager verifies that service name matches account name Service control manager creates a user profile for the account

Also used by IIS app pool and SQL Server

Page 18: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Managed Service AccountsServices sometimes require network identity e.g. SQL, IISBefore, domain account was only option

Required administrator to manage password and Service Principal Names (SPN)Management could cause outage while clients updated to use new password

Windows Server 2008 R2 Active Directory introduces Managed Service Accounts (MSA)

New AD classPassword and SPN automatically managed by AD like computer accountsConfigured via PowerShell scriptsLimitation: can be assigned to one system only

Page 19: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Many-Core Topology APIs – Resource Localization

Page 20: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Designed for Management

DEMO

Page 21: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Designed for ExtensibilityWindows Server 2008 R2

Page 22: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Internet Information Services 7.0 Modular and Extensible Architecture

Server functionality is split into ~ 40 modules...

Modules extend server functionality through a public module API.

Send ResponseLog Compress

NTLM Basic

Determine Handler

CGI

Static File

ISAPI

Authentication

Anon

SendResponse

AuthenticationAuthorizationResolveCache

ExecuteHandler

UpdateCache

Page 23: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Internet Information ServicesIIS is built on an open and modular architecture

Can be extended and customized by free IIS Extensions

Powershell Snap-in Web Platform Installer

URL Rewrite Application WarmupModule

Page 24: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

File Classification Infrastructure (FCI)New File Server Feature

Extensible properties, policies, tasks, and actions Built-in Solutions for File Classification Integration with SharePoint

Apply Policy based on classification

Discover DataExtract

classification properties

Classify Data Store classification properties

Get classification properties API for external applications

Set classification properties API for external applications

File Classification Extensibility points

Page 25: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Boot from VHDScenarios

Boot from another OS w/o having to repartitionNeed for less virtual scenariosSometimes, virtualization is not an optionReuse existing library of VHD

Page 26: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Boot from VHD – Where to Start?Where to start?

Re-use an existing VHD (Hyper-V, Virtual PC)Sysprep if coming from different hardware

Create a new VHD from Windows 7 / 2008 R2 SetupCreate VHD from setup, mount and install using diskpart

Convert physical disk to VHDDisk2vhd by Mark Russinovich and Bryce Cogswell

Page 27: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

~35 GB Free

50 GB

Boot from VHD GotchasUSB Boot not supported Hybernate option not supportedSame rules regarding differencing Hyper-V VHDsDynamic VHDs will expand to their maximum size when booted from

25 GB

Page 28: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

F:\

Native VHD SupportIntegrated Volume Status

C:\

VHD

Windows

Page 29: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Designed for Extensibility

DEMO

Page 30: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

See R2 on MSDN

Channel9

http://Channel9.msdn.com/Learn/Courses

Page 31: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Track Resources

Microsoft.comhttp://www.microsoft.com/windowsserver2008/en/us/R2.aspx

MSDN Channel9http://channel9.msdn.com/tags/W2K8R2

MSDN Code Galleryhttp://code.msdn.microsoft.com/w2k8r2

MSDN Server Dev Centerhttp://msdn.microsoft.com/en-us/windowsserver

Page 32: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Related Content

WSV201, 10 Hot IT Admin TopicsWSV307, Windows Server 2008 R2 SP1WSV204, Using File Classification InfrastructureWSV06-INT, Lighting-up Nehalem EX with Windows Server 2008 R2WSV07-INT, New Remote Management Technologies in Windows Server 2008 R2WSV401, Advanced Automation Using Windows Powershell 2.0WSV317, Internet Information Services in the DataCenterWSV321, Managing Server Core without Breaking a SweatWSV327, The Road from Windows Server 2003 to Windows Server 2008 R2

Page 33: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

Page 34: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Complete an evaluation on CommNet and enter to win!

Page 35: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st

http://northamerica.msteched.com/registration

You can also register at the

North America 2011 kiosk located at registrationJoin us in Atlanta next year

Page 36: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 37: Phil Pennington, Sr. Developer Evangelist, Microsoft Christian Saborio, Chief Software Architect, Scorpiotek Solutions SESSION CODE: WSV329

JUNE 7-10, 2010 | NEW ORLEANS, LA