devops for azure

35
DevOps for Windows Azure Surviving Failure Michele Leroux Bustamante [email protected]

Upload: michele-bustamante

Post on 08-Sep-2014

588 views

Category:

Technology


3 download

DESCRIPTION

This session discusses how to set up web sites and cloud services to avoid failure with logging, monitoring, alerts and overall strategy.

TRANSCRIPT

Page 1: DevOps for Azure

DevOps for Windows Azure – Surviving FailureMichele Leroux [email protected]

Page 2: DevOps for Azure

2© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Michele Leroux BustamanteManaging Partner

Solliance (solliance.net) CEO and Cofounder

Snapboard (snapboard.com)

Microsoft Regional Director Microsoft MVP

Author, SpeakerPluralsight courses on the way!Blog: michelebusta.com

[email protected]

@michelebusta

Page 3: DevOps for Azure

If it’s not thereyou can’t see it

Page 4: DevOps for Azure

4© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Logs

IIS Logs HTTP Errors Redirects Internal Server Errors

Windows Event Logs (Cloud Service Only) Performance Counters

Memory, CPU, Disk Access, Requests Custom Counters (Cloud Service Only)

Trace Logs Trace.XXX()

Page 5: DevOps for Azure

5© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Setting up Web Site Logging

Page 6: DevOps for Azure

6© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Site Diagnostics

Page 7: DevOps for Azure

7© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Application Logs

Page 8: DevOps for Azure

Demo

Web Site Logs

Page 9: DevOps for Azure

11© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Setting up Cloud Service Logging

Programmatically During role initialization Enable diagnostics and storage transfer settings Enable windows logs Enable performance counters

WADcfg (preferred) Used to be XML raw Now VS has user experience

Page 10: DevOps for Azure

Demo

Cloud Service Logs

Page 11: DevOps for Azure

13© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Managing Logs

What if you have many sites and cloud services Aggregate into single table

You’ll need filters By application By type of log By deployment

Can create filters with management tool I.e., Cloud Storage Studio

Page 12: DevOps for Azure

Make loggingEASY

Page 13: DevOps for Azure

15© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Encapsulate Logging

Simplify logging for the developer Create a DiagnosticsHelper

Methods for Debug, Info, Warning, Exception tracing Methods for throwing exceptions throughout application A method for serious exceptions, send email on exception to

admin Be sure to swallow DiagnosticHelper exceptions

Logging should not introduce new issues, wrap that up! Can be shared

Web Sites Cloud Services

Page 14: DevOps for Azure

Demo

Encapsulating Logging

Page 15: DevOps for Azure

ETW is fastDO NOT be afraid to use it

Page 16: DevOps for Azure

18© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Event Tracing for Windows (ETW)

Part of the Windows operating system since Windows 2000 Tools have improved significantly since then

Tools for developers, for IT and for customers to work with Highly efficient tracing mechanism with decoupled architecture Enable or disable dynamically

No application restarts required Available to Azure Cloud Services and Web Sites

Trace.XXX()

Page 17: DevOps for Azure

19© DEVintersection. All rights reserved.

http://www.DEVintersection.com

ETW Tracing Components

ETW Consumer Application

TraceLogs

ApplicationEvent

Provider A

Event Provider

B

ETW Session

ETW Controller

Enable/ Disable

Associate Providers with Session

TraceEvents

TraceEvents

Events(Real-Time)

Events

Events(Persisted)

Page 18: DevOps for Azure

If you don’t lookyou won’t know it’s there

Page 19: DevOps for Azure

21© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Monitoring

Performance Counters Memory CPU Requests

Page 20: DevOps for Azure

Demo

Monitoring

Page 21: DevOps for Azure

23© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Page 22: DevOps for Azure

24© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Notably missing: RFC 418!!!!

Page 23: DevOps for Azure

Be nice if someonetold ME!

Page 24: DevOps for Azure

Demo

Alerts

Page 25: DevOps for Azure

27© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Page 26: DevOps for Azure

28© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Service Levels and Reports

Customers want proof of SLA compliance Your average up time measured monthly

Not including scheduled downtime Sometimes scheduled downtime is limited 99.95 availability is typical

Your average request time measured monthly Should exclude special services/page (i.e. data upload, large

reports) 2s per request average is usually desired, an SLA may state 5s

(whew)

Page 27: DevOps for Azure

29© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Analytics Products to Consider

Azure Portal (built in) Paraleap Stackify NewRelic Pingdom Right Scale JumpCloud

Page 28: DevOps for Azure

30© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Page 29: DevOps for Azure

31© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Page 30: DevOps for Azure

32© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Page 31: DevOps for Azure

33© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Page 32: DevOps for Azure

34© DEVintersection. All rights reserved.

http://www.DEVintersection.com

Page 33: DevOps for Azure

It all comes down toone thing…

Page 34: DevOps for Azure

CUSTOMERS

Page 35: DevOps for Azure

37© DEVintersection. All rights reserved.

http://www.DEVintersection.com

References

Conference resources: http://michelebusta.com

See my snapboards: Currently at the alpha site:

http://snapboardalpha.cloudapp.net/michelebusta Will move these to snapboard.com/michelebusta when we go

live on the main site (SOON watch my blog for announcement) Contact me:

[email protected] @michelebusta