Date post: | 11-Jan-2016 |
Category: |
Documents |
Upload: | james-morton |
View: | 228 times |
Download: | 1 times |
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.