Hello, my name is Amory Schoonbroodt, Head of Research and Development at glooh. Today, I would like to share our experience on a topic that many tech companies face: migration to the cloud.
At glooh, our mission is to offer digital advertising campaigns on outdoor screens (DOOH) at scale, and for that, we need to ensure our platform is high-performing, flexible, and capable of adapting to rapid growth. It was within this context that we decided to migrate our infrastructure to Amazon Web Services (AWS), a cloud solution known for its reliability, global reach, and wide range of services.
In this article, I will explain why we chose AWS, the technical challenges we had to overcome, and the benefits that this transition brings us, both in terms of performance and innovation.
The main motivation for this cloud migration was to support glooh's ambitions. Our goal is to expand into different countries, even across multiple continents. After studying several options, AWS (Amazon Web Services) emerged as the ideal solution for technical and economic reasons.
AWS allows us to deploy internationally with limited effort and less responsibility for our technical teams. Indeed, we primarily rely on PaaS (Platform as a Service) and SaaS (Software as a Service) services, meaning that the underlying infrastructure is entirely managed by AWS. This allows us to focus on developing new features and improving our platform without having to manage servers, updates, or system security.
Furthermore, this migration opens up new doors in terms of innovation. For example, we can easily integrate artificial intelligence into our platform, either directly via AWS services (around 20 services dedicated to AI already exist) or by integrating with other players. This provides us with unparalleled flexibility to experiment with new solutions while maintaining a lightweight and responsive infrastructure.
For those curious, here’s a small diagram comparing different infrastructure models, from OnSite (where everything is managed internally = the server in your company’s basement) to SaaS (where almost everything is outsourced). This will help you understand why we favoured PaaS and SaaS for this migration.
In undertaking this migration, we encountered three major technical challenges.
The first challenge was to conceptualise and implement an architecture capable of scaling while being cost-efficient. This involved ensuring that costs would be proportional to usage while managing the operational load.
Consequently, we opted for a maximum of serverless services, which dynamically adjust resources according to demand without having to manage a heavy or oversized underlying infrastructure.
This allowed us to minimise fixed costs and pay only for the resources actually consumed while ensuring great flexibility and automatic scalability.
The diagram below illustrates the behaviour of a scalable and optimised architecture based on demand. Cloud services dynamically adjust the resources used, ensuring effective cost management while meeting peaks in demand.
The second challenge involved rewriting the code to adapt to AWS. We adopted a 'cloud-native' approach, meaning that we used as many AWS services as possible to leverage the advantages of the cloud.
For example, we replaced our old queuing system (which manages background tasks) with an AWS solution called SQS, more suited to the cloud.
We also used 'Lambdas,' small functions that automatically execute when a task needs to be completed, without us having to manage servers.
Finally, we chose an AWS-managed database, Aurora, to better handle the large volumes of data we process while ensuring high reliability and performance.
The third challenge was the migration of existing data. Since glooh was already a production application, it was crucial to complete this migration without impacting our users.
This was only possible thanks to good preparation in advance and the pre-migration of as much data as possible. We carefully planned and tested the entire process to minimise risks.
Finally, we carried out a brief maintenance shutdown that lasted just a few tens of minutes on a Sunday.
During this shutdown, we primarily faced the migration of DNS records, which represented the final challenge before the complete switch to the new system.
One of the significant advantages of AWS is cost optimisation. Thanks to a large number of pay-as-you-go services, we pay only according to our usage. This means that if the glooh platform is lightly used, our costs are low. If it is heavily used, costs will rise, but they will be proportional to the revenue generated.
AWS is the world's largest cloud provider, with an almost unlimited amount of resources to serve our clients worldwide. 245 countries are covered thanks to 34 regions, 108 availability zones, and over 600 CloudFront points of presence (CDN).
AWS services require a certain level of expertise, provided by our team members, who have several years of experience and continue to train regularly.
Some of them, like Martin and Dimitri, are even planning to take AWS certifications this year. A big thank you to them for their contribution to this migration!
For those who wish to follow in their footsteps, AWS and its partners offer a wide range of training, including learning video games (👋 AWS Skill Builder), making the acquisition of new skills both enriching and fun.
In conclusion, the migration to AWS has not only been beneficial for glooh as a company but especially for our clients. Thanks to this transition, we can now offer them a more efficient platform, capable of adapting to the growing needs of their campaigns, and ensuring optimal availability, no matter their location in the world.
Moreover, integrating AWS services allows us to innovate more rapidly, offering new features based on artificial intelligence and advanced data analysis. This results in a smoother user experience, smarter advertising campaigns, and increased efficiency.
With this solid foundation, glooh is ready to support its clients in their future success.
Watch Amory's interview: