Warum DENIC sich für Elasticsearch entschieden hat
Zuverlässige Features, einfache Handhabung und ein vernünftiger Preis haben letztendlich den Ausschlag gegeben.
Seit einigen Monaten hat DENIC eine eigene Cloud. Wie bei jeder IT-Infrastruktur gehörte auch bei dieser Neuentwicklung das Thema Logging von Anfang an dazu. Zur Debatte standen für uns Elasticsearch oder das bereits bekannte Splunk Enterprise.
Die Anforderungen
Es sollten Logs von allen Komponenten der Plattform (Hardwaremaschinen, Netzwerkkomponenten, virtuellen Maschinen (VMs), Containern, etc.) zentral gesammelt und durchsuchbar gemacht werden. Unsere Lösung sollte sich außerdem möglichst gut in die neue containerbasierte Umgebung einfügen und leicht wartbar sein.
Erste Entscheidung
Wir unterwarfen die beiden in Frage kommenden Produkte einem Proof of Concept (COP) und entschieden uns auf der Grundlage der Ergebnisse zunächst für den Einsatz von Elasticsearch und dem dazugehörigen Webinterface Kibana. Elasticsearch war damals bereits ein in der Community weit verbreitetes Tool, konnte dank des Cloud-nativen Ansatzes direkt in Form von Containern in die neuen Kubernetes-Cluster integriert werden und war als Open-Source-Software zudem eine kostengünstige Option zum Einsatz auf der DENIC-Cloud-Plattform.
Zweiter Check
Mit zunehmendem Reifegrad der Plattform nahmen wir uns dem Thema Logging noch einmal an. Der Vorgänger der Infrastrukturplattform bei DENIC hatte für den Betrieb der Applikationen ausschließlich auf virtuelle Maschinen gesetzt. Das Logging wurde mit Splunk, einem langjährigen Marktführer auf diesem Gebiet, durchgeführt. Wir stellten uns nun die Frage, welche der beiden Lösungen für die DENIC-Cloud die beste Wahl war. Sollten wir bei Elasticsearch bleiben oder doch zurückwechseln zum altbewährten Splunk?
Splunk und Elasticsearch im Vergleich
Grundsätzlich bieten sowohl Elasticsearch als auch Splunk viele gleichwertige Features an. Für Splunk sprach die gute und intuitive Suchfunktion, die auch mit unstrukturierten Daten, wie Logeinträgen aus verschiedensten Systemen, effizient umgehen kann. Ein weiterer Pluspunkt war die einfache Migration von bestehenden Dashboards und Reports auf die neue Plattform. Andererseits war Elasticsearch bereits gut in die neue Plattform integriert und das Team hatte gute Erfahrungen mit Betrieb und Pflege gemacht. Auch bei Elasticsearch/Kibana funktioniert die Suche zuverlässig, profitiert allerdings davon, wenn man die Logdaten in eine strukturierte Form bringt. Dies war jedoch ohnehin Bestandteil der Migration. Anders als bei Splunk, mussten Mitarbeiter, die das neue Logging-System nutzen wollten, natürlich entsprechend geschult werden.
In einem POC haben wir dann beide Lösungen auch in Bezug auf Deployment, Konfigurierbarkeit und allgemeine Wartbarkeit miteinander verglichen. Schnell fiel auf, dass Splunk deutlich höhere Ressourcenanforderungen mit sich bringt als Elasticsearch. Außerdem waren bei Splunk offenbar diverse Prinzipien und Mechanismen über die vergangenen Jahre beibehalten worden, die aus heutiger Sicht einem Betrieb unter Cloud-Paradigmen widersprechen.
Da die neue Plattform auch weiterhin den Betrieb von virtuellen Maschinen umfasst, war es wünschenswert die Logging-Agenten beider Produkte über ein offizielles Repository einbinden zu können. Während für Elasticsearch hier die erforderliche Anwendungen in den aktuellsten Versionen verfügbar waren, suchte man entsprechende automatisiert installierbare Softwarepakete bei Splunk leider vergebens. Auch die Integration von Splunk in den System- und Sitzungsmanager systemd fehlte beinahe vollständig, was Installation und Betrieb zusätzlich verkomplizierte.
Die Entscheidung
Auch wenn wir die intuitive Suchfunktion von Splunk schätzen und die einfache Migration von Datenbeständen von einer älteren auf eine neuere Version ein Plus war, haben wir Splunk schließlich fallen gelassen. All diese Pluspunkte standen in keinem Verhältnis zu den operativen Nachteilen, sodass wir uns letztendlich für Elasticsearch mit seinem Webinterface Kibana entschieden haben, das Tool, mit dem wir gestartet waren.
Untermauert wurde unsere Entscheidung durch die Tatsache, dass neben den höheren Betriebskosten auch das Lizenzmodell von Splunk die schlechtere Lösung bot. Wir hätten unsere Lizenzen massiv erweitern müssen, was deutlich höhere Kosten nach sich gezogen hätte. Unsere bestehende Elasticsearch-Lizenz hat bei geringeren Kosten auch noch Kapazität für das weitere Wachstum der Plattform. Die Entscheidung war also auch aus finanzieller Sicht klar: Wir werden bei Elasticsearch/Kibana bleiben.
Die Umsetzung
Nun mussten wir nur noch das ursprünglich als POC gestartete Logging-System endgültig in den produktiven Betrieb überführen. Mit nur wenigen Anpassungen konnten wir Elasticsearch so konfigurieren, dass auch unter Höchstlastsituationen alle Logs zuverlässig gesammelt, aufbereitet und durchsucht werden konnten.
Fazit: Mit Elasticsearch/Kibana hat DENIC jetzt ein zukunftsfähiges, schlankes und gut wartbares Logging-System.