Jeg har jobbet med Application Performance Management (APM) mer eller mindre siden 2003. Microsoft sin Application Insights har alltid vært noe vi konsulenter har fnyst litt av, men fy søren det er bra når du slenger Power BI på toppen!
OK, denne bloggposten blir lang og veldig fag-nerdete, så jobber du ikke med applikasjonsutvikling eller IT-drift, så blir dette kanskje ikke så interessant. Du er herved advart om ikke ingressen var advarsel nok… 🙂
Først noen ord om hva APM egentlig er. Kort fortalt handler det om å overvåke, måle og rapportere på hvordan applikasjonene oppfører seg og hva brukerne opplever av ytelse og tilgjengelighet, ikke som man tradisjonelt har gjort; overvåke hvordan serverne har det.
I tillegg har flere APM leverandører, spesielt AppDynamics, fokusert på å utnytte de store datamengdene APM verktøyene samler inn i en forretningssammenheng også. Du kan si at APM også handler om å transformere driftstekniske data til forretningsdata.
Du kan også lese min tidligere bloggpost om APM på Sterk Blanding.
Gartner Magic Quadrant
Hvert år lager Gartner en såkalt magisk kvadrant innenfor en hel haug med fagområder, blant annet for APM. Microsoft har aldri scoret spesielt bra på disse og det er først de siste årene at Microsoft i det hele tatt blitt inkludert.
Da jeg var konsulent i Sopra Steria jobbet jeg hovedsakelig med Dynatrace og AppDynamics som de siste fem årene har knivet om å ligge lengst opp i leder-hjørnet, samt av historiske årsaker Micro Focus som dessverre har sunket som en murstein i ferskvann…
Microsoft brydde vi oss aldri noe om. De var som sagt lenge ikke engang med i kvadranten, men i år har Microsoft klatret seg over streken for nisje-aktører og kommet over i utfordrere-hjørnet.
Microsoft Azure Monitor
Mye av grunnen til at Microsoft nå har funnet sin plass i kvadranten er at de ifjor begynte å slå sammen Application Insights og Azure Log Analytics. De er ikke helt ferdige med sammenslåingen, men det har gitt dem en god styrke innenfor APM.
Application Insights er en del av Microsoft sin Azure pakke og det finnes ingen onsite alternativ. I Azure portalen drukner Application Insights litt og som ett rendyrket APM verktøy fremstår det veldig lite brukervennlig og funksjonsfattig i forhold til produkter som Dynatrace og AppDynamics.
Men så kommer Log Analytics inn som en redning. Dette analyseverktøyet fra Microsoft er bygget på ett søkespråk som heter Kusto Query Language (KQL). Dette er ett meget potent søkespråk som også er ganske lett å lære seg. Jeg vil forresten varmt anbefale Pluralsight sitt gratis on-demand kurs som ett startpunkt for læring.
Med KQL kan du gjøre nesten hva du vil med data’ene Application Insights samler inn. Brukervennlig sammenlignet med Dynatrace og AppDynamics er det ikke, men har du tiden tilgjengelig så får du gjort omtrent hva du vil.
Monitoring becomes a part of my daily processes, rather than somewhere I go when something breaks to find out what went wrong.
Rahul Bagaria, Senior Product Manager – Azure Monitor
Microsoft Power BI
Nå begynner det å bli gøy. Med Azure Monitor har vi teknisk sett kontroll på ytelsen på våre skytjenester, vi kan drille ned og feilsøke, men hva med forretningen? Kan vi gjøre noe for dem også? Klart vi kan det og her kommer altså Power BI susende inn fra sidelinjen.
Microsoft har en helt annen posisjon innen Business Intelligence (BI) segmentet enn innenfor Application Performance Management, skal vi tro Gartner. Ifølge Gartner er Microsoft den soleklare lederen innenfor BI:
Med Azure Monitor og KQL kan jeg lage spørringer og grafer som er relevante for forretningen, men ingen utenom utviklere og veldig ivrige driftsfolk ønsker å navigere seg inn i Azure portalen, finne og kjøre KQL spørringer.
Heldigvis er det overraskende enkelt å konvertere en KQL spørring til M Query som du kan legge til som datakilde i Power BI Desktop:
Avhengig av hva du ønsker å visualisere vil du også fra tid til annen måtte lage DAX skript i Power BI. En god ressurs til eksempler på DAX skript er nettsiden DAX Patterns.
Når du så har laget deg noen kule grafer og andre visualiseringer med Power BI som du ønsker å tilgjengeligjøre for resten av organisasjonen er det flere måter å gjøre det på. Den kanskje smidigste måten er å lage «apper» i Power BI Service (web portalen). Power BI har en app store hvor du kan laste ned tredjeparts-apper og egne interne apper.
På skjermbildet over ser du en testversjon av en av appene jeg har laget i SuperOffice. En Power BI app er rett og slett en samling med dashoards og rapporter. Du kan bygge ett menysystem og velge hvem som skal få appen. Du kan publisere den til hele organisasjonen, da må brukerne selv finne den og legge den til, eller du kan publisere den til spesifikke brukere eller grupper. Da kan du velge om de skal få link til appen eller om du faktisk skal installere den for dem slik at de ser den neste gang de logger inn.
For å se slik apper, eller delte dashboards for den saks skyld, så må enten bedriften din ha ett Power BI Premium abonnement, eller brukerne må ha ett Power BI Pro abonnement. Dette inngår forresten i Office 365 E5 abonnementet. For å lage apper må du ha Power BI Pro abonnement selv om bedriften din skulle ha ett Premium abonnement.
I SuperOffice har vi også med stor suksess laget Power BI dashboards hvor vi kombinerer data fra Application Insights med for eksempel data fra Azure Cosmos DB og andre tredjeparts API’er.
Power BI på mobilen
Mobil-appen til Power BI plattformen har iløpet av 2019 gått fra nesten ubrukelig til å faktisk være veldig bra.
Dashboards er responsive så de blir automatisk tilpasset mobil skjermflate. Det gjør ikke rapporter, så ønsker du å bruke rapporter på mobil flate bør du tenke på det når du designer dem i Power BI Desktop.
Med Power BI på mobilen kan du også få push-varslinger og legge inn eller svare på kommentarer til dashboards.
Hvorfor ikke velge Azure Monitor/Power BI?
Jovisst, Azure Monitor er alt annet enn brukervennlig, ingenting er strømlinjeformet og du må skrive spørringer for nesten den minste lille ting, men det er også en styrke, du er ikke avhengig av at APM-leverandøren har tenkt på akkurat hvordan du ønsker å sette sammen dataene.
Sammen med Power BI så har Azure Monitoring blitt en seriøs utfordrer til de tre store spør du meg (Dynatrace, New Relic og AppDynamics). Spesielt hvis du driver rendyrket på Microsoft-teknologi, da ser jeg ikke helt business case’en for å bruke noe annet.
Jeg har tre store ankepunkter mot Azure Monitor / Power BI:
- Mangler baselineing, en av de aller nyttigste egenskapene til AppDynamics og Dynatrace.
- Data lagres kun i 90 dager. Joda, du kan kjøpe ekstra dager eller eksportere til en blob, men det er litt upraktisk og blir fort dyrt.
- Uoversiktlige kostnader. Det er mange lisenser som må på plass for å få helheten til å bli bra. Application Insights, Azure Storage, Azure Stream Analytics, Power BI Pro og Power BI Embedded har alle forskjellige lisensmodeller og du trenger alle skal du ha en komplett løsning.
Har du teknologi basert på for eksempel Node.js, Go Language, Java og lignende, eller bruker andre skytjenester enn Azure, jo da bør du absolutt se på en av de nevnte tre store, men har du alle tjenestene dine i Azure så bør du gi Azure Monitor og Power BI en sjanse.
En annen fordel med denne kombinasjonen er at du lærer masse om Power BI, hvilket kan gi muligheter til å jobbe med mer analyse på tvers av organisasjonen du jobber for. Hvis du synes Power BI er spennende og vil lære mer så er det en god ide å bli medlem av Power BI Usergroup Norge.
Bra!