trivago Intelligence was born in 2013 with two main objectives: First, to provide bidding capability to the advertisers, who are listed on trivago, and second, to provide them with metrics related to their own hotels; like clicks, revenue, and bookings (typical BI data). This project faced a wave of inevitable data growth which lead to a refactoring process which produced a lot of learnings for the team. As I expect it to be useful for other teams who deal with similar challenges, this article will describe why a team started a full migration of technologies, how we did it and the result of it.
Posts about Backend
Adopting an automation-first mindset is the first step to reduce manual and repetitive work. Thinking this way enables us to move faster, and more efficiently. It unburdens us from mundane, repetitive work, allowing us to focus on solving problems and creating value in the Software Development Life Cycle. So the first thing is to look for a tool that helps us write automated tests faster and is easy to maintain.
Many of our data pipelines interact with external services. The availability of an external service can adversly affect the health our pipelines. This is how we handle it using AWS Step Functions
Hello from trivago’s performance & monitoring team. One important part of our job is to ship more than a terabyte of logs and system metrics per day, from various data sources into elasticsearch, several time series databases and other data sinks. We do so by reading most of the data from multiple Kafka clusters and processing them with nearly 100 Logstashes. Our clusters currently consists of ~30 machines running Debian 7 with bare-metal installations of the aforementioned services.
Testing your functionality is important, but what happens if other factors come into play? In this blog post we show how trivago handles non-functional testing for every commit and how we scaled it.
Would you book a hotel without seeing the images first? No, right? Hence, it’s vital to make sure the images are available all the time. In a scenario where a lot of images were deleted, we must have an efficient way of recovering them. This is how we achieved that with Amazon S3 Versioning.
When migrating your data to new technologies, validation of the data becomes challenging as your data structures might change. Rebase tries to make this easier while also giving your more flexibility on your data.
We built a reactive pipeline to move almost a quarter billion database records to AWS and to build a reactive and serverless pipeline. This is the story of the lessons we learned along the way working with Kinesis and Lambdas
One day, Memcached ran out of free memory. The method
get failed and all requests went directly to the database. Of course these calls also failed under the huge load, and eventually it caused downtime for the whole trivago website. Yikes!
Tackling hard problems is like going on an adventure. Solving a technical challenge feels like finding a hidden treasure. Want to go treasure hunting with us?View all current job openings