worker role fault domainfault domain worker role fault domainfault domain u/g domain #1u/g domain...

Post on 11-Jan-2016

232 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Managing, Debugging, and Monitoring Windows Azure ApplicationsNameTitleMicrosoft Corporation

What will we accomplish today?Help you understand the Windows Azure deployment and management model.Discover how to monitor your services and any caveats that might apply.Discuss how to troubleshoot your services in the cloud

Understanding Packaging and ConfigWindows Azure Services are described by two important artifacts:

Service Definition (*.csdef)Service Configuration (*.cscfg)

Your code is zipped and packaged with definition (*.cspkg)

Encrypted(Zipped(Code + *.csdef)) == *.cspkgWindows Azure consumes just (*.cspkg + *.cscfg)

Service DefinitionDescribes the shape of your Windows Azure Service

Defines Roles, Ports, Certificates, Configuration Settings, Startup Tasks, IIS Configuration, and more…

Can only be changed by upgrades or new deployments

Service ConfigurationSupplies Runtime Values (Scale, Config Settings, Certificates to use, VHD, etc.)Can be updated any time through Portal or API

Fault and Upgrade DomainsFault Domains

Represent groups of resources anticipated to fail togetheri.e. Same rack, same server

Fabric spreads instances across fault domainsDefault of 2

Upgrade DomainsRepresents groups of resources that will be upgraded togetherSpecified by upgradeDomainCount in ServiceDefinitionDefault of 5

Fabric splits Upgrade Domains across Fault Domains and Across Roles

Fault and Upgrade Domains Visualized

Rack

Web Role

VM

VM

Worker RoleVM

VM

Fault Domain

Rack

Web Role

VM

VM

Worker RoleVM

VM

Fault Domain

U/G Domain #1

U/G Domain #2

U/G Domain #1

U/G Domain #2

Deployment EnvironmentsTwo Environments to choose fromNearly Identical…

<servicename>.cloudapp.net<deploymentID>.cloudapp.net

VIP Swap between them

Deploying ServicesDelete/Create Deployment

Visual Studio does this.VIP will changeService Model Updates don’t matter

VIP SwapBring up another environment in Staging and swapOnly Input Endpoints (external ports) matter

In-Place UpgradeRolling upgrade across rolesMost restrictive on changes (no size, endpoints, roles, etc.)

Web Deploy*

VIP Swap Deployment

Web Role

VM

Worker Role

Load Balancer:

Prod

Stage

VM

VM

VM

Prod

StageDeployment

Web Role

VM

Worker Role

VM

VM

VM

In Place Upgrade

Load Balancer:

Prod

Rack

Web Role

VM

VM

Worker RoleVM

VM

Rack

Web Role

VM

VM

Worker RoleVM

VM

#1

#2

#1

#2

Deployment ConsiderationsSometimes you MUST delete a deployment

Try to minimize by specifying what you might need in advance

Deleting a deployment loses the VIP addressMight matter if you are whitelistingOr… if you use A records

Use DNS as another layer of abstraction if you must delete

Use another hosted service, update DNS, wait…

Further ConsiderationsCo-Admin CapabilityUp to 5 Management API CertificatesAdmins are admins at Subscription Level (not hosted service)Production should be in separate subscription to avoid mistakes.

Managing Services

Management API

REST API

Portal

Your Service

Deployment and Management ToolsVisual Studio*CSManage.exeWindows Azure MMCWindows Azure Service Management (WASM) cmdlets3rd Party tools

Windows Azure Service Management Cmdlets

Set of PowerShell cmdletsWraps Management REST API and Diagnostics APIEnables building of sophisticated deployment scriptsWorks with rest of .NET CLR

Windows Azure MMCMMC Snapin providing graphical view of services, diagnostics, and storageBuilt on top of WASM CmdletsPlugin-based, extensibleRemotely configure diagnosticsDownload and view diagnostics

Deploying via CmdletsNameTitleGroup

demo

MonitoringWindows Azure DiagnosticsWindows Azure Monitoring MP for SCOM

Available as RC now!Monitors Health, Scales, and more

Windows Azure DiagnosticsYou can monitor the following:

IIS Logs, Crash Dumps, FREB LogsArbitrary log filesPerformance CountersEvent LogsDebug/Trace statementsInfrastructure events

How does it work (in a nutshell)?

Role Instance StartsDiagnostic Monitor Starts**Monitor is configured

Imperatively at Start timeRemotely any time

Monitor buffers data locallyUser can set a quota (FIFO)

User initiates transfer to storageScheduled or On Demand

Role

Role Instance

Diagnostic Monitor

Local directory storage

Remote Configuration

Role

Role Instance

Diagnostic Monitor

Local directory storage

Poll Interval

DiagnosticsNameTitleGroup

demo

Storage ConsiderationsStandard costs apply for transactions, storage & bandwidthData Retention

Local buffers are aged out by the Diagnostic Monitor according to configurable quotasYou control data retention for data in table/blob storageDedicated or multiple storage accounts might be a good idea

Query Performance on Tabular DataPartitioned by high-order bits of the tick countQuery by time is efficientFilter by verbosity level at transfer time

Diagnostics ConsiderationsMonitoring vs Debugging/TroubleshootingVolume of DataReaction Time$ Cost

Monitoring 5 Performance Counters every 5 seconds for 100 instances costs > $260 US dollar per month

Advanced DiagnosticsThink about Scale Units

One instance monitorsAggregate DataFlag important events/Notify

InstanceInstanceInstanceInstanceInstance

Monitor

TroubleshootingIntellitrace – DVR for debugging

Requires VS Ultimate, .NET 4 todayRemote DesktopCustom Trace Listener

TroubleshootingNameTitleGroup

demo

SummaryWindows Azure offers a number of ways to deploy code

Know which one to choose!Windows Azure DiagnosticsMonitoring vs Troubleshooting – use the right tools.

© 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.

top related