+ All Categories
Home > Documents > Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and...

Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and...

Date post: 22-Dec-2015
Category:
View: 218 times
Download: 1 times
Share this document with a friend
Popular Tags:
38
Transcript
Page 1: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.
Page 2: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Architecture Track Architecture Track Session 4Session 4

Designing MicrosoftDesigning Microsoft® ® .NET .NET Applications for Deployment and Applications for Deployment and ManageabilityManageability

Page 3: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

AudienceAudience

Application architects, senior Application architects, senior developers, and infrastructure developers, and infrastructure professionalsprofessionals

Responsible for designing, developing, Responsible for designing, developing, and/or managing enterprise systemsand/or managing enterprise systemsInterested in design-time decisions that Interested in design-time decisions that affect deployment and operational affect deployment and operational successsuccessInterested in Microsoft’s technical Interested in Microsoft’s technical position on designing for manageabilityposition on designing for manageabilityInterested in designing applications that Interested in designing applications that deploy easily and are manageable in the deploy easily and are manageable in the production environmentproduction environment

John deVadoss
it sounds rather trite to say - interest in more successfully responding to business challenges - do we really need this?
Page 4: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Realistic ExpectationsRealistic Expectations

There are many application design There are many application design considerations related to deployment and considerations related to deployment and operational integrity operational integrity

This session strives to address a small This session strives to address a small subset of key topicssubset of key topics

By no means is it comprehensive in its coverageBy no means is it comprehensive in its coverage

Technical resources are available for many Technical resources are available for many of the areas not covered todayof the areas not covered today

A detailed whitepaper accompanies this trackA detailed whitepaper accompanies this track

Event DVDEvent DVD

MSDN® .NET Architecture CenterMSDN® .NET Architecture Center

patterns and practices Web sitepatterns and practices Web site

Page 5: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Session ObjectivesSession Objectives

Explore techniques for designing Explore techniques for designing applications with features that enable applications with features that enable monitoring and operational monitoring and operational managementmanagement

Discuss deployment recommendations Discuss deployment recommendations for .NET-based applicationsfor .NET-based applications

Describe strategies for managing Describe strategies for managing updates to and administration of updates to and administration of production systemsproduction systems

Page 6: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Session AgendaSession Agenda

Instrumenting ApplicationsInstrumenting Applications

Microsoft Windows Server 2003 Health Microsoft Windows Server 2003 Health MonitoringMonitoring

Deploying .NET-based ApplicationsDeploying .NET-based Applications

Managing Updates and Security Managing Updates and Security PatchesPatches

Remote Systems and Application Remote Systems and Application AdministrationAdministration

Page 7: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Instrumenting ApplicationsInstrumenting Applications

Business RequirementsBusiness Requirements Technical ChallengesTechnical ChallengesProvide a complete “health Provide a complete “health picture” for applicationspicture” for applications

Monitor transactions from start Monitor transactions from start to finish (get the “end-to-end” to finish (get the “end-to-end” picture)picture)

Build reliable applicationsBuild reliable applications

What to logWhat to log

Where to logWhere to log Developers must know each Developers must know each

API (WMI, Event Log, Trace, etc.)API (WMI, Event Log, Trace, etc.)

Minimize performance impactMinimize performance impact

Page 8: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Enterprise Enterprise Instrumentation Instrumentation Framework (EIF)Framework (EIF)

Page 9: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

.NET Application

Instrumentation API

Event filtering

WMIEventtrace

Eventlog

Tracelog

Eventlog

WMIsubscriber

Con

fig

ura

tion

Event schema

Application object

Application object

Event source Event source

Trace reader

EIF ArchitectureEIF Architecture

Page 10: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Distributed applicationDistributed application

Application server Application server

Event source

Event source

Event filtering

WMIEventtrace

Eventlog

Tracelog

Eventlog

WMIsubscriber

Tracereader

Event source

Event source

Event filtering

WMIEventtrace

Eventlog

Tracelog

Eventog

WMIsubscribers

Tracereader

Management Server

EIF ArchitectureEIF Architecture

Management suite

Management eventrepository

SQLTrace eventrepository

Page 11: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

EIF In CommNetEIF In CommNet

Page 12: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Instrumenting Applications: Instrumenting Applications: RecommendationsRecommendations

Measure against reliability targetsMeasure against reliability targets

Decide which application-specific Decide which application-specific events and metrics to collectevents and metrics to collect

Manage by exceptionManage by exception

Handle errors consistentlyHandle errors consistently

