Die Herausforderung
Wie kann man 100 Millionen Suchanfragen täglich kosteneffizient bedienen, ohne Leistung einzubüßen?
Die Lösung
Durch Nutzung von Elasticsearch zur Verbesserung der Leistung bei Suchanfragen und Indexierung bei gleichzeitiger Senkung der Kapazitätsanforderungen.
Case Study Highlights
- 100 Millionen Suchanfragen täglich
- Tausende Anfragen pro Sekunde
- Latente Ergebnisse werden auf einer anwenderorientierten, umsatzstarken E-Commerce-Plattform präsentiert
- Nutzung von Elasticsearch-Schulungen und -Support für eine effiziente, nahtlose Einführung
- Erreichen einer 10x schnelleren Reaktionszeit
- Geringere Gesamtbetriebskosten durch bis zu 5-fache Reduzierung der Kapazitätsanforderungen
Lieferung von 100 Millionen Suchergebnissen täglich
AutoScout24 mit Sitz in Deutschland ist der größte Online-Automarkt Europas. Zusätzlich zu über 40.000 europäischen Händlern, welche die Website nutzen, bieten auch über 20 Millionen Einzelpersonen jährlich mehr als 2 Millionen neue und gebrauchte Fahrzeuge zum Verkauf an.
Die Webanwendungen von AutoScout24 erhalten über eine Milliarde Seitenaufrufe pro Monat von echten Browser- Anwendern und mehr als das Vierfache an Bot-Traffic. Täglich gehen bei der Site etwa 100 Millionen Suchanfragen ein.
„Unser primäres Geschäftsszenario ist das Erfüllen von Nachfrage durch Angebot“, erklärt Florentin Zorca, Lead Architect Search, AutoScout24. „Ein wesentlicher Bestandteil ist die Suche nach dem besten Angebot. Dort kann eine gute Suchfunktion viel ausmachen.“
„Vor Elasticsearch haben wir Endeca benutzt“, erinnert er sich. „Mit Lastspitzen von Tausenden Anfragen pro Sekunde sind Latenzen der größte Albtraum — und mit Endeca hatten wir Latenzprobleme bei den Anfragen. Diese Latenzprobleme zwangen uns, viele Tricks anzuwenden, wodurch das System immer komplexer wurde. Diese Latenzen waren der Hauptgrund für unseren Suchmaschinenwechsel zu Elasticsearch.“
Elasticsearch bedient nun die Kleinanzeigensuche von AutoScout24 — eines der wichtigsten Produkte des Unternehmens — und andere Funktionen wie die Autohändlersuche. Alle neuen AutoScout24-Produkte, die Suchfunktionen benötigen, nutzen Elasticsearch und die flexible Pipeline zur Indexerstellung des Unternehmens.
„Die gesamte Einführung war fast vollkommen vorfallsfrei und lief noch besser als erwartet.“
Nutzung von Elasticsearch-Schulungen und -Support
Durch die Anwendung der von Elasticsearch empfohlenen Einführungsmethodik– Schulung, Entwicklungs- und Produktions-Support — gelangen AutoScout24 ein besonders flüssiger Umstieg und hervorragende Performance.
„Die gesamte Einführung war fast vollkommen vorfallsfrei und lief noch besser als erwartet“, sagt Zorca. „Ich empfand die Schulung vor Ort von Elasticsearch als sehr hilfreich. So bekamen wir einen umfassenden überblick über die Möglichkeiten von Elasticsearch.
„Während der Elasticsearch-Migration haben wir oft erfolgreich den Entwicklungs-Support von Elasticsearch in Anspruch genommen“, fügt Zorca hinzu. „Wir nutzen den Produktions-Support immer noch für die laufende Plattform - hauptsächlich für neue Funktionen, da wir nur ganz selten einmal Probleme mit Elasticsearch haben. Die Erfahrungen, die AutoScout24 mit dem Elasticsearch-Support gemacht hat, sind großartig. Unsere Probleme wurden schnell von sehr hilfreichen Ansprechpartnern bei Elasticsearch gelöst, und die Reaktionszeiten waren kurz.“
Handling von 1 Million täglicher Updates und 10-facher Leistungszuwachs
„Die Latenzen der Anfragen-Reaktionszeit waren der Hauptgrund für unseren Wechsel zu Elasticsearch“, bestätigt Zorca. „Vor Elasticsearch hatten wir im Durchschnitt 200 Millisekunden pro Anfrage. Elasticsearch reagiert mindestens zehn mal schneller bei Anfragen, die hinsichtlich Daten und Funktion gleichwertig sind.“
Die Indexierungsgeschwindigkeit ist ein weiterer wichtiger Vorteil, den AutoScout24 durch Elasticsearch erlangt hat. AutoScout24 indexiert etwa 2,2 Millionen Dokumente für die Kleinanzeigensuche, welche einen der wesentlichen Anwendungsfälle für Elasticsearch ausmacht. Etwa eine Million Updates für die Kleinanzeigen werden täglich bei AutoScout24 bearbeitet, einige Kleinanzeigen werden sogar mehrmals täglich aktualisiert. AutoScout24 verzeichnet täglich Lastspitzen von 12.000 Aktualisierungen pro Minute in Elasticsearch.
„Alle Datenbank-Updates landen irgendwann in einem Elasticsearch-Index“, erklärt Zorca. „Wir erfassen die änderungen in der Datenbank und aktualisieren den Elasticsearch-Index alle zwei Minuten. Außerdem erstellen wir jedes Mal einen komplett neuen Index, wenn wir änderungen am Index für neue Produktfunktionen bei AutoScout24 einführen. Die Aktualisierung des Index läuft auf unserer Installation sehr glatt und Elasticsearch hält auch dem gewaltigen Volumen und der Häufigkeit unserer Updates stand.“
Reduzierung der Kapazitätsbedürfnisse und Kostensenkung
Im Vergleich zur vorigen Lösung, Endeca, hat AutoScout24 die Anzahl der zum Handling der Suchanfragen nötigen virtuellen Maschinen um ein Drittel, die Anzahl dedizierter CPU-Kerne um das Fünffache und den belegten Speicher um das Sechsfache reduziert. Mit der aktuellen Installation haben sie immer noch Kapazitäten für mehr als das Fünffache des aktuellen Lastspitzen-Traffic.
„Indem wir Elasticsearch als primäre Suchfunktion nutzen, haben wir die benötigte Leistung und genug Kapazitäten für starken Traffic-Zuwachs“, sagt Zorca. „Außerdem konnten wir dank Elasticsearch Kosten senken, die Architektur vereinfachen, die Markteinführungszeit verringern und sogar neue Such- und Analyseprodukte ermöglichen.
„Die harten Fakten zeigen gesenkte Kosten mit Elasticsearch dank gestrichener Lizenzkosten und reduzierter Nutzung von Computer-Ressourcen. Mit weit über unseren aktuellen Lastspitzen liegenden Kapazitäten müssen wir in nächster Zeit keine Kosten für zusätzliche Lösungen einplanen“, sagt Zorca.
„Die harten Fakten zeigen gesenkte Kosten mit Elasticsearch dank gestrichener Lizenzkosten und reduzierter Nutzung von Computer-Ressourcen. Mit weit über unseren aktuellen Lastspitzen liegenden Kapazitäten müssen wir in nächster Zeit keine Kosten für zusätzliche Lösungen einplanen.“
„Mit seinen niedrigen Suchlatenzen macht Elasticsearch die früheren komplexen Leistungsoptimierungen überflüssig und vereinfacht so weiter die gesamte Lösungsarchitektur.“
Straffung der Release-Pipeline
Für die Migration von Endeca zu Elasticsearch konzentrierte sich AutoScout24 auf die Automatisierung und Beschleunigung des Release-Vorgangs. Sie haben nun eine Release-Pipeline, mit der sie jederzeit und gegebenenfalls mehrmals täglich einen neuen Elasticsearch-Index einführen können.
„Wir haben alles für eine zuverlässige, plangesteuerte, automatisierte und flexible Release-Pipeline für Elasticsearch-Indizes getan“, so Zorca. „Wir profitieren mit jeder Änderungseinführung vom automatisierten Release und haben diese Pipeline bei verschiedenen Projekten erneut erfolgreich eingesetzt. Elasticsearch hilft mit einer einfachen Installation und einer ausgezeichneten REST-API, an die sich alle Entwickler schnell gewöhnen können.“
„Mit der einfachen Einrichtung, der schnellen Indexierung von Dokumenten und dem automatischen Clustermanagement vereinfacht Elasticsearch die Systemarchitektur des AutoScout24-Suchtrichters. Mit seinen niedrigen Suchlatenzen macht Elasticsearch die früheren komplexen Leistungsoptimierungen überflüssig und vereinfacht so weiter die gesamte Lösungsarchitektur.“
Zorca zufolge ist der größte Vorteil von Elasticsearch gegen- über anderen Suchmaschinen die Entwicklerfreundlichkeit. Alle Entwickler bei AutoScout24 können Elasticsearch schnell herunterladen, installieren und damit interagieren. „Die Möglichkeit, schnell einen Elasticsearch-Cluster einzurichten und Änderungen und neue Funktionen einzuführen, ermöglicht große Zeiteinsparungen“, so Zorca. „Außerdem haben wir mit Elasticsearch nun die Möglichkeit, neue Produkt auf Grundlage erweiterter Elasticsearch-Funktionen wie Freitext-Analyse, dem Percolator, Analytics und Bewertungsfunktionen zu erstellen.“