Profit.co skaliert Suche und Log-Verwaltung mit Elasticsearch für herausragende Nutzererlebnisse
Profit.co entwickelt eine OKR-Management-Software, mit der Führungskräfte ihren Fortschritt umsetzen und messen können. Die Plattform von Profit.co bietet Unternehmen von Startups bis Fortune 500 eine zentrale Ansicht zur Verwaltung von Geschäftszielen, Ressourcen und Performance, damit die Kunden des Unternehmens ihre Ziele erreichen können.
Wie konnte Profit.co die Produktivität seiner Kunden steigern und Features für mehr Engagement ausrollen? Das Unternehmen war auf der Suche nach einer skalierbaren Volltextsuchlösung. Darum hat sich Profit.co für Elasticsearch entschieden, die leistungsstarke Engine hinter den Produkten und Lösungen von Elastic. Profit.co konnte ein dramatisch verbessertes Sucherlebnis anbieten. Nach dem anfänglichen Erfolg mit der Suche hat das Team von Profit.co außerdem die zentralisierte Log-Verwaltung nach Elasticsearch verschoben.
Derzeit setzt Profit.co Elasticsearch ein, um überragende Sucherlebnisse zu erstellen, die Log-Verwaltung zu vereinfachen und die Performance fortlaufend zu optimieren, um die Anforderungen der Endnutzer zu erfüllen. Erfahren Sie mehr darüber, wie Elastic die Herausforderungen von Profit.co gelöst hat.
Elasticsearch ist ein fantastisches Produkt. Manche andere Teams in meinem Bereich arbeiten mit MongoDB oder ähnlichen Produkten. Aber der Aufbau der Elastic Platform – API-Unterstützung, Features und die unterstützten Integrationen – ist wirklich fantastisch.
Bastin Gerald, CEO Profit.co
Langsamer Fortschritt bei Postgres
Zu Anfang nutzte Profit.co eine Vielzahl verschiedener Lösungen. Kumar Devarakonda, Vice President und Head of Engineering bei Profit.co, berichtet: „Wir haben mit MySQL angefangen und später auf Postgres umgestellt, weil die Lösung mehr Features als MySQL hatte.“
Aber Postgres hatte Schwierigkeiten mit der Skalierbarkeit. Die Nutzer von Profit.co mussten über mehrere Felder hinweg suchen, Ergebnisse schneller erhalten und die Ergebnisse nach Relevanz sortieren. Profit.co brauchte eine Volltextsuchlösung, um diese Anforderungen zu erfüllen. Devarakonda erklärt: „Früher haben wir alle Tabellen, die wir abfragen wollten, in Postgres kombiniert. Beim Speichern von Objekten haben wir sämtliche Daten aus allen Feldern erfasst und dann in einer einzigen Spalte gespeichert. Aber diese Lösung war sehr langsam. Außerdem hat sie keine exakten Ergebnisse geliefert, etwa eine Relevanzbewertung.“
Bei ihrer Suche stellte das Team von Profit.co fest, dass die meisten Lösungen langsam waren und den Nutzern des Unternehmens nicht die nötige Genauigkeit lieferten. Bei der Suche nach Lösungen entdeckten sie Elasticsearch und vollzogen den Wechseln im Jahr 2014.
„Elastic war sehr hilfreich für die Skalierbarkeit de Anwendung“, erzählt Devarakonda. Die Umstellung zu Elastic war langsam. Er fährt fort: „Wir haben mit der Volltextsuche begonnen und eine Zeitlang Postgres und in Elasticsearch als dualen Speicher verwendet. Wir haben den Eintrag in Postgres abgelegt und die Daten gleichzeitig per Push nach Elasticsearch übertragen.“
Irgendwann fragte sich Devarakonda: „Warum brauchen wir eigentlich diesen dualen Speicher? Warum verwenden wir nicht direkt Elasticsearch?“ Als Profit.co begann, alles in Elasticsearch zu speichern, konnte das Unternehmen das Erlebnis nicht nur für die Endnutzer, sondern auch für interne Teams verbessern.
Mehr Geschwindigkeit
Geschwindigkeit war der Hauptgrund für den Wechsel. Aber Devarakonda berichtet: „Wir waren auf der Suche nach einer Lösung, die uns eine Relevanzbewertung liefern könnte.“ Er fährt fort: „Ohne Elastic hätten unsere Kunden weiterhin frustriert viel Ziel mit der Suche nach Informationen verbracht. Und sie hätten keine genauen Informationen gefunden.“
Die Geschwindigkeitsprobleme von Postgres hatten sämtliche Ressourcen im weiteren Verlauf beeinträchtigt. Die Nutzer mussten warten. Die Engineering-Teams hatten beim Implementieren von Änderungen ebenfalls mit Verzögerungen zu kämpfen. Aber mit Elastic nahm die Geschwindigkeit zu. Suchabfragen dauerten in der herkömmlichen Datenbank länger als zehn Sekunden. Mit Elastic lieferten komplexe Abfragen (Suchvorgänge über mehrere Felder) eine Antwort in weniger als 100 Millisekunden.
Mangel an Skalierbarkeit
Neben dem verbesserten Sucherlebnis konnte Profit.co mit Elastic auch besser skalieren. Devarakonda berichtet: „Mit Postgres hat uns die Anzahl der Verbindungen ständig Kopfschmerzen bereitet. Dank der horizontalen Skalierbarkeit von Elastic können sich je nach Verfügbarkeit der Infrastrukturressourcen beliebig viele Clients verbinden, und nicht nur eine vordefinierte Anzahl.“
Inzwischen betreibt Profit.co mehrere Cluster, ohne sich Gedanken darüber machen zu müssen, die Nutzer in Cluster zu unterteilen. Elastic bietet außerdem die notwendige Unterstützung für verschachtelte Felder. Profit.co kann beliebige Daten im Dokument speichern, sogar große Dokumente. Und die Teams von Devarakonda „müssen die Daten vor dem Speichern nicht analysieren“. Damit sparen die Teams wertvolle Zeit und können sich stattdessen auf wichtigere Aufgaben konzentrieren.
Warum Elastic?
Warum hat sich Profit.co für Elastic entschieden, abgesehen von Geschwindigkeit und Skalierbarkeit? Devarakonda brauchte bestimmte Funktionen, damit seine Teams Höchstleistungen erbringen konnten. „Abfragen über verschachtelte Felder sind ebenfalls einer der Gründe, aus denen wir Elastic ausgewählt haben. Die Unterstützung für Integrationen ist ein weiterer wichtiger Vorteil von Elastic.“
Für die Teammitglieder war die Umstellung unkompliziert. „Elastic ist für Entwickler mühelos zu erlernen. Das Onboarding war kinderleicht“, erklärt Devarakonda. Außerdem ist Elastic sicher genug, um die Erwartungen nicht nur zu erfüllen, sondern zu übertreffen. Mit Elastic erhält Devarakonda im Gegensatz zu herkömmlichem SQL strenge Code-Kontrollen. Er berichtet weiter: „Wir müssen keine benutzerdefinierten Abfragen schreiben. Alles ist als API verfügbar, was die Fehler beim Programmieren stark reduziert.“ Weniger Fehler bedeutet bessere Features und ein positiveres Nutzererlebnis.
Zentralisierte Logverwaltung
Nachdem Profit.co begonnen hatte, Elastic für die Suche einzusetzen, erkannte das Team die weiteren Vorteile der Lösung für das Unternehmen. Mit Elastic und Google Cloud konnten sie ihr Log-Monitoring stark vereinfachen. „Wir hatten bereits vor dem Umzug in die Google Cloud nach einem zentralisierten Logging-System gesucht.“ Devarakonda fährt fort: „Mit Elastic können wir mühelos ein automatisiertes Skript ausführen und sämtliche Log-Dateien finden, die wir zum Debuggen brauchen, usw.“
Bastin Gerald, CEO und Gründer von Profit.co, erkannte die umfassenden Vorteile ebenfalls. „Sämtliche ein- und ausgehenden Daten werden in dieser Datenbank in einem separaten Elastic-Cluster protokolliert und können dort überprüft werden.“ Mit Elastic können die Teams unter etwa zwei Millionen Anfragen pro Tag Datenverluste identifizieren und vermeiden und vieles mehr. Mit Elasticsearch konnten die Teams von Profit.co außerdem etwa 90 % ihrer Gesamtkosten einsparen. Die ingestierten Logs aus allen Anwendungsknoten und Microservices belegen nur etwa 5 GB an Speicherplatz pro Tag.
Gerald erklärt: „Zu Monitoring-Zwecken protokollieren wir sämtliche ein- und ausgehenden Anfragen in einem separaten Cluster. Wenn ein bestimmter Client Leistungsprobleme zeigt oder zu viele Daten überträgt, können wir die Anfragen gezielt analysieren.“ Mit diesem umfassenden Überblick über die Performance kann das Unternehmen auf Bedenken von Kunden eingehen, bevor daraus schwerwiegendere Probleme werden.
Zukunftsaussichten für Profit.co
Profit.co unterstützt derzeit etwa 500 Kunden. Wenn die Kundenbasis des Unternehmens wächst, begleitet Elastic dieses Wachstum.
Wir lieben Elastic. Immerhin setzen wir Elasticsearch schon seit acht Jahren ein. Im Hinblick auf unser Produkt, unsere Entwicklung und den Rollout ist Elastic für mich persönlich nicht mehr wegzudenken.
Bastin Gerald, CEO Profit.co
Erfahren Sie mehr darüber, wie Sie Elasticsearch innerhalb weniger Minuten in der Cloud Ihrer Wahl bereitstellen können. Sie können Elasticsearch kostenlos 14 Tage lang ausprobieren. Registrieren Sie sich noch heute.