Sellsy’s teams in Bordeaux moved offices in 2023. In 2024, it was their entire infrastructure’s turn to change address!
Of course, our Enix teams and Sellsy’s didn’t physically move any servers… but given the number of hours spent preparing everything and the complexity of the project, this migration had little to envy a piano move to the 6th floor with no elevator.
Now that all applications have been migrated and we’re confidently handling the platform’s day-to-day operations, let’s take a look back at the goals and details of this migration, carried out in just a few months with the Sellsy and Scaleway teams.
🏡 Why did Sellsy want to change hosting providers?
Sellsy develops a French SaaS solution for sales and financial management aimed at small and medium-sized businesses. Used by nearly 50,000 users, it is well recognized in the market and comes packed with numerous features: CRM, sales pipeline management, email automation, lead tracking and scoring, quote and invoice management, electronic signature, marketing emailing, and more.
Since its funding round in January 2022, Sellsy has experienced strong growth. They wanted to get ahead of the limitations of their on-premises infrastructure used until then, and modernize their platform by improving its scalability and resilience.
A strategic factor was also to avoid depending on a US cloud provider, in order to guarantee data sovereignty and compliance: a genuine deciding factor for Sellsy’s customers.
Finally, this transition had to fit within a controlled budget, with a predictable and optimized cost model, allowing Sellsy to reconcile performance with profitability.
🥖 Choosing Scaleway cloud
Sellsy chose the French cloud provider Scaleway for the breadth of its cloud and bare metal server offering, reaffirming its commitment to showcasing French technological expertise.
Among the Scaleway solutions used, the managed services include: object storage for storing customer files; cloud instances and managed Kubernetes (Kapsule) for R&D, on-demand environments, and applications under development.
For production environments with predictable growth, Sellsy opted for the new store-9 and core-10 bare metal server ranges. Equipped with AMD processors and SSD-NVMe drives, they are deployed across 3 Scaleway datacenters, ensuring the expected levels of performance and availability.
During this initial phase of defining the architecture and selecting the Scaleway hardware and managed services, we were able to advise the Sellsy teams thanks to our knowledge of Scaleway’s solutions, of which we are one of its first privileged partners.
🧑💻 Moving to Kubernetes, with heavy use of databases
Sellsy’s technical stack and applications had been running on local containers for several years, and their tech teams wanted a consistent environment across the entire software delivery chain.
As part of this cloud migration, the decision was made to move to Kubernetes to deploy, manage, and evolve the applications with greater scalability, advanced automation, and strong resilience. To do this, we deployed secure, custom Kubernetes clusters based on Talos on Scaleway’s bare metal servers (with our secret Enix sauce!).
In addition, Sellsy had already decided, ahead of the migration project, to switch relational database systems from MariaDB to PostgreSQL, adopting a distributed approach to database hosting.
Quentin Loupot, Head of Infrastructure at Sellsy, details the support we were able to provide to their teams:
Quentin Loupot (Sellsy): Enix allowed us to deploy Kubernetes clusters on Scaleway's bare metal servers with a Proxmox VE virtualization layer, giving us an unbeatable cost-to-resources ratio.
They also enabled us to go further than what we had imagined internally during the initial phase of the project:Finally, on the CI/CD and GitOps side, the Enix teams also trained and supported us in setting up deployments with FluxCD.
- First, they advised and supported us in hosting our customers' multiple databases directly within Kubernetes using the CloudNativePG operator (CNPG), spread across several dozen PostgreSQL clusters;
- We also chose to deploy our Redis and RabbitMQ middleware in k8s, via the rabbitmq-cluster-operator (this operator now having established maturity for demanding production environments).
👮 Locking the doors behind us: security!
Without going into too much detail, for obvious security reasons, we can share 2 key elements put in place on Sellsy’s new infrastructure that contribute to its security:
- Use of Talos Linux to deploy the Kubernetes cluster with the smallest possible attack surface (a minimal Linux distribution optimized for Kubernetes);
- Routing all HTTP traffic through the Cloudflare CDN/WAF and their cloudflared tunnels. Goodbye public load balancers, hello Magic Transit.
📦 Preparation on the application and database side
For six months, Sellsy’s teams worked on a major transformation of their applications’ codebase to ensure a smooth transition to their new architecture.
One of the most significant undertakings was the migration from MariaDB to PostgreSQL, which involved a complete overhaul of database management in their codebase. Instead of a single central instance shared across all customers, each customer now has their own dedicated database, requiring deep adaptations and the creation of robust migration scripts to guarantee service continuity.
At the same time, Sellsy adapted its applications for Kubernetes. Although they were already containerized, some required full isolation to align with their new architecture standards. We also worked together to review their deployment workflow, separating the continuous integration part (tests and builds with GitLab CI) from continuous deployment, now orchestrated with FluxCD.
🪖 The big move
For 3 months, our teams were in direct contact with Sellsy’s (thanks, Slack Connect!) to steer the various phases of the migration. We value this closeness, which allows us to act with the same efficiency and responsiveness as an in-house technical team.
The network interconnection between the two infrastructures, set up beforehand, greatly facilitated this step, as it allowed services to keep running while they were switched over from one infrastructure to the other, minimizing downtime.
So, over those 3 months, Sellsy’s customer data was progressively moved from the central MariaDB database to their dedicated databases across the various PostgreSQL instances! For those who like numbers, we’re talking about nearly 40,000 databases spread across 50 CNPG clusters.
🎙️ So, what now? Any regrets with this new SaaS platform?
On Enix’s side, we are now in charge of 24/7 managed services for this new cloud platform deployed at our partner Scaleway.
We also regularly extend our collaboration to cover Sellsy’s new needs. For example, we recently provided them with a managed Elastic cluster deployed via ELK.
On Sellsy’s side, it’s probably best to let Quentin speak for himself — we thank him for his glowing feedback on this exciting project we carried out together:
.Quentin Loupot (Sellsy): The proactive support Enix demonstrated throughout the entire migration phase was essential for us in ensuring the project ran smoothly.
Their great availability and technical expertise on topics as varied as CNPG, PostgreSQL, Kubernetes and Talos, Proxmox, Ceph, and more... were major assets in supporting our internal teams!
Finally, and most importantly, we are well settled into this new infrastructure, which delivers on all its promises: hosted in France at Scaleway, modernized end-to-end, with a 30% increase in performance, enhanced security, and rigorous, automated operational processes!













