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

Post on 29-Dec-2015

225 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Application InsightsAvailability, 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

Understanding Application Insights

Is my application Available, Performing, Succeeding

“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

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

Production

Development Collaboration

BACKLOG

REQUIREMENTS

Modern Application LifecyclePlan

Develop + Test

Monitor + Learn

Release

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

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

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?

Demo

Application Insights portal tour

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

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

Demo

Get started with Application Insights

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

Supported Platforms

Windows & Windows Phone AppsiOS & Android apps.NET apps

Upcoming Support

Solving problems with Application Insights

Identify, triage & diagnose failures; Learn continuously

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

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

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

Demo

Solve Problems & Learn Continuously

Implementing Common Scenarios with the SDK

Add Application Insights SDK

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

Real World Examples

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.

“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 …

Working with Exported Data

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?

In conclusion…

PerformanceAvailability

Services + Apps

The EndQuestions?

rpagels@Microsoft.com

top related