Elasticsearch - A hands-on introduction

A presentation at DevClash St. Pölten in June 2020 in by Alexander Reelsen

Slide 1

Slide 1

Elasticsearch - A hands-on introduction Alexander Reelsen Community Advocate alex@elastic.co | @spinscale

Slide 2

Slide 2

Agenda What is the Elastic Stack Elasticsearch introduction Elasticsearch practical demo Integrating Elasticsearch into your application

Slide 3

Slide 3

Product Overview

Slide 4

Slide 4

Solutions on top of the Elastic Stack

Slide 5

Slide 5

Elastic Stack building & lego blocks

Slide 6

Slide 6

Deployment options

Slide 7

Slide 7

Licensing

Slide 8

Slide 8

Elastic Stack building & lego blocks

Slide 9

Slide 9

Elasticsearch in 10 seconds Search Engine (FTS, Analytics, Geo), near real-time Distributed, scalable, highly available, resilient Interface: HTTP & JSON Heart of the Elastic Stack (Kibana, Logstash, Beats)

Slide 10

Slide 10

Installation & Start # https://www.elastic.co/downloads/elasticsearch wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-darwin-x86_64.tar.gz # wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-linux-x86_64.tar.gz # wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.0-windows-x86_64.zip tar zxf elasticsearch-7.7.0-darwin-x86_64.tar.gz cd elasticsearch-7.7.0 ./bin/elasticsearch wget https://artifacts.elastic.co/downloads/kibana/kibana-7.7.0-darwin-x86_64.tar.gz # wget https://artifacts.elastic.co/downloads/kibana/kibana-7.7.0-linux-x86_64.tar.gz # wget https://artifacts.elastic.co/downloads/kibana/kibana-7.7.0-windows-x86_64.zip tar zxf kibana-7.7.0-darwin-x86_64.tar.gz cd kibana-7.7.0 ./bin/kibana Point your browser to http://localhost:5601/

Slide 11

Slide 11

Click Dev-Tools Samples in Kibana Samples in Github

Slide 12

Slide 12

Slide 13

Slide 13

Demo

Slide 14

Slide 14

Indexing, Mapping & Enrichment Index API Bulk API Put Mapping API Datatypes Enrichment

Slide 15

Slide 15

Document search & Aggregations Query DSL Search API Aggregations

Slide 16

Slide 16

Administration tasks Snapshot and restore Reindexing ILM Monitoring Frozen Indices Securing a cluster

Slide 17

Slide 17

Elasticsearch Clients Not just glorified HTTP clients Retry after failure Sniffing Bulk helpers Java, JavaScript, Ruby, Go, .NET, PHP, Perl, Python, Rust

Slide 18

Slide 18

Elasticsearch is distributed! Scaling reads, scaling writes, ensuring high availibility Run as single node or hundreds of nodes together Users should never care if they query/index against a small or big cluster Add a new node, Elasticsearch will balance data & queries automatically Specialized roles (master, data, ingest, ml, voting only) Orchestration becomes more important as use-case clusters might be easier to maintain & upgrade than the one big cluster

Slide 19

Slide 19

More, more, more… More Queries, aggregations & data types Text analysis (phonetic search, search as you type) ILM, rollup, transform, frozen indices Security Alerting SQL Machine Learning Stack Monitoring Major version upgrades & deprecations Solutions (Observability, Enterprise Search, Security)

Slide 20

Slide 20

Summary Understanding search is hard Use the reference documentation Ask your users about expectations, do not guess!

Slide 21

Slide 21

Next steps Check out https://demo.elastic.co

Slide 22

Slide 22

Check out Observability Uptime Metrics Logs APM

Slide 23

Slide 23

Uptime

Slide 24

Slide 24

Metrics

Slide 25

Slide 25

Logs

Slide 26

Slide 26

APM

Slide 27

Slide 27

APM

Slide 28

Slide 28

Check out Security SIEM Endpoint Security

Slide 29

Slide 29

SIEM

Slide 30

Slide 30

Check out Enterprise Search Workplace Search App Search

Slide 31

Slide 31

App Search

Slide 32

Slide 32

Workplace Search

Slide 33

Slide 33

Connectors

Slide 34

Slide 34

Getting more help

Slide 35

Slide 35

Discuss Forum https://discuss.elastic.co

Slide 36

Slide 36

Community & Meetups https://community.elastic.co

Slide 37

Slide 37

Official Elastic Training https://training.elastic.co

Slide 38

Slide 38

Thanks for listening Q&A Alexander Reelsen Community Advocate alex@elastic.co | @spinscale