Was ist RUM und warum sollte ich es einsetzen?

RUM steht für Real User Monitoring oder auch Real User Measurement. Beides ist zutreffend, da es sowohl für eine Überwachung in Echtzeit als auch für eine nachgelagerte Analyse oder Reports steht. Gegenwärtig wird RUM in der Regel über ein JavaScript realisiert, welches in die zu messende Webseite/-anwendung integriert wird. Viele Dienstleister bieten mittlerweile auch native Lösungen für mobile Plattformen wie Android, iOS & Windows an. (Mehr Informationen zur Technik in diesem meinem Blogpost: RUM: Technischer Einsatz im Web)

 

RUM wird oft als Teil von Application Performance Monitoring (APM) gesehen, dessen Aufgabe die Überwachung einer Applikation in Hinsicht auf Ladegeschwindigkeit und Verfügbarkeit ist. Im täglichen Gebrauch spricht man bei APM von der Überwachung der eigenen Infrastruktur, also Datenbanken, Application-Server, Web-Server, Caches, Loadbalancer, Firewalls, etc. Beim RUM steht der End-User im Mittelpunkt und nicht die Applikation. So kann es geschehen, dass das APM zwar grünes Licht meldet – also alles läuft intern wie gewünscht, aber der Enduser erfährt trotzdem eine schlechte Performance oder kann die Applikation gar nicht verwenden (d.h. die Verfügbarkeit ist nicht gegeben). Es gibt also eine große Intransparenz zwischen dem Backend und dem Frontend und diese versucht u.a. RUM zu schließen. Eine komplementäre Möglichkeit wäre synthetisches Monitoring.

 

RUM erhebt die Daten direkt beim Enduser (Browser), z.B. durch die Integration eines JavaScript in eine Web-Applikation, welches beim Aufruf ausgeführt wird. Diese Art des Messens stellt Metriken bereit, die uns die direkte Enduser Erfahrung wiedergeben. Zum Beispiel erfährt man die Ladezeit der Seite in dem jeweiligen Enduser Profil. Das Enduser Profil ist dabei von großer Bedeutung, da jeder Enduser die Applikation mit anderen Eigenschaften anspricht. Diese Eigenschaften bestimmen zum großen Teil wie sich die Performance der Applikation für den einzelnen Enduser darstellt. Es gibt eine Vielzahl von Metriken, die in diesem Zusammenhang erhoben werden können. Eine Auswahl:
  • Performance Metriken: DNS Lookup, TCP Connect, SSL Connect, First Byte Time, Load Time
  • Userprofil: Device-Type, Connection-Type, Geolocation, Bandwidth
  • User Engagement: Session Time, Bounce-Rate, Session-Length, Conversion-Rate, Revenue, Orders

 

Vor allem die User-Engagement Metriken sind dabei sehr interessant, da es den direkten Zusammenhang zwischen Performance und Business Metrics darstellt. Es beantwortet also Fragen wie: „Bei welcher Ladezeit habe ich die größte Conversion Rate und/oder wird der größte Umsatz gemacht?“

 

Wichtig bei der Wahl eines RUM Tools ist, dass es die Daten in Echtzeit verfügbar stellt, also dass kein größeres Zeitfenster zwischen den Sammeln der Daten (Data Collection) und dem Visualisieren und Analysieren der Daten entsteht. Die Notwendigkeit lässt sich sehr gut an dem Beispiel einer Email-Kampagne zeigen:
Wird der Newsletter raus gesendet und tausendfach geklickt, kommt kurzfristig sehr hohe Last auf die gesamte Infrastruktur. Kommt es zu einer Überlast, kann sich dies negativ auf die Enduser Performance auswirken, d.h. es kann zu langen Ladezeiten kommen, z.B. der Landingpage. Ist die Toleranz-Grenze der Enduser überschritten, brechen sie die Interaktion ab, z.B. den Kauf eines Sonderangebots aus dem Newsletter. Eventuell macht sich der Enduser Luft direkt beim Anbieter oder sogar über die sozialen Medien und lässt seine Meinung bei Twitter, Facebook und co raus. Zudem kommt, dass die Investition in diese lang geplanten Kampagne stark gefährdet ist und einige zehntausend Euro und mehr in Gefahr sind. Viele Risiken, die man mit RUM besser kontrollieren kann.
Denn mit einem RUM  in Echtzeit kann ich die Enduser Erfahrung überwachen und entsprechende Maßnahmen treffen, wie z.B. eine statische Landingpage ausliefern, überlastete 3rd Party Inhalte abschalten oder die User in einen Waitingroom schicken. Ebenfalls wichtig wird der Echtzeit Aspekt, wenn es zu Zwischenfällen (Incidents) kommt. Über solche Incidents soll so schnell wie möglich informiert werden, um Schaden abzuwenden oder zu begrenzen. Daher müssen Alarme (Alerts) schnell getriggert werden können, am Besten direkte in entsprechende Prozesse und Systeme, wie z.B. BigPanda.

 

Auch in der Nachbetrachtung hat RUM viele Stärken. Durch RUM sammele ich sehr viele Daten über meine Nutzer und kann auf dieser „Big Data“ Menge interessante und wichtige Erkenntnisse gewinnen. Ist man an dem Punkt, an den man weiß, dass man zu langsam für seine Nutzer ist – man hat also den Status Quo erhoben – und möchte die Web-Application optimieren, stellt sich die Frage: Wo fange ich damit an? Die erfassten Business Metriken kann man mit den Performance Metriken korrelieren und bekommt so die Antwort. Ist mir z.B. die Conversion-Rate am Wichtigsten, finde ich heraus, welche Seite oder welche Komponente der Applikation den höchsten Einfluss auf die Conversion-Rate hat. Habe ich diese erkannt, analysiere ich diese Komponente und stelle fest, welches Objekt (oder welche Objekte) den größten Einfluss auf das Laden dieser Komponente hat und – voila – ich habe einen Punkt an dem beginnen kann und sollte.

Zusammenfassung:
RUM stellt den Enduser in den Vordergrund und ist daher sehr mächtig, denn wie der Enduser eine Webapp erfährt, ist das Erfolgskriterium das im Mittelpunkt stehen sollte. Es liefert eine Vielzahl von Informationen, die zum Einen Lücken in der bisherigen Transparenz des Monitorings fehlen. Und zum Anderen viele Informationen für meine Business Entscheidungen liefern können.
Der Einsatz von Agenten, wie z.B. beim synthetischen Monitoring, führt nur zu einer sehr eingeschränkten Datenmenge, auf der sich nur sehr schwer Hypothesen bestätigen lassen – Geschäftsentscheidungen kann man auf dieser Grundlage nicht treffen. Beim RUM sammele ich große Datenmengen, die direkt durch meine Endkunden generiert werden. Auf dieser kann ich Hypothesen bestätigen, z.B. durch statistische und mathematische Werkzeuge und Schlüsse in der eigenen digitalen Strategie ziehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.