If you’re one of the world’s 3.5 billion football fans (or soccer fan in America), chances are good you’ve already heard of Onefootball, the media platform that now reaches more than 10 million fans worldwide each month. Fans of FC Barcelona, Paris Saint-Germain, Bayern Munich, Juventus, LA Galaxy, or even a team from the second Bundesliga rely on the Onefootball platform—including its award-winning native iPhone and Android apps—to get their daily dose of news, scores, reports, and videos wherever they are.
There’s no doubt that the company and its employees are passionate about football—its headquarters boasts artificial turf, stadium-like seating for meetings, foosball tables, and goal posts. But the company is also passionate about the technology that powers the Onefootball user experience—it must be stable, reliable, and perform well at all times.
If a fan has to wait too long to see a video with the best goals of the day, it’s not a good experience. ‘The stability of the systems serving the user experience is core to staying competitive’, says Holger Hammel, Onefootball’s vice president of engineering. ‘If we’re not able to provide fast, reliable service, that can be a showstopper.’
Getting a red card for scalability
Onefootball has been growing its user base rapidly, but as more fans flocked to the platform, the dramatic growth began causing scalability and stability issues, especially during major football events where usage would spike as much as fivefold. These issues frequently impacted the user experience, which included not only fans, but Onefootball’s newsroom team as well, with journalists unable to edit articles at times.
‘The company was so successful in gaining more users that the system behind it couldn’t cope anymore’, says Hammel. ‘It was clear that we needed to address scalability.’
Onefootball realised that it had two main issues to resolve if it wanted to keep fans happy while continuing to grow. The first issue was improving scalability, reliability, and efficiency of its workloads on Amazon Web Services (AWS). The answer was to migrate to Kubernetes to automate scaling and management of containerised applications and microservices. Moving to Kubernetes would unify Onefootball’s stack, streamline provisioning and deployments, and enable rapid scaling to support spikes in application usage.
The second issue to tackle was visibility. ‘We had no application monitoring in the cloud’, says Hammel. ‘When instabilities in backend services occurred, it took too long to find the root cause.’ He was also concerned that the lack of visibility was resulting in over-scaling of the AWS environment to compensate for performance issues, driving costs unnecessarily higher.
According to Tiago Queiroz, software architect at Onefootball, ‘The only information we had were metrics in AWS that showed things like CPU usage, number of errors, and slow queries. But we couldn’t see what was going on in the application. Was it running slowly because of processing power? Was it because of the database? We didn’t have the information we needed to address performance issues.’
Creating a better playing field
Although migrating to Kubernetes helped solve the scalability, reliability, and efficiency issues Onefootball was experiencing with its platform, it also created new complexity by adding a layer of abstraction between the applications and the underlying infrastructure. The new abstraction layer makes it more difficult to know what’s happening within the environment and inside applications.
That’s why Onefootball turned to New Relic to monitor all of its applications as well as the Kubernetes environment. Onefootball uses New Relic to get deep visibility into the Kubernetes environment and connect what’s happening inside Kubernetes clusters to application performance and user experience.
‘When you move to Kubernetes, the biggest challenge is understanding what’s going on at an infrastructure level’, says Queiroz. ‘New Relic gives us that insight.’ Rodrigo Vieira Del Monte, DevOps engineer at Onefootball, agrees: ‘Today we run everything on Kubernetes, and with New Relic we get insights about the applications and the environment in minutes’, he says.
By delivering visibility across Onefootball’s stack, Hammel believes that New Relic improves alignment across the various engineering teams, making it easier to share knowledge and collaborate in a DevOps culture.
‘Two important aspects of DevOps are end-to-end ownership and visibility’, says Hammel. ‘This is where New Relic monitoring really helps, because as a developer, you can see what you deployed and the positive or negative impact of the deployment. That gives you the feedback you need to help you take ownership and improve software quality.’