1 / 34

COS324 Deploying , Troubleshooting, Managing and Monitoring Applications on Windows Azure

COS324 Deploying , Troubleshooting, Managing and Monitoring Applications on Windows Azure. Ryan Dunn Windows Azure Technical Evangelist Microsoft Corporation. What will we accomplish today?. Help you understand the Windows Azure deployment and management model.

shaw
Download Presentation

COS324 Deploying , Troubleshooting, Managing and Monitoring Applications on Windows Azure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COS324Deploying, Troubleshooting, Managing and Monitoring Applications on Windows Azure Ryan Dunn Windows Azure Technical Evangelist Microsoft Corporation

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

  3. Understanding Packaging and Config • Windows 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)) == *.cspkg • Windows Azure consumes just (*.cspkg + *.cscfg)

  4. Service Definition • Describes 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

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

  6. Fault and Upgrade Domains • Fault Domains • Represent groups of resources anticipated to fail together • i.e. Same rack, same server • Fabric spreads instances across fault domains • Default of 2 • Upgrade Domains • Represents groups of resources that will be upgraded together • Specified by upgradeDomainCount in ServiceDefinition • Default of 5 • Fabric splits Upgrade Domains across Fault Domains and Across Roles

  7. Fault and Upgrade Domains Visualized Fault Domain Fault Domain Rack Rack Web Role Web Role U/G Domain #2 U/G Domain #2 U/G Domain #1 U/G Domain #1 VM VM VM VM Worker Role Worker Role VM VM VM VM

  8. Deployment Environments • Two Environments to choose from • Nearly Identical… • <servicename>.cloudapp.net • <deploymentID>.cloudapp.net • VIP Swap between them

  9. Deploying Services • Delete/Create Deployment • Visual Studio does this. • VIP will change • Service Model Updates don’t matter • VIP Swap • Bring up another environment in Staging and swap • Only Input Endpoints (external ports) matter • In-Place Upgrade • Rolling upgrade across roles • Most restrictive on changes (no size, endpoints, roles, etc.) • Web Deploy*

  10. VIP Swap Deployment Web Role Worker Role VM VM VM VM Load Balancer: Prod Prod Deployment Stage Stage Web Role Worker Role VM VM VM VM

  11. In Place Upgrade Rack Rack Web Role Web Role Load Balancer: VM VM #2 #2 #1 #1 Prod VM VM Worker Role Worker Role VM VM VM VM

  12. Deployment Considerations • Sometimes you MUST delete a deployment • Try to minimize by specifying what you might need in advance • Deleting a deployment loses the VIP address • Might matter if you are whitelisting • Or… if you use A records • Use DNS as another layer of abstraction if you must delete • Use another hosted service, update DNS, wait…

  13. Further Considerations • Single Admin on Portal today • Co-Admins coming • Up to 5 Management API Certificates • Admins are admins at Subscription Level (not hosted service) • Production should be in separate subscription to avoid mistakes.

  14. Managing Services Your Service Management API Portal REST API

  15. Deployment and Management Tools • Visual Studio* • CSManage.exe • Windows Azure MMC • Windows Azure Service Management (WASM) cmdlets • 3rd Party tools (Cerebrata, others)

  16. Windows Azure Service Management Cmdlets • Set of PowerShell cmdlets • Wraps Management REST API and Diagnostics API • Enables building of sophisticated deployment scripts • Works with rest of .NET CLR

  17. Windows Azure MMC • MMC Snapin providing graphical view of services, diagnostics, and storage • Built on top of WASM Cmdlets • Plugin-based, extensible • Remotely configure diagnostics • Download and view diagnostics

  18. Deploying via Cmdlets demo

  19. Monitoring • Windows Azure Diagnostics • Windows Azure Monitoring MP for SCOM • Available as RC now! • Monitors Health, Scales, and more

  20. Windows Azure Diagnostics • You can monitor the following: • IIS Logs, Crash Dumps, FREB Logs • Arbitrary log files • Performance Counters • Event Logs • Debug/Trace statements • Infrastructure events

  21. How does it work (in a nutshell)? Role Instance • Role Instance Starts • Diagnostic Monitor Starts** • Monitor is configured • Imperatively at Start time • Remotely any time • Monitor buffers data locally • User can set a quota (FIFO) • User initiates transfer to storage • Scheduled or On Demand Role Local directory storage Diagnostic Monitor

  22. Remote Configuration Role Instance Role Poll Interval Local directory storage Diagnostic Monitor

  23. Diagnostics demo

  24. Storage Considerations • Standard costs apply for transactions, storage & bandwidth • Data Retention • Local buffers are aged out by the Diagnostic Monitor according to configurable quotas • You control data retention for data in table/blob storage • Dedicated or multiple storage accounts might be a good idea • Query Performance on Tabular Data • Partitioned by high-order bits of the tick count • Query by time is efficient • Filter by verbosity level at transfer time

  25. Diagnostics Considerations • Monitoring vs Debugging/Troubleshooting • Volume of Data • Reaction Time • $ Cost Monitoring 5 Performance Counters every 5 seconds for 100 instances costs > $260 US dollar per month

  26. Advanced Diagnostics Instance Instance Instance Instance Instance • Think about Scale Units • One instance monitors • Aggregate Data • Flag important events/Notify Monitor

  27. Troubleshooting • Intellitrace – DVR for debugging • Requires VS Ultimate, .NET 4 today • Remote Desktop (coming soon) • Custom Trace Listener

  28. Troubleshooting demo

  29. Summary • Windows Azure offers a number of ways to deploy code • Know which one to choose! • Windows Azure Diagnostics • Monitoring vs Troubleshooting – use the right tools.

  30. Related Sessions • Jim Nakashima – COS331 Building, Deploying, and Managing Windows Azure Applications • Wednesday, November 10  |  10:30 AM - 11:30 AM  |  Hall 7.1b London 2

  31. Resources • My contact info: • http://dunnry.com • @dunnry on Twitter • ryandunn@microsoft.com • Windows Azure Training Kit • www.bing.com?q=Windows+Azure+Training+Kit • code.msdn.com/azurecmdlets • code.msdn.com/windowsazuremmc • code.msdn.com/wazdmon

  32. Session Evaluations Tell us what you think, and you could win! All evaluations submitted are automatically entered into a daily prize draw*  Sign-in to the Schedule Builder at http://europe.msteched.com/topic/list/ * Details of prize draw rules can be obtained from the Information Desk.

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

More Related