Beyond trivago Tech Pt.1: Side-Projects from Our Developers

Fanatic learning is one of trivago's core values that forms a fundamental part of our engineering culture. It's very valuable to have curious minds around you that connect the dots to come up with new ideas and love to exchange knowledge on various topics. Since many of our engineers are involved in their own initiatives and projects outside work, we decided to introduce you to some of these side projects. The goal is to recognize their achievements and share their knowledge with our broader tech community. Take a look and feel free to reach out to any of them if you'd like to exchange on any of their topics!

Read How Working as a Product Owner Helped Me Be a Better Engineer (and vice versa)

How Working as a Product Owner Helped Me Be a Better Engineer (and vice versa)

Over the past few months, I was given the opportunity to try out the life of a Product Owner (PO), alongside retaining my responsibilities as an engineer. The life of a PO has always intrigued me since I joined trivago 2 years ago, and I always found myself unofficially taking on roles that were traditionally done by them. Things like reaching out to stakeholders for collaboration, thinking about KPIs and impact, and general "aligning". Perhaps it's because I simply love the sound of my own voice, but I've always felt a particularly high level of gratification from contributing in meetings. "Aligning" is an overused word in the workplace, but it is the best to describe where I derive my professional gratification from, outside of building things with code.

Read trivago Tech Check-in: Meet Fabian

trivago Tech Check-in: Meet Fabian

In our new series, trivago Tech Check-in, we're introducing you to some of our tech talents from across the globe who help keep our metasearch engine running smoothly everyday. In this first edition, you'll meet Fabian Fritzsche, an engineering intern that works on the Microservice-System that feeds our GraphQL API with up-to-date hotel data.

Read Google Cloud Workload-Placement-Guide

Google Cloud Workload-Placement-Guide

At trivago we operate a hybrid infrastructure of both on-premise machines and clusters on Google Cloud. Over time, we came up with a set of deployment guidelines for running our workloads as more and more of them are migrating to Google Cloud. These are not strict rules, but rather suggestions to best serve each team's needs.

Read Interview for BrowserStack's Breakpoint 2020 Conference

Interview for BrowserStack's Breakpoint 2020 Conference

After 15 years as a game/application developer and trainer, Benjamin decided to make test automation his career. He's currently a Test Automation Engineer in trivago's core QA team. Benjamin is also the author and maintainer of two open source projects for Cucumber BDD parallel test execution and reporting. He is an occasional speaker at conferences on testing and automation.

Read Cross-Cluster Traffic Mirroring with Istio

Cross-Cluster Traffic Mirroring with Istio

The price of reliability is the pursuit of the utmost simplicity.
— C.A.R. Hoare, Turing Award lecture

Have you ever enthusiastically released a new, delightful version to production and then suddenly started hearing a concerning number of notification sounds? Gets your heart beating right? After all, you didn't really expect this to happen because it worked in the development environment.

Read ElasticWars Episode IV: A new field

ElasticWars Episode IV: A new field

On a normal day, we ingest a lot of data into our ELK clusters (~6TB across all of our data centers). This is mostly operational data (logs) from different components in our infrastructure. This data ranges from purely technical info (logs from our services) to data about which pages our users are loading (intersection between business and technical data).

Read trivago joins the Cloud Native Computing Foundation

trivago joins the Cloud Native Computing Foundation

Last year, when visiting CloudNativeCon/KubeCon Europe in Barcelona (one of the biggest cloud-focused conferences in Europe), I noticed that there were some companies present in the exhibition space whose primary focus wasn't software development. I was surprised to see companies from finance to sportswear as Cloud Native Computing Foundation (CNCF) sponsors. There I discovered various CNCF membership types and learned about the End User Supporter membership.

Read Accommodation Consolidation: How we created an ETL pipeline on cloud

Accommodation Consolidation: How we created an ETL pipeline on cloud

Imagine you go to your hotel for check-in and they say that your dog is not allowed even though the website clearly states that it is!

trivago gets information about millions of accommodations from hundreds of partners and they keep on updating. There are many differences not just in the data format, but also in the data itself. There can be many discrepancies in the information and consolidating them can be a very complex process. But it's our responsibility to provide the most accurate information to the best of our knowledge.

Read The First Prettier Plugin For Twig is Here

The First Prettier Plugin For Twig is Here

trivago open sourced a Prettier plugin for the Twig template language. It is available under the Apache 2.0 license, and you can access it on trivago's Github space.

The trivago core product runs on our own frontend framework Melody. Melody uses a Twig-inspired template language because when it was introduced, it had to be interoperable with our existing codebase, which was based on the Symfony PHP framework with Twig as the default template language.

Read Why We Chose Go

Why We Chose Go

To the outside, trivago appears to be one single software product providing our popular hotel meta search. Behind the scenes, however, it is home to dozens of projects and tools to support it. Teams are encouraged to choose the programming languages and frameworks that will get the job done best. Only few restrictions are placed on the teams in these decisions, primarily long-term maintainability. As a result, trivago has a largely polyglot code base that fosters creativity and diverse thinking. It allows us to make informed decisions based on actual requirements rather than legacy code or antiquated projects.

Read An Open Door to Open Source: Relive our OSS Conference

An Open Door to Open Source: Relive our OSS Conference

At the end of last year, to celebrate our continued sponsorship of the Open Source community, we hosted a small conference with special guests at our Düsseldorf campus. We initially hoped to welcome Tobias Koppers and Sean Larkin from Webpack, plus some internal speakers. What we didn't expect was the huge amount of fantastic speakers who wanted to present their projects to the community. In the end, Sean unfortunately couldn't make it but we did have a chance to welcome Marvin Hagemeister, Juan Picado, Norbert de Langen and Pia Mancini as speakers, plus our own amazing talents.

Read Better URL Search with Elasticsearch

Better URL Search with Elasticsearch

At trivago, we generate a huge amount of logs and we have our own custom setup for shipping logs using mostly Protocol Buffers. Eventually we end up with some fields in Elasticsearch (ES) that contain partial (or full) URLs. For instance, in our specific case we store the query component of the URL in a field called query and the path component in a field named url_path. Sample values for these fields could be: