Article← back to stories
A pursuit of scalability
The most common way to start a cloud journey is a lift-and-shift where we take the software stack from the previous setup and rebuild on the new cloud provider, Google Cloud Platform in this case. This is an excellent way to get to know all the different parts of an application without requiring a long migration track with a lot of change implemented all at once.
By following best practices in the setup such as using a managed load balancer to handle the traffic flows and adding security features where available, we not only modernize the infra stack but also pave the road for re-architecting parts of the application. To decrease the time to production, we added a CI/CD pipeline to publish new versions of the application.
Containerizing piece by piece
The next step was splitting off the pieces that make sense into smaller containers and hosting them on Google Kubernetes Engine.
Combined with horizontal pod auto-scaling and fully automated deployments with Cloud Build this provided them a stable component that can scale up when they need a little more juice.
Out with the old, in with the serverless
To handle the highly variable load on the Kadonation platform when a new campaign is launched or to deal with the spikes during the holiday season, a more scalable component was needed. Together with the development team we migrated the workloads to Google Cloud Run. This serverless GCP component scales up and down when needed and even down to zero when no requests are inbound.
After analyzing the workloads and tweaking the different parts, Kadonation can now handle several thousands of requests per second. Combined with the pay-per-use model we were able to provide significant cost savings.
We’re looking forward to building more awesome stuff together. Keep going strong!