We recently introduced MediaMarktSaturn Retail Group (MMS) earlier this year when we explored how GitOps has solved many of their challenges. As a recap, they are Europe’s leading seller of consumer electronics products, based in Germany, with total sales of over €20 billion. The organization runs around 1,000 stores in 13 countries with about 53,000 employees, and their integrated online and store offerings reach millions of customers every day.
Their Tech Stack
The MMS central platform team manages their Kubernetes clusters on Google Kubernetes Engine, where GitOps operators are provisioned via Terraform. The cloud-native applications are structured as microservices and use Helm charts to implement cloud services. Continuous integration and testing is executed using GitHub Actions and since the team were early adopters of GitOps, Flux automates deployments the GitOps way.
The group’s internal systems are as diverse as the teams that operate them. Each team has autonomy to choose their own tech stack, and yet, teams share best practices with each other. Systems see a wide range of loads according to season, and type of service. Some services have 300 operations per second (OPS), while others have 1,500 OPS, and during peak times like Black Friday, this number can shoot up to extremely high volume like 2 to 3,000 OPS.
Overcoming deployment downtime and challenges
The biggest issue MediaMarktSaturn were facing was the downtime of their platform when manually deploying updates and new releases. The team were forced to put significant time into deployment planning that was only executable during off-peak hours.
Another issue was the lack of visibility into deployments, which increased the difficulty of recovery from failures. The fear of new deployments and potential issues led to stagnant systems and slow improvements for the sake of stability.
Since the platform team were already using Flux to manage their systems the GitOps way, a natural evolution was to adopt Flagger for progressive delivery. Flagger is a GitOps-based tool that enables progressive delivery of applications to manage canary releases, blue-green, A/B testing and other advanced deployments with service meshes for traffic shifting.
'Adding Flagger to our stack was a really simple task since we were already using Helm charts.' - Bernd Stübinger, MediaMarktSaturn
Read the full case study to discover how this retail giant improved their deployment process using their existing pipeline, to achieve greater control and stability of their deployments with minimal downtime.
'With Flagger, we merge a pull request to deploy a new version, and basically forget about it because we feel so safe and sure about it not breaking anything in production.' - Bernd Stübinger, MediaMarktSaturn