Elastic{ON}: Erste Elasticsearch-User-Konferenz in San Francisco

Keine Kommentare

Elasticsearch in all seinen Facetten – das war das Thema der ersten Elastic{ON}, die Anfang März in San Francisco stattfand. Über 1.000 User waren vor Ort, und auch die codecentric als Elasticsearch-Partner war mit einem Stand vertreten!

The codecentric team at Elastic{ON}, together with Elastic CEO Steven Schuurman.

Das codecentric-Team auf der Elastic{ON}, zusammen mit Elastic CEO Steven Schuurman.

Eine Hauskonferenz eignet sich ja immer hervorragend für große Bekanntmachungen – auf der Elastic{ON} war das nicht anders: Das kalifornische Unternehmen will sich künftig klarer vom Open-Source-Projekt abgrenzen und benennt sich daher in Elastic um. Der ELK-Stack, also die Kombination von Elasticsearch, Kibana und Logstash, löse viel mehr als nur die Suche, heißt es in der Pressemitteilung, daher die Umbenennung. Der neue Webauftritt samt neuem Logo findet sich nun unter elastic.co.

Eine weitere Bekanntmachung auf der Konferenz war die Übernahme von Found, einem Elasticsearch SaaS-Provider. Ziel ist es, mittelfristig einen Elasticsearch-as-a-Service on premise anbieten zu können.

Das Programm

Da wir mit vier codecentricern angereist waren, konnten wir neben dem Standdienst natürlich auch diverse Sessions aus dem vollgepackten Programm besuchen. Hier sind unsere Highlights:

Elasticsearch 2.0

Mit Spannung erwartet wurde die Session zu den geplanten Features für Elasticsearch 2.0. Im Kern möchte Elastic mit diesem Release die Themen Stabilität und Benutzerfreundlichkeit noch stärker in den Vordergrund stellen:

  • Es soll weitaus mehr Prüfungen auf eine fehlerhafte Nutzung der API geben, verbunden mit besser lesbaren Fehlermeldungen.
  • Ein Elasticsearch-Cluster soll über mehr Intelligenz bzw. adaptives Verhalten in Bereichen verfügen, die aktuell noch über diverse Einstellungen selbst konfiguriert werden müssen.
  • Queries und Filter sollen vereinheitlicht werden, um den Tuningbedarf seitens der Entwickler auf dem Weg zu einer optimalen Suchperformance deutlich zu reduzieren.
  • Der Recovery-Prozess beim Neustart von Cluster-Knoten soll einfacher verständlich und schneller durchführbar werden.

Außerdem soll es Unterstützung für einige Hot Topics geben, die sich bei der produktiven Nutzung von Elasticsearch durch zahlreiche Kunden herauskristallisiert haben:

  • Als Ersatz für Groovy, das Elasticsearch aus Sicherheitsgründen nicht mehr als Sprache für dynamische Skripte einsetzt, soll eine eigene Skriptsprache umgesetzt werden. Dabei soll es sich um eine mächtigere Version von Lucene Expressions handeln, die sowohl die hohen Performance-Anforderungen erfüllt als auch hinreichend ausdruckstark für Benutzerbedürfnisse ist.
  • Ein sogenannter Reducer soll die Möglichkeit bieten, Aggregationen auf den Ergebnissen von Aggregationen auszuführen. Damit können viele Auswertungen einfach realisiert werden, die vorher nur sehr kompliziert oder gar nicht möglich waren, z.B. die Veränderung eines Durchschnittspreises bei Verkäufen.
  • Ein zu großer Cluster State (z.B. bei vielen Nodes, vielen Indexen, komplexen Mappings) kann zu Performance-Problemen führen, weil die gesamten Informationen dazu ständig im Cluster verteilt werden. In Zukunft soll hier nur noch ein Delta der Änderungen am Cluster State ausgetauscht werden, was die Netzwerklast in solchen Fällen erheblich reduzieren wird.
  • Obwohl der GitHub-Issue relativ ruhig ist, gab es bekräftigende Aussagen zu einer Changes API. Mit dieser kann man von neuen und geänderten Dokumenten innerhalb eines Indexes oder eines Typs erfahren.
  • Es soll eine Task Management API für lang andauernde Tasks geben.
  • Aufbauend auf den beiden genannten APIs soll es eine Reindex API geben, die serverseitige Unterstützung für Zero-Downtime-Migrationen anbietet. Damit reduziert Elasticsearch zumindest einen Teil der Komplexität, die derzeit auf Client-Seite anfällt wenn man solche Migrationen durchführen möchte.

