randy pagels sr. developer technology specialist dx team (developer experience and evangelism)...

29
Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Upload: reynard-daniel

Post on 29-Dec-2015

225 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Randy PagelsSr. Developer Technology SpecialistDX Team (Developer Experience and Evangelism)

Application InsightsAvailability, Performance and Usage

Page 2: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Today we will coverUnderstanding Application Insights

Ensure your apps are available, performing & succeeding

Getting started with Application InsightsEasy onboarding with Visual Studio & Status Monitor

Solving problems with Application InsightsIdentify, triage & diagnose service failures & performance issues; Learn continuously

Bridge the gap between developers and operations

Monitoring tools for developers see CPU, network, memory, etc. Monitoring tools for Ops see performance and availability of custom production applications

Page 3: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Understanding Application Insights

Is my application Available, Performing, Succeeding

Page 4: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

“By 2017, 94.5% of downloads will be for free apps; Less than 0.01% of consumer mobile apps will be considered a financial success” -Gartner

Page 5: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Competition is fierceUser retention requires constant improvements to your apps and services

Constant evolutionWeb services & mobile apps need to evolve rapidly to survive & grow

Continuous delivery is hereMost major services like Microsoft, Facebook, and others push update as often as every day(top teams update to production 72 times per day)

Success requires data-drive decision makingMaking effective choices about your backlog requires deep understanding of your users behaviors and habits

Building successful apps is hard

Page 6: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Production

Development Collaboration

BACKLOG

REQUIREMENTS

Modern Application LifecyclePlan

Develop + Test

Monitor + Learn

Release

Page 7: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Production

Development Collaboration

BACKLOG

REQUIREMENTS

Existing impedimentsPlan

Develop + Test

Monitor + Learn

Quickly detect and triage application issues

Actionable and contextual info to resolve incidents

Prioritize and validate investments based on real data

MTTD

MTTR

Continuous learning

Release

Tools and processes

Collaboration

Page 8: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

1. Telemetry is collected at each tier: Mobile

applications, server applications and browser

2. Telemetry arrives to Application Insights service

where it is processed & stored

3. Get 360° view of the application covering

availability, performance & usage

ApplicationInsights

Application Insights

Page 9: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Telemetry for 360° view

platform

infrastructure

app

1

3

4

5

Outside-in monitoring

Developer-emitted traces and events

Observed application behavior

Infrastructure performance

URL pings and web tests from 8 global pointsof presence

Whatever the developer would like to sendto Application Insights

No coding required – service dependencies,queries, response time, exceptions, logs, etc.

System performance counters

2 Observed user behaviorHow is the application being used?

Page 10: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Demo

Application Insights portal tour

Page 11: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Getting Started with Application InsightsEasy onboarding with Visual Studio & Status Monitor

Page 12: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

From Visual Studio 2013 Update 3 (or later)

Right-click on your project & select ‘Add Application Insights Telemetry’Add JS snippet to monitor web pages (if existing app)Deploy app or run locallyInstall Status Monitor for dependencies & perf countersAdd Web Tests if needed for Availability Monitoring

An application that is already deployed

Install Status Monitor on the serverAdd Web Tests if needed for Availability Monitoring

Getting started for ASP.NET apps

2 Options

Visual Studio project (new or existing)

App already installed on server

Page 13: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Demo

Get started with Application Insights

Page 14: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

ASP.NET apps on Azure VMs & IIS serversHTML/JS websitesAzure websites

Supported Platforms

Windows & Windows Phone AppsiOS & Android apps.NET apps

Upcoming Support

Page 15: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Solving problems with Application Insights

Identify, triage & diagnose failures; Learn continuously

Page 16: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Identify & Triage issues: AvailabilityChallenges

• Visibility to application health?

• Visibility to application outages to minimize customer impact?

• Hard to get information to determine impact of issue?

Solutions• Reduce ‘Mean Time to Detect’

• Ensure service availability with 8 global points of presence

• URL ping tests and rich multi-step web tests

• Threshold based alerts on metrics and perf. counters

• Real time alerts via email

Page 17: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Diagnose & Solve problems: PerformanceChallenges

• Uncover root cause of production issues?

• Quickly resolve code problems detected in production?

Solutions• Reduce ‘Mean Time to Resolve’

• Identify issues with request rate & dependency response times

• Multi-dimensional analyses over custom & default metrics

• Drill through exceptions & failed requests with traces & runtime telemetry

Page 18: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Learn & Improve continuously: UsageChallenges

• Lack of information to prioritize future investments?

Solutions• Understand key adoption trends

• Prioritise investments & support specific client environments

• Custom event instrumentation & client page views

• Correlate usage with perf. telemetry for 360° view

Page 19: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Demo

Solve Problems & Learn Continuously

Page 20: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Implementing Common Scenarios with the SDK

Page 21: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Add Application Insights SDK

Page 22: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

SDK Best PracticesAPI Collected by Default? When to Use

Track Page View Yes with JavaScript SDK Want to differentiate with SPA

Track Request Yes with Server SDK

Track Event No Business/Feature usage logging

Track Trace No System logging, treat like your event log

Track Exception Yes but only at HTTP Module with Server SDK

Only exceptions you care about

Track Metric No Performance counters, business metrics

Page 23: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Real World Examples

Page 24: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

RoleGuidePowered by SMSG Readiness

Application Insights

Interesting Facts

• More than 95K Accounts & 220K Apps

• More than 11K apps actively using Application Insights

• More than 99% applications from outside Microsoft

• Key lifecycle piece of services like MS Game Studios, Visual Studio Online, MSDN, Office Apps, etc.

Page 25: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

“Titanfall delivers an unparalleled multiplayer gaming experience, powered using Azure”• Uses data centers all over• The game figures out where you are• Where the closest Azure data center is• Spins up a server just for you – constantly available set of

servers• AI & NPCs(non-player characters) powered by server• More than 100,000 virtual machines deployed on launch day

...so there is no host advantage in this multiplayer game

Launched on March 11, 2014

Application Insights

monitoring coming …

Page 26: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Working with Exported Data

Page 27: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

Used daily for tracking adoption, prioritizing investments and maintaining live site & data platformPipeline is instrumented to track overall business metrics and feature/usage workflowsUsed for Live Site to track availability & performance in real time and fix issues quickly Tremendously useful for providing the service successfully

How Application Insights uses itself?

Page 28: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

In conclusion…

PerformanceAvailability

Services + Apps

Page 29: Randy Pagels Sr. Developer Technology Specialist DX Team (Developer Experience and Evangelism) Application Insights Availability, Performance and Usage

The EndQuestions?

[email protected]