Use EIFUse EIF

Page 13: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Session AgendaSession Agenda

Instrumenting ApplicationsInstrumenting Applications

Windows Server 2003 Health Windows Server 2003 Health MonitoringMonitoring

Deploying .NET-based ApplicationsDeploying .NET-based Applications

Managing Updates and Security Managing Updates and Security PatchesPatches

Remote Systems and Application Remote Systems and Application AdministrationAdministration

Page 14: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Health MonitoringHealth Monitoring

Application and server health definedApplication and server health definedMonitoring terminologyMonitoring terminology

TiersTiersLogical divisionsLogical divisionsCoarse-grain and fine-grain monitoringCoarse-grain and fine-grain monitoring

Monitoring methodologyMonitoring methodologyEstablish the monitoring aimEstablish the monitoring aimDetermine the physical and application Determine the physical and application architecturesarchitecturesIdentify relevant informationIdentify relevant informationCreate a baselineCreate a baselineArtificial stimulus and instrumentationArtificial stimulus and instrumentation

Page 15: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Health MonitoringHealth Monitoring

Monitoring issuesMonitoring issuesMonitoring vs. throughput tradeoffsMonitoring vs. throughput tradeoffs

Remote monitoringRemote monitoring

Monitoring load (10% rule)Monitoring load (10% rule)

Monitoring the common language runtimeMonitoring the common language runtime

Metrics and eventsMetrics and events

Pacing yourself—stage complexity into Pacing yourself—stage complexity into your monitoring implementationyour monitoring implementation

Page 16: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Windows Server 2003 Windows Server 2003 MonitoringMonitoring

Familiar tools: Performance MonitorFamiliar tools: Performance Monitor

Performance Monitor best practicesPerformance Monitor best practicesMonitoring interval: 10-15 minutesMonitoring interval: 10-15 minutes

Log retention and SQLLog retention and SQL

Keep monitoring overhead lowKeep monitoring overhead low

Analyze performance resultsAnalyze performance results

Establish a baselineEstablish a baseline

Define alertsDefine alerts

Page 17: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Management ApplicationsManagement Applications

Application Center 2000Application Center 2000Health Monitor 2.1Health Monitor 2.1

ActionsActionsNon-synchronized monitorsNon-synchronized monitorsSynchronized monitorsSynchronized monitors

Microsoft Operations Manager 2000Microsoft Operations Manager 2000ArchitectureArchitecture

AgentsAgentsConsolidator Agent ManagerConsolidator Agent ManagerData Access ServerData Access ServerMicrosoftMicrosoft®® SQL Server™ Database SQL Server™ Database

Management Pack modulesManagement Pack modules

Page 18: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

AgendaAgenda

Instrumenting ApplicationsInstrumenting Applications

Windows Server 2003 Health Windows Server 2003 Health MonitoringMonitoring

Deploying .NET-based ApplicationsDeploying .NET-based Applications

Managing Updates and Managing Updates and Security PatchesSecurity Patches

Remote Systems and Remote Systems and Application AdministrationApplication Administration

Page 19: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Deploying .NET-based Deploying .NET-based ApplicationsApplications

Packaging the applicationPackaging the application

Distributing the application Distributing the application to productionto production

Page 20: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Packaging ApplicationsPackaging ApplicationsChoosing a StrategyChoosing a Strategy

Determining how to package Windows Determining how to package Windows Forms applicationsForms applicationsDetermining how to package Determining how to package Web applicationsWeb applicationsPackaging multitiered applications in Packaging multitiered applications in multiple installersmultiple installersPackaging managed controls in CAB filesPackaging managed controls in CAB filesDetermining how to package Windows Determining how to package Windows service applicationsservice applicationsPackaging components in merge modules Packaging components in merge modules for other developersfor other developers

Page 21: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Distributing ApplicationsDistributing Applications

Distributing Windows installer files for Distributing Windows installer files for user-installed applicationsuser-installed applications

Using software distribution tools to Using software distribution tools to deploy administrator-installed deploy administrator-installed applicationsapplications

Choosing a strategy for distributing Choosing a strategy for distributing your build outputs directlyyour build outputs directly

Using Application Center to deploy Using Application Center to deploy between development, testing, staging, between development, testing, staging, and production environmentsand production environments

Page 22: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Deployment Challenge Deployment Challenge

App1.exApp1.exee

MyCtrl.dMyCtrl.dllll

App2.exApp2.exee

MyCtrl.dMyCtrl.dllll

DLL DLL HellHell