Es bleibt abzuwarten, welche dieser Themen sich tatsächlich in Elasticsearch 2.0 wiederfinden werden. Da es noch keine klare Zeitplanung für das 2.0-Release gibt, ist davon auszugehen dass wir ohnehin noch einige Zeit ohne diese spannenden Features verbringen müssen.

Logstash 2.0

Eine weitere Session behandelte die geplanten Features für Logstash 2.0. Erwähnenswert ist hier vor allem die Erweiterung von Logstash um eigene Queueing-Features inklusive Persistenz. Hierdurch sollen vorgeschaltete Queues wie z.B. Redis überflüssig werden. Ein durchaus kontroverses Thema, denn Logstash erfindet gewissermaßen das Rad neu, nur um die gesamte Funktionalität in einem einzigen Produkt zu haben.

Resilience und Performance

Das Thema Resilience erfreut sich bei codecentric großer Beliebtheit und wird auch in Elasticsearch und Lucene groß geschrieben. Eine ganze Session widmete sich ausschließlich diesem Thema und stellte die in Elasticsearch bereits vorhandenen Mechanismen für Resilience sowie weitere geplante Verbesserungen vor.

In zwei Sessions ging es um große Elasticsearch-Cluster: Verizon und Netflix gaben einen Einblick in die Herausforderungen beim Aufbau ihrer Cluster und die dafür durchgeführten Performance-Optimierungen. Erfreulich aus unserer Sicht war dabei, dass sich die Erkenntnisse von Verizon und Netflix nicht nur untereinander, sondern auch mit unseren bisherigen Erfahrungen bei codecentric decken. Die meisten Performance-Empfehlungen für Elasticsearch hängen offenbar nicht sonderlich von der exakten Größe des Clusters ab, sondern gelten allgemein – was eine gute Sache ist. Netflix stellten in ihrer Session zudem ein eigenes Tool zum Cluster- und Index-Management vor, das ihnen die Arbeit beim Verwalten einer Vielzahl von Clustern erleichtert hat. Auch wenn man selbst keinen Bedarf an diesem konkreten Tool haben sollte, so führt es einem erneut vor Augen wie wichtig es ist, das Ökosystem eines Produkts wie Elasticsearch im Blick zu haben: Es könnte dort nützliche Tools geben, die einem viel eigene Arbeit abnehmen.

Mittlerweile sind die Folien und Videos der meisten Sessions auch online verfügbar.

Jenseits der Sessions

Bemerkenswert fanden wir, wie ausgesprochen gut die Stimmung auf der Elastic{ON} war. Die Besucher der Konferenz waren sehr neugierig und offen, so dass wir am Stand oftmals alle Hände voll zu tun hatten und den Andrang nur mit der kompletten Besatzung auffangen konnten.

Das codecentric-Team hat alle Hände voll zu tun.

Das codecentric-Team hat alle Hände voll zu tun.

Als Gäste aus Deutschland konnten wir es uns außerdem nicht nehmen lassen, unser eigenes hochwertiges Bier mit zur Konferenz zu bringen, das auch fleißig konsumiert wurde: das codecentric Code Beer.

Das einzigartige codecentric Code Beer.

Das einzigartige codecentric Code Beer.

Ein bei Konferenzen oft problematisches Thema ist die Abfertigung an bzw. die Überfüllung von “Hot Spots”. Was die Verpflegung angeht, hat die Elastic{ON} dies durch mehrere Verpflegungsstationen sehr gut gehandhabt, bei denen es nie lange Wartezeiten gab. Einzig die Verteilung der Besucher auf die Sessions war teilweise suboptimal: Es gab eine ganze Reihe überfüllter Vorträge in den vergleichsweise gering bestuhlten “ELK in the Wild”- und Developer-Tracks. Hieraus wird man sicherlich für die nächste Auflage der Konferenz die ein oder andere nützliche Erkenntnis ziehen.

Last but not least: Ein weiteres Highlight für uns als Elastic-Partner war eine “Privataudienz” mit dem Schöpfer von Elasticsearch, Shay Banon. In einem sehr entspannten und informativen Gespräch konnten wir ihn mit Fragen zu den verschiedensten (Elasticsearch-)Themen löchern und zu den weiteren Plänen von Elastic befragen.

Im Gespräch mit dem Elasticsearch-Erfinder.

Im Gespräch mit dem Elasticsearch-Erfinder.

Unser Fazit: Wir hatten viel Spaß in San Francisco und freuen uns auf die nächste Elastic{ON} im kommenden Jahr!

Patrick Peschlow

Dr. Patrick Peschlow ist Entwicklungsleiter bei der CenterDevice GmbH und verantwortlich für die Architektur sowie die technische Umsetzung der Anwendung. Es gibt Leute, die sagen, DevOps sei sein zweiter Vorname.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentieren

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