Building a Reliable and Scalable Infrastructure: Partoo's Journey with Qovery

Discover how Qovery empowered Partoo, a SaaS company focused on enhancing businesses' customer journey, to overcome their infrastructure challenges and achieve exceptional results. We met Antoine Boileau, Engineering Manager at Partoo, that told us more about their journey. With Qovery, Partoo found the ideal platform to integrate seamlessly, scale effortlessly, and receive reliable support. Experience the benefits of Qovery, from gaining complete flexibility with AWS and Kubernetes to achieving remarkable API speed improvements through autoscaling.

Albane Tonnellier

Albane Tonnellier

July 21, 2023 · 6 min read
Building a Reliable and Scalable Infrastructure: Partoo's Journey with Qovery - Qovery
Written byAlbane Tonnellier

Albane Tonnellier

Albane started as a Product Owner at Qovery and moved to a Product Marketing Manager position, so you can say she is all about the Product.

See all articles
ProductHerokuAWS

Partoo Introduction

Antoine Boileau is the Engineering Manager at Partoo and previously the lead at Pulp, a click-and-collect company acquired by Partoo over a year ago. Partoo is a SaaS company that assists businesses in their customer journey. They focus on three key areas: Get Found, Get Chosen, and Get Clients. Get Found improves businesses' visibility on platforms like Google, Bing, and Facebook. Get Chosen enhances attractiveness through positive reviews and compelling profiles. Get Clients streamlines the conversion process, including click-and-collect and table ordering. They use Qovery to host transactional features, such as click-and-collect, payment, and table ordering.

Partoo Landing Page
Partoo Landing Page

Learn How Qovery Helped Partoo to Build and Manage a Reliable and Scalable Infrastrucure in No Time!

Partoo's Struggles With Heroku's Performance (CPU Consumption & Dowtimes)

Until the third quarter of 2022, the Pulp platform relied mostly on Heroku for hosting. The Pulp platform was a large monolith with several small surrounding services and various frontend applications deployed statically on DigitalOcean or server-side rendering (SSR). The system performed adequately with minimal time investment, showcasing stability and satisfactory response times. Still, problems emerged when the main server instances started randomly consuming 100% CPU without clear indications in the logs. Heroku's approach to such incidents exacerbated the issue, as they did not replace the affected instance but instead stopped the whole API from receiving HTTP calls, making the entire application unavailable. Consequently, a single server instance failure triggered a cascade effect, causing major disruptions during critical service periods.

They realized that by manually rebooting all the servers, they could make the API available again. They did it once, then twice, and after having to do it again on a Saturday, they started to look for a way to automate it. After some adjustments, a solution was found by having an instance on Scalingo, separate from Heroku, that received downtime alerts from Datadog through webhooks and used that call to reboot the server on Heroku using Heroku’s API, but this was only a workaround. Unfortunately, despite being on a premium plan, Heroku provided no assistance resolving the problem. The lack of dedicated support from Heroku added to the frustrations. The frequency of one or two production incidents per day amplified the need for a resolution, ultimately driving the decision to seek alternative options.

Antoine's Quote
Antoine's Quote

Exploring Alternatives: The Limitations of Scalingo, Render, DigitalOcean, and AWS Elastic Beanstalk

The team's requirements included maintaining fine-grained control over servers for seamless Datadog integration and a robust deployment pipeline with minimal maintenance. The team also aimed to consolidate their workflows on a single platform.

They explored various options to find an alternative solution. Among the initial considerations was Scalingo, the French equivalent of Heroku, but they had encountered two production incidents, raising concerns over the production worthiness of the hosting solution. Render and DigitalOcean were also evaluated but lacked the necessary integration with Datadog. AWS Elastic Beanstalk was also assessed, but they posed challenges in losing essential features like auto-deploy from the Github repository and review apps. After eliminating most options, they discovered Qovery, the sole solution to meet all their needs.

Seamless transition to Qovery: Integration, Scaling, and Developer Experience

The alignment with the integration vision of the Pulp application and Partoo's AWS infrastructure made Qovery an ideal choice. It provided a practical solution for integrating with Partoo's infrastructure, aligning with their long-term objective of gradually transitioning to Kubernetes.

