Logo Application Insights

Application Insights gir innsikt i applikasjonens ytelse Del 1

DevOps har blitt noe alle snakker om, selv er jeg stor fan og har ved flere anledninger holdt ulike foredrag. Vanligvis bagatelliserer jeg verktøystøtten litt, fordi alle har en tavle, en wiki, en team-chat og mye mer. Det finnes en skog av produkter og de fleste er bra, derfor trenger de færreste å bytte produkter for å «begynne» med DevOps.

Samspillet mellom drift og utvikling

DevOps handler om samspillet mellom drift og utvikling, med forståelse for hverandres disipliner. I mine øyne er da applikasjonen sin ytelse i produksjon det aller viktigste å forstå. For alt bunner ned til hvordan applikasjonen oppfører seg for sluttbrukere, andre systemer, og overvåkere. Det finnes mange Application Performance Monitor produkter på markedet, men få utviklere har tilgang. Microsoft slapp i høst sitt produkt, Application Insights, ut av preview og lanserte det over hele verden. Application Insights er en SaaS som driftes av Microsoft og som gir mer enn det vi er vant til. Den har full støtte for rettighetsstyring, så alle interessenter kan få tilgang til det de trenger. Application Insights forteller nøyaktig hvordan applikasjonen oppfører seg i de ulike miljøene. Dette gjøres ved hjelp av telemetrimålinger på alt fra JavaScript og http-kall til kodekjøring. Da Application Insights kjører som en SaaS påvirker det ikke eksisterende driftsmiljø og Microsoft tar en skremmende lav pris for produktet. For rundt 200kr mnd får du inntill 200 MiB daglig med telemetri, en syntetisk bruker og alle funksjonaliteter i produktet. Nøyaktige priser kan leses på https://azure.microsoft.com/en-us/pricing/details/application-insights/.

Applikasjonen som sender telemetri blir ikke påvirket nevneverdig, det benyttes en egen prosess som samler opp telemetrimålinger og sender dem satsvis til Microsoft. Dette gjør at det knapt er målbart om Application Insights benyttes eller ikke.

Application Insights er et Application Performance Management (APM) verktøy, men dette er bare toppen av funksjonsoversikten. I tillegg til å gi utfyllende informasjon om ulike ytelser gir det utallige muligheter for overvåkning. For web applikasjoner kan brukere simuleres, dette gjør det mulig å overvåke applikasjonen kontinuerlig, og ikke bare når det er faktiske brukere online. Kontinuerlig overvåkning kan være aktuelt på områder av en nettside som har få brukere.

For oss .NET-utviklere

Det er en liten drøm å få opplysninger om hvordan koden vår gjør det i produksjonsmiljøet. Så alt for ofte blir drift av applikasjoner noe en driftsleverandør gjør i lukkede fora. For å sikre stabil drift, god utnyttelse av ressurser og retting av feil hurtig, er det nødvendig å følge med på applikasjonen i driftsmiljøet. Application Insights gir utviklere tilbakemelding direkte i Visual Studio. Bildet under viser feilraten for en applikasjon de siste tre dagene. Det er ikke bare antall feil på en tidsakse, det brukes maskinlæring for å se avvik i feilraten. Under illustreres dette med røde prikker.

Application Insights trender i visual studio

Fra trend til hendelse

Det er mulig å velge en enkelt feil fra trendoversikten og komme til et nytt skjermbilde hvor alle telemetrimålinger knyttet til feilen vises. Dette er veldig nyttig og du får URL, hvilken kode som er kjørt med avhengigheter og mye mer.  Det er også mulig å sortere på alt en bruker har gjort, både innenfor en sesjon eller flere sesjoner. All metadata vi kjenner fra Google Analytics er inkludert i brukerprofilen, så vi kan enkelt gjenskape feilen i et testmiljø. Det er mulig å velge en enkelt feil fra trendoversikten og komme til et nytt skjermbilde hvor alle telemetrimålinger knyttet til feilen vises. Dette er veldig nyttig og du får URL, hvilken kode som er kjørt med avhengigheter og mye mer. Det er også mulig å sortere på alt en bruker har gjort, både innenfor en sesjon eller flere sesjoner. På selve feilen er det mulig å trykke på en lenke som åpner kodelinjen som feilet direkte i Visual Studio. Dette betyr slutten på å lete etter kode og en mye mer effektiv forvaltning.

Bildet under viser informasjon om en feil, og startsiden for videre ned drilling

Application Insights drilldown

 

Application Insights hjelper også til med proaktivt vedlikehold. Hver uke mottar interessenter en epost med opplysning om trender. Dette gir applikasjonen en helt ny synlighet i den enkelte bedrift og legger større press på oss som applikasjonsforvaltere. Vi tør vise frem hvordan vår kode presterer og håper flere og flere ser nytten av det. Under er et eksempel på eposten vi mottar fra Microsoft.

Application Insights Epost

I neste del beskriver jeg hvordan vi gjør dypere analyser på telemetri dataene. I siste del blir overvåkning beskrevet.

Har du behov for IT konsulenter i dine utviklingsprosjekter?

Vi hjelper deg gjerne

 

About

.NET utvikler med 8 års erfaring i Visual Studio. De siste tre årene som sertifisert Azure utvikler.
Connect with Bjarne: