Elastic Machine Learning hilft GoDaddy, das Nutzungserlebnis zu verbessern
Dieser Blogpost ist eine Zusammenfassung eines Community Talks bei der Elastic{ON} 2018. Sind Sie an ähnlichen Talks wie diesem interessiert? Sehen Sie sich im Konferenzarchiv um oder informieren Sie sich über anstehende Elastic{ON} Tour-Termine in Ihrer Nähe.
GoDaddy ist ein Anbieter von Web-Hosting- und Domain-Management-Diensten, der regelmäßigen Super Bowl-Zuschauern bekannt sein dürfte. Aber mit mehr als 17 Millionen Kunden, 75 Millionen Domains und 10 Millionen gehosteten Websites ist das Unternehmen auch im Bereich Big Data sehr gut aufgestellt. Wer für einen problemlosen Betrieb von Websites zuständig ist, braucht Erkenntnisse zu jeder einzelnen Komponente der eigenen Infrastruktur, vom Patch-Level der virtuellen Server über eventuelle Netzwerkprobleme bis hin zu Hackerangriffen. Bei mehr als 200.000 Meldungen (DNS-Abfragen, Systemlogeinträgen, Ereignismeldungen und so weiter) pro Sekunde ist das kein einfaches Unterfangen, aber der Elastic Stack ist dieser Aufgabe aufgrund seiner Verarbeitungsgeschwindigkeit auch bei großen Datenvolumen problemlos gewachsen.
Die Geschichte von Elasticsearch und GoDaddy fing ähnlich an wie bei vielen Unternehmen, bei denen Open-Source-Software im Einsatz ist: Die verschiedenen Teams im Unternehmen setzen jedes seinen eigenen Cluster auf, um die speziellen Bedürfnisse dieses einen Teams zu befriedigen. Das funktioniert fürs einzelne Team, aber dieses unverwaltete Deployment-Modell führt im Endergebnis zu Hunderten von Clustern mit den unterschiedlichsten Versionen von Elasticsearch, die Daten in Silos analysieren. Wohl wissend, dass es auch anders geht, bildete GoDaddy 2014 ein Team, das für die Verwaltung des Elasticsearch-Deployments zuständig ist. Dieses Team kümmert sich heute um mehr als 60 Elasticsearch-Cluster mit über 700 Docker-Containern und Feeds von Teams aus dem gesamten Unternehmen. Diese Cluster beherbergen mehr als 270 TB Daten aus der (11 PB)-HDFS-Umgebung von GoDaddy.
Zu den ersten Anwendungsfällen, die das neue Elasticsearch-Team in Angriff nahm, gehörte die Verwaltung der Patch-Compliance im gesamten Ökosystem. Ohne die Möglichkeit, auf Beats zurückzugreifen (wir sprechen von 2014), entwickelte GoDaddy Windows- und Linux-Agents (ähnlich Auditbeat und Winlogbeat), über die Systemdaten an Elasticsearch gesendet werden konnten. Dank dieser Agents, die GoDaddy auf allen seinen Servern installiert hatte (physisch und virtuell), konnte GoDaddy wertvolle Erkenntnisse zu den Patching-Leveln und zur Compliance in der gesamten Infrastruktur gewinnen. Und die Nutzung unterschiedlicher Dashboards und Visualisierungen in Kibana ermöglichte es, den Administratoren und Technikern detaillierte Patch-Informationen sowie der Geschäftsleitung Berichte mit zusammengefassten Übersichtsdaten bereitzustellen – alles auf der Basis derselben zentralisierten Daten, sodass jeder Beteiligte ständig auf dem neuesten Stand ist.
Die Pflege der Server-Patch-Level ist eine wichtige Voraussetzung dafür, dass der Website-Traffic flüssig fließt, und damit dafür, dass die Nutzer am Ball gehalten werden. Wenn eine Website nur langsam lädt, sehen sich die Besucher anderswo um. Im Sinne der Aufrechterhaltung eines positiven Nutzungserlebnisses für seine Millionen von Kunden brauchte GoDaddy eine Möglichkeit, die Performance der Rechenzentren und deren Auswirkungen auf die Website-Besucher nachzuverfolgen. Die benötigten Daten waren bereits vorhanden, da die Systemkomponenten alle Ereignisse in Logs protokollierten, aber es fehlte eine Möglichkeit, diese Daten ganzheitlich zu betrachten.
Zentralisiertes Logging mit Machine Learning für die Anomalieerkennung
GoDaddy suchte nach einem Weg, die verschiedenen Arten von Performance- und Engagement-Daten zentralisieren und analysieren zu können, und der Elastic Stack war die Lösung. Durch das Senden von Netflow-Daten, sFlow-Daten, RUM-Daten (Real User Management) sowie Peering-Beziehungs- und Routing-Daten an Elasticsearch konnte ein wesentlich detaillierteres Bild der Nutzungserlebnis- und System-Performance-Daten gewonnen werden. Dieser Grad an Detailliertheit lässt sich nur erreichen, wenn man all die verschiedenen Datenquellen auf einmal analysiert. Seither ist GoDaddy einen Schritt weiter gegangen und setzt jetzt zur Analyse auch Elastic-Machine-Learning-Funktionen ein.
Während ein zentralisierter Zugriff auf haufenweise Systemdaten zweifelsohne eine schöne Sache ist, kann sich das Aufspüren von Problemen schnell als Problem erweisen. GoDaddy verfolgt zwar jeden Klick und jede Website-Interaktion, aber bei Millionen von Seiten, verteilt über die ganze Welt, ist es schlicht unmöglich, alle Daten von menschlichen Teams durchsehen zu lassen. Hier kommen die Machine-Learning-Funktionen von Elastic ins Spiel – mit ihnen wird die Anomalieerkennung fast schon zum Kinderspiel. Zusammen mit den Machine-Learning-Experten von Elastic gelang es GoDaddy, RUM-fokussierte Machine-Learning-Jobs zu implementieren, die die Anomalieerkennung vereinfacht haben.
„Wer seinen Gesamtaufwand verringern möchte, sollte sich das Elastic-Team ins Boot holen. Die Experten dort sind außerordentlich hilfreich. Wir haben sehr partnerschaftlich zusammengearbeitet, oft miteinander geredet und die komplett offenen Kommunikationswege im Zusammenhang mit allen Updates genossen. Es wird nicht alles glattlaufen, aber das Team steht bereit zu helfen. Und das kann es richtig gut.“ – Felix Gorodishter, Principal Architect, GoDaddy
Das GoDaddy-Team hat einen Grenzwert für Seitenladezeiten sowie Parameter für den Seiten-Traffic festgelegt und überlässt nun den Elastic-Machine-Learning-Funktionen zu lernen, was normal und was als Anomalie zu betrachten und daher als Problem zu melden ist. Machine Learning übernimmt das Aussortieren und GoDaddy kann sich auf das konzentrieren, was wichtig ist.
Wenn Sie mehr darüber erfahren möchten, wie GoDaddy die Machine-Learning-Funktionen von Elastic nutzt, um die Performance gehosteter Websites zu überwachen, sehen Sie sich die Präsentation Stories from the Trenches at GoDaddy: How Big Data Insights Equal Big Money an, die auf der Elastic{ON} 2018 gehalten wurde. Darin erfahren Sie auch etwas über die interessanten Methoden, mit denen GoDaddy Machine Learning für das Monitoring von Geschäfts-KPIs rund um Produktübernahmen verwendet und welche Erfahrungen dabei gemacht wurden.