Alexander Reelsen

Backend developer, productivity fan, likes distributed systems & the new serverless era

Presentations

2021

Modern CLI Tools

Many of the CLI tools that we use daily are already a couple of decades old - and seem not to be modernized too much - or do they? Is there a cat variant with syntax highlighting? Or a find implementation that takes .gitignore into account? Is grep really the best tool to search in files? This talk shows a couple of interesting alternatives to existing CLI tools. Held at the Chemnitzer Linuxtage.

Two steps forward, one step backward - BWC in Elasticsearch

Developers hate it, users need it: Backward compatibility. Adding new features is great, but not gaining adoption of those, because your users are still stuck on the 2011 release that is riddled with bugs, will neither help your product, your users or your developers or support folks. Making sure that upgrades are smooth and backward compatible will help your users to stay up to date. This talk outlines the general Elasticsearch strategy when it comes to backward compability. After deprecating a feature in one major version, the user needs to be made ware of this before it can be removed or replaced. We will take a look at the code required for these steps and how the user gets some help, so he does not stumble unprepared into a deprecation. We will also dive a little bit deeper into the migration from one date parsing and processing library core java time and talk about the caveats and the process that had been done to support this. Held at the Frankfurter Entwicklertage.

Seccomp for developers - making your apps more secure

Application developers tend to focus on features first with security being an afterthought to those features. Instead of rolling your own security, this talk will show how to integrate seccomp into your own applications, to increase security without sacrificing usability. The code samples including a vagrant VM to get up and running are available at github. Held at the sec4dev conference and the Chemnitzer Linuxtage.

2020

You may have heard, that you ‘just’ need to add a search bar to your application and people will use that input field the moment it is added. Well, not so fast! Coming up with a google like search experience is not an easy task! Finding the right balance between ease-of-use, relevancy for your users, relevancy for your platform, usability, precision, recall, scoring, keeping the quality and the ability for your users to make sense of those search results will quick evolve into a ongoing task. In this talk we will built a small search application backed by Elasticsearch, which could be solved by a single query. But is this really enough? No, to improve the search experience we will improve our queries step by step to make sure our users are happy and delve deeper into full text search features while doing so. There is also a GitHub repo with a sample Svelte application. Held at Devoxx Ukraine and the Elastic South African Meetup.

Two steps forward, one step backward - BWC in Elasticsearch

Developers hate it, users need it: Backward compatibility. Adding new features is great, but not gaining adoption of those, because your users are still stuck on the 2011 release that is riddled with bugs, will neither help your product, your users or your developers or support folks. Making sure that upgrades are smooth and backward compatible will help your users to stay up to date. This talk outlines the general Elasticsearch strategy when it comes to backward compability. After deprecating a feature in one major version, the user needs to be made ware of this before it can be removed or replaced. We will take a look at the code required for these steps and how the user gets some help, so he does not stumble unprepared into a deprecation. We will also dive a little bit deeper into the migration from one date parsing and processing library core java time and talk about the caveats and the process that had been done to support this. Held at JCON 2020.

Testing and Releasing Elasticsearch and the Elastic Stack

Elasticsearch is well known piece of software. This talk explains the different levels of testing along with packaging and releasing as part of the Elastic Stack. Testing a well known software like Elasticsearch is not too different to any other software. In this session we will peak into the different testing strategies for unit and integration tests including randomized testing, how we leverage gradle, how we do packaging tests, how we test the REST layer, what our CI infrastructure and tooling around that looks like and finally what happens in order to release Elasticsearch and other parts of the Elastic Stack. Held at the TestCon Europe 2020

This presentation introduces the basic concept behind full-text search aka an inverted index, analysis, tokenization, token filtering, explains common terms like precision & recall, the basics of scoring, deep dives into some Lucene optimizations, and then moves on to aggregations and distributed systems.

This is a high level introduction into Elastic App Search, that contains all the steps required to get up and running with App Search including a sample app with some sample data, which you can use to start off with and then tune your search results step by step. The GitHub repository with the demo code is available here.

Understand, Visualize & Improve Continuous Integration using the Elastic Stack

This talk is about the challenges of making sense of your CI data. Getting the data into the right format, that it allows extract data from it, is the first big step. We’ll talk about why CI data is useful and how to determine long time trends out of your data.

Seccomp for developers - making your apps more secure