Page 23: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

MyCtrl.dlMyCtrl.dlll

MyCtrl.dlMyCtrl.dlll

MyCtrl.dllMyCtrl.dllMyCtrl.dllMyCtrl.dll

Deployment Challenge Deployment Challenge VersioningVersioning

App1.exApp1.exee

App2.exApp2.exee

Global Assembly Global Assembly CacheCache

Page 24: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Windows Forms: Windows Forms: No-Touch DeploymentNo-Touch Deployment

Store application files (exe, dll) on Store application files (exe, dll) on Web server Web server

Users connect to application through Users connect to application through Internet ExplorerInternet Explorer

Necessary files downloaded to client Necessary files downloaded to client

Each additional resource is automatically Each additional resource is automatically downloaded to clientdownloaded to client

Advantage:Advantage: richness of Win32 with richness of Win32 with manageability and maintainability of manageability and maintainability of a Web applicationa Web application

Page 25: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

No-Touch DeploymentNo-Touch Deployment

Page 26: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Session AgendaSession Agenda

Instrumenting ApplicationsInstrumenting Applications

Windows Server 2003 Windows Server 2003 Health MonitoringHealth Monitoring

Deploying .NET-based applicationsDeploying .NET-based applications

Managing Updates and Managing Updates and Security PatchesSecurity Patches

Remote Systems and Remote Systems and Application AdministrationApplication Administration

Page 27: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Managing Updates and Managing Updates and Security PatchesSecurity Patches

Policies and proceduresPolicies and proceduresSchedule updates every two weeks during a Schedule updates every two weeks during a planned maintenance windowplanned maintenance window

Determine what updates are valid for each serverDetermine what updates are valid for each server

Pilot deployment for service packs and other Pilot deployment for service packs and other sizeable updatessizeable updates

Schedule one thing at a time—when performing Schedule one thing at a time—when performing updates, do not perform other tasksupdates, do not perform other tasks

Windows updateWindows updatehttp://v4.windowsupdate.microsoft.com/http://v4.windowsupdate.microsoft.com/en/default.aspen/default.asp

Page 28: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Software Update ServicesSoftware Update Services

Replacement for Windows Update CorporateReplacement for Windows Update CorporateRecommended for organizations with Recommended for organizations with 50-500 nodes50-500 nodesSoftware Update Services (SUS) Software Update Services (SUS) componentscomponents

SUS (Server-side)SUS (Server-side)Certificate securityCertificate securitySelective content approvalSelective content approvalContent synchronizationContent synchronizationServer-to-server synchronizationServer-to-server synchronizationUpdate download flexibilityUpdate download flexibilityMulti-language supportMulti-language supportWeb-based administrationWeb-based administrationUpdate status loggingUpdate status logging

Page 29: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Software Update ServicesSoftware Update ServicesSUS components (continued)SUS components (continued)

Windows Automatic UpdatesWindows Automatic UpdatesJust-in-time validationJust-in-time validationBackground downloadsBackground downloadsChained installationChained installationManageabilityManageability

SUS limitationsSUS limitationsDoes not support MicrosoftDoes not support Microsoft® ® Windows NTWindows NT®® 4.0 4.0 updatesupdatesWill not run on a Domain Controller or SBSWill not run on a Domain Controller or SBSWill not deploy Service Packs or application-Will not deploy Service Packs or application-specific updatesspecific updates

Deployment considerationsDeployment considerations

http://www.microsoft.com/windows2000/windowsupdate/sushttp://www.microsoft.com/windows2000/windowsupdate/sus

Page 30: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Systems Management Server 2.0Systems Management Server 2.0

Recommended for organizations with Recommended for organizations with more than 500 PCsmore than 500 PCs

Software Update Services Feature PackSoftware Update Services Feature PackTo be released this yearTo be released this year

Feature pack componentsFeature pack componentsDistributed Software Updates WizardDistributed Software Updates Wizard

Security Update Inventory ToolSecurity Update Inventory Tool

Microsoft Office Inventory Tool for UpdatesMicrosoft Office Inventory Tool for Updates

Elevated-Rights Deployment Wrapper ToolElevated-Rights Deployment Wrapper Tool

Web Reporting ToolWeb Reporting Tool

Page 31: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Update Management ToolsUpdate Management Tools

SUS vs. System Management Server SUS vs. System Management Server (SMS)(SMS)

Organization SizeOrganization SizeSUS: 50-500 PCsSUS: 50-500 PCsSMS: 500+ PCsSMS: 500+ PCs

