The short road to a massive modernization to micro services and devops

Quandoo's story on changing to micro services and devops and the impact on development work flows

by Johannes Amorosa | January 26, 2020

At the beginning of last year, our Berliner Googlers matched us with Quandoo, one of their customers, and asked us to help them with migrating their workload to the Google Cloud.

Quandoo is a Berlin based online restaurant reservation platform that connects restaurants and diners around the world via a table reservation system. In 6 years Quandoo seated more than 190 million diners in 18000 restaurants.

This 10 month gig at Quandoo’s office in the nice neighborhood of Prenzlberg in Berlin offered us the opportunity to showcase our skills in Kubernetes, automation and continuous integration (CI). As a Google Cloud Partner we helped to design the cloud architecture but also developed a complete app life cycle. Quandoo took the opportunity to not just migrate their monolithic Java app to GCP, they asked for help in transitioning to modern dev-ops work flows and a microservice architecture with all the bells and whistles that are part of this.

The promised outcome is faster feature integration, less operational overhead and of course greater user experience with less downtime, more responsiveness and better security.

This was achieved with all the managed services by Google and the Kafka service provider Aiven. We tied everything up with Infrastructure-As-Code and a templated CI pipeline.

The challenge was not just to implement bleeding edge technology like Istio, but also to pick up a changing developer experience due to massively re-organization of all teams and their responsibilities. A clear understanding where the ops team or the dev team takes ownership is a huge undertaking for any organization - enterprise or startup.

Several Endocoders (Johannes Amorosa, Yotam Cohen, Daniel Riesner and Christoph Schulthess) were embedded in the operation team on stand-ups and retros, to guarantee a knowledge transfer to Quandoo’s staff. We supported team leads to understand helm, secret management and scaling issues with their newly developed services.

We set up several GKE clusters, for development, staging and production. These environments are automatically deployed with Terraform and an Infra CI. All micro services use the same templated and versioned CI scripts to ensure standards and quality. All feature branches are available for testing to ensure a great developer experience and transparency in the teams. We helped reduce build times and improved container work flows for security and speed.

Implementing all of Google’s great cloud native tooling is great fun, things like KMS, Load Balancers, the ultrafast global Virtual Private Network and of course Google’s game changer GKE - based on Kubernetes.

This was quite a ride, but we are proud that we delivered a lean, well documented and future proof infrastructure code base with super fast development workflows, global scaling and cost effective utilization of resources.

We like to give special thanks to Alesia Braga, Stéphane Gamard, Sergei Starikov and his team for giving us the opportunity to improve the Quandoo experience.