+ All Categories
Home > Documents > Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris...

Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris...

Date post: 06-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
29
By Tobias Rein & Alex Eftimie – October 12 th , 2016 Elastic @ GetYourGuide
Transcript
Page 1: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

By Floris Dekker – September 2nd, 2013Click to edit Master title styleBy Tobias Rein & Alex Eftimie – October 12th, 2016Elastic @ GetYourGuide

Page 2: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex
Page 3: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

5 students wanted to build apeer-to-peer platform for tour guides.

Page 4: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex
Page 5: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

But we also learned one thing:

There is a greater problem to be solved.

Page 6: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

So the team started from scratch . . .

Page 7: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

. . . and we relaunched

Page 8: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

is me e too o

Page 9: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

e ee p e

e

1

Page 10: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex
Page 11: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

We built a unique culture.

Page 12: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex
Page 13: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

@GetYourGuide

Page 14: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

In 2012 …

… we turned MySQL into elasticsearch

Page 15: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex
Page 16: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

0.19.80.90.01.0.02.3.1

Upgrading was usually painless, thanks to Elastica (A PHP client for elasticsearch.)

Page 17: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

MySQL is still our primary storage.

We are using asynchronous messages to update the elasticsearch index

Our Setup

Page 18: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

Our architecture

Page 19: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

1. Location lookup[elasticsearch]

2. Tour search[elasticsearch]

3. Availability filter[MySQL]

Multi-step

Page 20: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

Our Cluster

56 indexesfor customer search

26 indexesfor intranet

4 indexes in 14 languages up to 2.5 million docs per index

3 nodes 8.1 GB

2 replicas, no sharding 10 million documents

Page 21: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

Our migration strategy

• Unique index namesusing timestamp

• An alias <name>_live points to the current index

• For migration we use temporary alias names <name>_temp

Page 22: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

@GetYourGuide

ELK

Page 23: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

What do we do with logs @ GYG ?

• Debugging • Business Intelligence

Page 24: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

Motivation for a new infrastructure

• SSH to host no longer an option

• Local storage in the cloud is limited

• No one uses outdated tools

• Fault tolerant trustworthy logs are a must!

• Redundancy, Auto failover, Monitoring

Page 25: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

Logging infrastructure - FLKLEK

Two m4.2xlarge AWS instances

(One tie breaker instance in Digitalocean)

Page 26: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

The Numbers

120 GB 20 Mioelasticsearch store size log lines /day

42 5.5Knodes avg. logs /second

Page 27: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

Lessons learned

• Large documents affect ES performance

• Dynamic mappings are a pain

• Beats don’t play well with file rotation

• Kibana is a powerful tool

Page 28: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

29

Page 29: Elastic @ GetYourGuide Click to edit Master title style Elastic Meetup @ GYG … · By Floris Dekker – September 2nd, 2013 Click to edit Master title style By Tobias Rein & Alex

Questions?


Recommended