SMS Provides Enhanced FunctionalitySMS Provides Enhanced FunctionalityMicrosoft Office Update supportMicrosoft Office Update supportGranular client targetingGranular client targetingSite-to-site distributionSite-to-site distributionAdvanced scheduling and reportingAdvanced scheduling and reporting

Microsoft Baseline Security AnalyzerMicrosoft Baseline Security Analyzerhttp://www.microsoft.com/securityhttp://www.microsoft.com/security

Page 32: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

AgendaAgenda

Instrumenting ApplicationsInstrumenting Applications

Windows Server 2003 Windows Server 2003 Health MonitoringHealth Monitoring

Deploying .NET-based ApplicationsDeploying .NET-based Applications

Managing Updates and Managing Updates and Security PatchesSecurity Patches

Remote Systems and Remote Systems and Application AdministrationApplication Administration

Page 33: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Remote AdministrationRemote Administration

Remote Desktop for administrationRemote Desktop for administrationTerminal Services revampedTerminal Services revamped

Common clientsCommon clientsMicrosoftMicrosoft Windows XP Remote Desktop Windows XP Remote Desktop ConnectionConnection

Management Console Center (MMC) snap-insManagement Console Center (MMC) snap-ins

Remote AssistanceRemote Assistance

Web interface for Remote Web interface for Remote AdministrationAdministration

Windows Server 2003 Web server onlyWindows Server 2003 Web server only

Page 34: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Remote AdministrationRemote Administration

Windows Server 2003Windows Server 2003 Administration Tools Administration Tools (adminpak.msi)(adminpak.msi)

Windows Server 2003Windows Server 2003

www.microsoft.com/downloadswww.microsoft.com/downloads

Best practicesBest practicesMany tasks on single server—Remote Desktop Many tasks on single server—Remote Desktop for Administrationfor Administration

Similar tasks on many servers—MMC Snap-insSimilar tasks on many servers—MMC Snap-ins

Managing Windows Server 2003 operating Managing Windows Server 2003 operating systems—Windows .NET Administration Tools systems—Windows .NET Administration Tools PackPack

Page 35: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Remote AdministrationRemote Administration

Remote Administration securityRemote Administration securityLimit authorized usersLimit authorized users

Utilize Remote Desktop Users groupUtilize Remote Desktop Users group

Secure Internet-based connectivitySecure Internet-based connectivity

Use .NET Remote Desktop ConnectionUse .NET Remote Desktop Connection\\servername\Tsclient\Win32\Setup.exe\\servername\Tsclient\Win32\Setup.exe

http://www.microsoft.com/http://www.microsoft.com/windowsxp/pro/downloads/rdclientdl.aspwindowsxp/pro/downloads/rdclientdl.asp

Enforce strong passwordsEnforce strong passwords

Keep virus protection up-to-dateKeep virus protection up-to-date

Keep Service Packs and hotfixes currentKeep Service Packs and hotfixes current

Page 36: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Session SummarySession Summary

Use EIF for instrumenting Use EIF for instrumenting .NET applications.NET applications

Use no-touch deployment for Web Use no-touch deployment for Web server-like deployment of Windows server-like deployment of Windows Forms applicationsForms applications

Systems and application monitoring: Systems and application monitoring: start out simplestart out simple

Take advantage of SUSTake advantage of SUS

Page 37: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

Important Web ResourcesImportant Web Resources

Microsoft patterns and practicesMicrosoft patterns and practiceshttp://msdn.microsoft.com/practiceshttp://msdn.microsoft.com/practices

MSDN .NET Architecture CenterMSDN .NET Architecture Centerhttp://msdn.microsoft.com/architecturehttp://msdn.microsoft.com/architecture

Visual Studio .NET 2003Visual Studio .NET 2003http://msdn.microsoft.com/vstudiohttp://msdn.microsoft.com/vstudio

Windows Server 2003Windows Server 2003http://www.microsoft.com/windowshttp://www.microsoft.com/windows

Page 38: Architecture Track Session 4 Designing Microsoft ®.NET Applications for Deployment and Manageability.

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

Microsoft, Visual Studio, the Visual Studio logo, Windows, the Windows logo, SQL Server, MSDN, Active Directory, FrontPage, and IntelliMirror are either registered Microsoft, Visual Studio, the Visual Studio logo, Windows, the Windows logo, SQL Server, MSDN, Active Directory, FrontPage, and IntelliMirror are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the

trademarks of their respective owners.trademarks of their respective owners.


Recommended