Application developers tend to focus on features first with security being an afterthought to those features. Instead of rolling your own security, this talk will show how to integrate seccomp into your own applications, to increase security without sacrificing usability. The code samples including a vagrant VM to get up and running are available at github. Held at the Dev Day 2020 (video), BSides Singapure (video, BSides Chile, OpenFest Bulgaria, IT Security Summit.

Introduction into Elasticsearch & Spring Data Elasticsearch

This presentation gives a small overview over Elasticsearch, followed by an introduction into Spring Data Elasticsearch. The sample application used in the demo is available on github. Held at the JUG CH, see the video, and the Elastic Usergroup Morocco.

Elasticsearch - A hands-on introduction

This presentation gives a quick introduction into the Elastic Stack, its solutions built on top of it and dives immediately into Kibana and its Dev Tools to show of its basic functionality and how full text search works. The kibana snippets are available here.

Getting Started with Uptime

A brief introduction into Uptime and demo the initial setup and how to get up and running. We will cover the way to ingest data using heartbeat, and then take a deeper look at the Kibana app plus some best practices.

Elasticsearch - Securing a search engine while maintaining usability

Security is often an afterthought when writing applications. Time pressure to finish features or developers not being aware of issues can be two out of many reasons. This talk will use the Elasticsearch codebase as an example of how to write a broadly used software, but keep security in mind. Not only pure Java features like the Java Security Manager will be covered or how to write a secure scripting engine, but also operating system features that can be leveraged. The goal of this talk is most importantly to make you think about your own codebase and where you can invest time to improve security of it - with maybe less efforts than you would think. Held at the code days in Munich, the sec4dev conference in vienna, and the Java User Group Hessen.

Introduction into the Java HTTP REST client for Elasticsearch

Elasticsearch comes with a bunch of clients for different languages, like JavaScript, Ruby, Go, .NET, PHP, Perl, Python and most recently even Rust. A late starter (starting in 5.x, but only fully supported from 7.0) was the Java High Level REST client, that intended to replace the TransportClient. This presentation talks a little bit about the reasoning while showing a lot of examples how to use the client, and even comes with a small sample project - which you can check out the elasticsearch-rest-client-samples github project for some more info.

Digging deeper into full-text search with Elasticsearch

This presentation covers a few search features within Elasticsearch, that you merely need when using Elasticsearch as a ecommerce or person/address search engine, covering range_, date_nanos, search-as-you-type, flattened, vector data types and queries, field collapsing, top hits, distance feature queries, phonetic search, Enrich and Dissect Processors and Index Lifecycle Management. You can download all the sample snippets and try them out yourself. Held at the Search Meetup Munich, at the Elastic Usergroup Vienna and the JUG Augsburg (virtual).

2019

Running a Serverless Lucene Reverse Geocoder

This presentation talks about the possibility of running a reverse geocoder based on lucene in a serverless environment. The talk features the serverless framework, lucene geo capabilities using points and shapes, and last but not least mentions graalvm to reduce start up times. This talk also shows AWS Lambda, Google Cloud Run and does a brief comparison. Held at the Java User Group Munich

Testing and Releasing Elasticsearch and the Elastic Stack

Elasticsearch is well known piece of software. This talk explains the different levels of testing along with packaging and releasing as part of the Elastic Stack. Testing a well known software like Elasticsearch is not too different to any other software. In this session we will peak into the different testing strategies for unit and integration tests including randomized testing, how we leverage gradle, how we do packaging tests, how we test the REST layer, what our CI infrastructure and tooling around that looks like and finally what happens in order to release Elasticsearch and other parts of the Elastic Stack. Held at the AAdays in Gdansk

Securing software while maintaining usability

Security is often an afterthought when writing applications. Time pressure to finish features or developers not being aware of issues can be two out of many reasons. This talk will use the Elasticsearch codebase as an example of how to write a broadly used software, but keep security in mind. Not only pure Java features like the Java Security Manager will be covered or how to write a secure scripting engine, but also operating system features that can be leveraged. The goal of this talk is most importantly to make you think about your own codebase and where you can invest time to improve security of it - with maybe less efforts than you would think. Held at the Code.Talks conference im Hamburg.

Elastic Stack Logging Workshop

A logging workshop based on Philipp Krenn’s logging workshop github repository - some more explanations about logging challenges and proper architectures.

Introduction into full-text search with distributed search engines

This presentation gives an extensive introduction into full text search using Apache Lucene, how tokenization and token filtering work, how Elasticsearch acts as a distributed system, handles distributed searches and how probabilistic data structures are used within Elasticsearch. Held at the unKonf in Mannheim and at my former university of applied sciences in Wilhelmshaven.

Security - More than an operations topic

Have you ever had a huge cloud provider bill? A sudden spike in CPU usage across many services? Did your infrastructure turn into bitcoin miners because someone found a way to execute arbitrary code in the application you wrote? Security is neither an operations nor a developer responsibility, but both!

What did you do after the incident? Did you close this particular security whole or did you fix this whole type of vulnerability? In order achieve the latter this talk will talk about using seccomp as an operating system feature as well as the Java Security Manager and how to leverage those as application developer in order to improve security and reduce the risk of getting hacked.

Held at the Open Rhein Main 2019 in Darmstadt

What’s new in the Elastic Stack - 7.x Edition

Covering what is new in the Elastic Stack 6.7, 7.x and a brief glimpse in the next Elasticsearch 7.3 release, showing a lot of Elasticsearch topics like faster top-k retrieval, Zen2, adaptive replica selection, rank feature(s), the new script score query and support for nanosecond precisions. Held at the JUG Darmstadt.

This talk covers all the different aspects to keep in mind when running a product search engine in an ecommerce platform. That search engine is usually a direct driver for your conversion and thus needs to be handled with care. Starting with a small demo for facetted/aggregated search most of the talk will deal with more advanced topics like proper data modeling, further query strategies, ranking strategies, feedback loops and query parsing. Held at the Search Meetup Hamburg

Community @Elastic - The why, what and how

This talk gives an overview over how we do community work at Elastic. What does community mean to us, how are we setup from an organization perspective, what can you do to increase adoption, where we do we as a company and our products come from and what are the challenges, personal as well as from a department perspective. Held at the inaugural DevRelMunich meetup.

Extending Elasticsearch - Writing plugins

A quick overview about how to write Elasticsearch plugins, what extension points exist, how plugins and modules are loaded when Elasticsearch starts up, how plugins are tested most efficiently with gradle. Also one ingest plugin and one query plugin were demoed as part of the presentation. Held at the Java User Group Essen.

What’s new in the Elastic Stack - 7.0 Edition

Covering what is new in the Elastic Stack 6.7, 7.0 and a brief glimpse in the Elasticsearch 7.1 release, showing a lot of Elasticsearch topics like faster top-k retrieval, Zen2, adaptive replica selection, rank feature(s), the new script score query and support for nanosecond precisions. Held at a BBL in Munich and at the Elastic RheinRuhr Meetup.

Running a Serverless Lucene Reverse Geocoder

This presentation talks about the possibility of running a reverse geocoder based on lucene in a serverless environment. The talk features the serverless framework, lucene geo capabilities using points and shapes, and last but not least mentions graalvm to reduce start up times.

This presentation was held at the Search Meetup Munich in April 2019, at the JUG Nürnberg and at the Karlsruhe Search Meetup.

Working distributed - but how?

This is a talk about distributed work, how it is done at Elastic. How do we work together, how does the development process look like, what are the hard parts about distributed work, what does work exceptionally well?

This presentation was held at the VillageCon 2019 in Vechta and at the Search Meetup Hamburg.

Elasticsearch - Securing a search engine while maintaining usability

Elasticsearch is running on tens of thousands of nodes world-wide, so despite all the functionality squeezed into new releases, we also have to think about security, all the time. This talk will cover different aspects of Elasticsearch, explain some features and (sometimes unpopular) decisions and the reasoning behind. The goal of this talk is not (only) to show off Elasticsearch features. You start thinking about these non-functional requirements in your own applications as well! Held at the VillageCon ‘19 the Delex Conf ‘19 in Minsk (video) the JUG Nürnberg, at the Karlsruhe Search Meetup, the VoxxedDays Luxembourg (video), the JUG Darmstadt, the JUG Hamburg, the Java Day Odesa, JUG Oldenburg/Bremen and OpenMunich 2019.

Custom AWS Lambda Runtimes

This presentation gives an introduction into the concept of function as a service. After a quick introduction into crystal it is shown how easy it is to write a custom AWS lambda runtime using the crystal programming language.

This presentation was held at the serverless munich meetup in early 2019.

2018

Elasticsearch Ingest Processors

A BoF session at the elastic on tour stop in Frankfurt, talking about a quick update about the latest and greatest in ingest nodes, before talking about customer use of the Elasticsearch ingest node.

Open Source as a Business

A general talk about Open Source as a Business, what this means and especially what this does not. Held at an Elastic Event in Munich.

Elasticsearch - Securing a search engine while maintaining usability

Elasticsearch is running on tens of thousands of nodes world-wide, so despite all the functionality squeezed into new releases, we also have to think about security, all the time. This talk will cover different aspects of Elasticsearch, explain some features and (sometimes unpopular) decisions and the reasoning behind. The goal of this talk is not (only) to show off Elasticsearch features. You start thinking about these non-functional requirements in your own applications as well! Held at the Java User Group Munich, at the Mathema Campus, the Search Meetup Munich, the CFCamp, the Java User Group Erlangen/Nürnberg.

2017

Inside the Elastic Stack: Testing and Releasing a Well Known Open Source Stack

Maintaining a well known open source stack is no easy task. Despite fixing bugs and adding features, releases need to be aligned among products and each product needs to be tested on its own. This talk starts at the lowest level of Elasticsearch, explaining how we run unit tests, moves up to integration tests, packaging tests, backwards compatibility tests, performance tests, including commercial extensions in testing phases - all of this on different operating systems and JVM versions. Attendees will get to know how our CI looks and how all of our products (Elasticsearch, Logstash, Kibana, Beats and all of its commercial extensions) are released at the same moment in order to ease the upgrade process for our end users. Held at the Ryte Tech Meetup, also available on video and the TestCon Moscow 2018 and the Delex Conf in Minsk (video).

What’s x-citing in x-pack?

A quick overview about the commercial plugins for the Elastic Stack, where I covered the alerting backend part during ElasticON 2017. Also available on video.

Introduction into the Elasticsearch Ingest Node

This is a short introduction into the Elasticsearch Ingest Node featuring some live coding to create a new processor, that extracts URLs from text. The corresponding blog post is is on the elastic blog. Held at the Search Meetup Munich, the Search Meetup NRW and the Search User Group Berlin (plus video).

2016

Serverless - Apps without infrastructure

A small introduction in the serverless paradigm and introduces the serverless and claudia frameworks for node.js, provides some more information about other language alternatives and of course also about the drawbacks to be aware of. Held at the Munich Node User Group, also available as video.

Awesome Logging Infrastructure using the Elastic Stack

The Elastic stack consisting of Elasticsearch, Logstash, Kibana and Beats offers easy-to-use components to ingest, parse, analyze and visualize your data. In this talk we will focus on the aspect of log files, and in addition to the already known capabilities of the ELK stack new features in Elasticsearch simplifying your logging life and the relatively new Beats and their respective implementations will be covered as well. Held as a keynote at the Cloudconf in Italy (video), at Infoshare at Gdansk, at CFCamp in Munich and at JUGH in Kassel (video).

Security, Alerting, Monitoring, and More With the Elastic Stack

A quick overview about the commercial plugins for the Elastic Stack, where I covered the alerting part during ElasticON 2016. Also available on video.

Elastic(search) - News from the machine room

A short overview about the latest and greatest features across the Elastic Stack, covering Elasticsearch, Beats, Logstash and Kibana. Covers features from the 2.x releases like Pipeline Aggregations and future features like the Ingest Node. Held at the OOP Konferenz in Munich and the Elasticsearch Meetup Cologne.

2015

Elasticsearch 2.0 - What’s cooking

A quick overview over the most important features and improvements of the upcoming Elasticsearch 2.0 release, held at the Search Meetup Munich.

Shield Your cluster - Security with Elasticsearch

A basic introduction into shield and its features covering some standard use-cases as well as why shield is better to use than a home-grown solution. Also explores the future of shield by talking about some of the future features. Held at Goto Amsterdam 2015.

Elasticsearch - Speed is key

An introduction into Elasticsearch along with some details, what actually makes a search fast, going into some interesting details like full-text search, filters, aggregations, probabilistic data structures, the operating system as well as a quick outlook on the next Elasticsearch & Lucene releases. Held at the Enterprise Search Meetup Warsaw (video), the developer camp in Munich (video), the CraftConf in Budapest (video), the ElasticVienna Meetup, the first ever german Elastic webinar, the Elasticsearch Zurich Meetup, the Hamburg Search Technology Meetup, the Elasticsearch Meetup Cologne, the CFCamp in Munich, the JUG Kassel (video) and the DevTernity conference in Riga.

Elasticsearch - Life of a document

This talk explains the when, where and why of your document’s life inside of Elasticsearch. Held with my colleague Boaz at the first Elasticon in San Francisco, video is available as well.

Elasticsearch - Using the percolator for simple classification

A small introduction in how to use the percolator feature of Elasticsearch in order to classify documents, using car ads. Held at the Search Meetup Munich.

ELK Stack - Bessere Entscheidungen durch bessere Daten

A german introduction to the ELK stack, very high level and not too technical. Held at the OOP Conference 2015 in Munich, video available as well.

2014

Introduction into harp

A quick introduction into harp alongside with a quick demo. Held at the MNUG, also on video.

Maintaining performance in distributed systems

An overview about some performance fallacies, not only in distributed systems. Held at the Munich Software Performance Meetup.

Introduction into the ELK stack

Another high level introduction into the ELK stack talking about what problem this stack solves as well as a quick overview over the different products. Held at the code.talks (video) in Hamburg as well as at the Open Source Monitoring Conference (OSMC) in Nuremberg.

Using the ELK stack for continuous improvement of your data

A very highlevel talk about why you need something like the ELK stack to make better business decisions, and why we (as a company) think, that this different pieces of software are needed. Held at the mimacom days in Zurich in June available as video.

Elasticsearch under the hood - Managing performance in a distributed system

A talk not so much about elasticsearch (even though it features a quick intro), but about the full stack ranging from hardware, operating system, jvm, garbage collection, libraries and some elasticsearch examples to make you aware of the complexities of having performance in such a complex distributed system and how to optimize a few of them. Held at the NoSQL User Group in Munich and at TNG Consulting in Munich (thanks for inviting me!).

What’s new in Elasticsearch? Feature overview

A brief overview about recent elasticsearch features, continously updated from 1.0 onwards over the year. This presentation was held at the day of the elasticsearch 1.1 release at the first Elasticsearch Meetup in Stuttgart, at the first KA Search Meetup in Karlsruhe, the first Elasticsearch Meetup in Copenhagen, the Elasticsearch Meetup in Zurich, the first Elasticsearch Meetup in Vienna.

Using elasticsearch, logstash and kibana to create realtime dashboards

A small overview of logstash, followed by a live demonstration about how to create a nice dashboard using the meetup.com reservation stream. Held at the Lightweight Java User Group in Munich, a free GOTO night in Berlin, the devcamp in Karlsruhe, BEDCon in Berlin, the Elasticsearch Meetup in Hamburg, a the 9th jimdo session, which is available as video as well.

Introduction into elasticsearch, logstash and kibana

A very long introduction, covering a lot of ground about Elasticsearch, logstash & Kibana, with a special chapter about elasticsearch 1.0. Held as part of the Elasticsearch special day at OOP conference in Munich.

Elasticsearch in Ecommerce

A talk about several use-cases of elasticsearch in ecommerce environments and where to pay special attention. Held at the Ecommerce Hacktable in Hamburg. Thanks to Matthias Lau from Jimdo for inviting me!

2013

My main presentation for 2013, introducing elasticsearch but talking about aggregation and analytics functionality in particular. Held at the Enterprise Java User Group in Linz, the GotoCON in Aarhus, the WJAX conference in Munich, the Developer conference in Hamburg (video).

Elasticsearch - Completion Suggester

A 5 minute session at the Elasticsearch Amsterdam Meetup, where a couple of us engineers talked about some elasticsearch features, as we had a gathering in our office for a week.

Extending Elasticsearch

This talk was held at the Berlin Buzzwords Barcamp and talked about possibilities to extend elasticsearch.

Elasticsearch - Introduction

Another introduction into elasticsearch, held at the JUG Karlsruhe (video) and the JUG Erlangen Nürnberg.

Elasticsearch - Search made easy

An introduction into search and analytics in general, alongside with pointing out, how elasticsearch can help for your concrete implementation. Held at NoSQL roadshow munich and JUG Augsburg (Video available as well).

2012

Elasticsearch - introduction & plugin development

An introduction into elasticsearch including a code deep dive how to write plugins. Held at Smarchive/Gini (thx for inviting me!).

Using dropwizard with MongoDB

A short introduction into dropwizard in combination with MongoDB. Held at the Berlin Expert Days Conference.

Elasticsearch - Search made easy for (web) developers

A long introduction into elasticsearch, made with reveal.js. Held at the Java User Group Munich and the Berlin Expert Days Conference.

2011

Elasticsearch - Introduction

A ten minute introduction at the Webmontag Munich November, held in front of a mainly non-technical crowd.

Play Framework Introduction

An introductory presentation about the play framework held in October 2011 at TNG technologies in Munich. Thanks to them for giving me the opportunity to talk.

Play Framework - A look inside the machine room

This presentation tries to go further than the standard introductory presentations and takes a look in the inner works of the play framework. This presentation was held at the Play!Ground event in Rotterdam in September. Thanks to Peter Hilton and Lunatech for inviting me!

2010

Play framework introduction

An introductory presentation about the play framework held in June 2010 at the Java User Group Munich.