Once the decision was made to migrate to Qovery, the testing phase became the most time-consuming aspect. The team focused on conducting comprehensive tests to ensure a smooth transition. They made necessary modifications, including Docker configurations, to meet their specific requirements. Learning how to configure Datadog and addressing migration concerns were also crucial. This process involved validating the newly created environment and collaborating with Partoo's operations team, who handled VPC configuration and database foundation setup. Although the effort did not span an entire month, it involved intermittent work as the team navigated the initial stages of collaboration. The most time-consuming task was to replace the timezone-aware cron tasks, available as a plugin on Heroku and not on Qovery (although Qovery has since introduced Cronjobs). That feature had to be redeveloped and integrated into their monolith. After creating an initial environment on Sandbox, they proceeded with the migration to production. The team expressed high satisfaction with the results and continues to utilize Qovery for its operations.

Key Benefits After Several Months of Using Qovery

The Full Flexibility of AWS and Kubernetes

The decision to migrate to AWS and gain full control over their resources was deemed necessary, aligning with the company's long-term vision of managing all aspects through an AWS account. The availability of a Kubernetes cluster that can be directly manipulated brings reassurance to the infrastructure team, who can monitor and make modifications themselves, leading to a deeper understanding of the system. That capacity to tinker directly with the native Kubernetes resources was the main reason to move to Qovery, as it allowed them to see clearly what was wrong with the servers that kept hitting 100% CPU. Being able to access the underlying AWS resources directly gives plenty of flexibility and allows a wide range of different workflows. While Qovery offers continuous deployment (CD), they have the autonomy to make any required adjustments independently.

Antoine's Quote
Antoine's Quote

Speed of API Thanks to Autoscaling Options

Partoo has experienced significant API speed improvements thanks to the autoscaling implementation. Finer control over the scalability of particular applications and managing the desired load level enable them to have a more aggressive approach to autoscaling, resulting in an estimated speed boost of approximately 50% or even up to 60%, surpassing expectations.

Reliable Support in Times of Need

Compared to their disappointing experience with Heroku, Partoo found exceptional support from Qovery throughout their journey. Despite making mistakes like updating their Kubernetes cluster before Qovery, which caused production concerns, Qovery's support team remained dedicated and responsive, and this support has become a great strength, fostering trust and confidence for Partoo.

What's Next for Partoo and Qovery

Project Nebula: Partoo is Empowering Customized Test Clusters with Qovery

Partoo is developing their own review environment custom workflow leveraging Qovery API (code name: Nebula). The aim is to have the best developer experience by enabling complete flexibility in the creation of bespoke clusters for development and testing.

That cluster would be composed of multiple apps (Front-tend and APIs) from different git repositories. The developers will be able to select individually the git branch from which the different apps would be configured to be auto-deployed. That extremely flexible setup for one-off bespoke review clusters in a multi-service environment needs custom development, but thanks to the ease of use of the Qovery API and the concept of App Blueprints, Partoo thought the challenge was manageable. The end of development on that feature for Nebula is expected to be around October

Your Favorite Internal Developer Platform

Qovery is an Internal Developer Platform Helping 50.000+ Developers and Platform Engineers To Ship Faster.

Try it out now!
Your Favorite Internal Developer Platform
ProductHerokuAWS

You might also like

From Static to Ephemeral Environments: How Flat Significantly Increase Development Velocity with Qovery

Learn how Qovery helped Flat Mx, a proptech company in Mexico, speed their release cycle and scale their infrastructure efficiently. Initially launched three years ago, Flat Mx combines technology with real estate data and expertise to optimize the property valuation process and automate it. The engineering team at Flat Mx was facing challenges with their monolithic application and needed a more efficient solution for their cloud needs. After exploring multiple options, they found Qovery, which offered them an ephemeral environment, integrated well with their existing solutions, and had excellent documentation and support. The migration process was well-documented and took them two months to complete, during which they migrated 20 applications. After using Qovery for several months, Flat Mx has streamlined their infrastructure management and deployment processes, enhanced their development environment, and improved their efficiency. In this article, we will discuss the key results after several months of using Qovery. - Read more

April 19, 2023 · 6 min read
From Static to Ephemeral Environments: How Flat Significantly Increase Development Velocity with Qovery

Seamless Transition to Kubernetes: Ninetailed's Path to Production with Qovery

In today's fast-paced digital world, companies are always looking for ways to optimize their deployment processes. This is especially true for Ninetailed, a leading composable personalization and experimentation solution for digital teams, as they aim to provide exceptional experiences for their customers. To achieve their goals, Ninetailed embarked on a journey to enhance their DevOps practices and scale their infrastructure effectively. I had a chat with Sebastian, Head of Engineering, and Francois, DevOps Engineer at Ninetailed, who shared their experience of implementing Qovery, from setup to production. They highlighted the benefits they've gained after several months of using Qovery, along with the latest additions. - Read more

June 5, 2023 · 6 min read
Seamless Transition to Kubernetes: Ninetailed's Path to Production with Qovery