MyCujoo: Going for goal with Google Cloud
About MyCujoo
MyCujoo offers groundbreaking football streaming technology at no cost to the most underdeveloped football sectors: amateur and recreational competitions, women's football, youth, futsal, and beach soccer. By empowering clubs and players to produce and share their content, MyCujoo aims to enable them to connect with and build their fan communities.
Tell us your challenge. We're here to help.
Contact usMyCujoo built a scalable, high-performance video platform for a global community of football fans, players, and clubs with Google Kubernetes Engine.
Google Cloud results
- Reduces live stream delays from 45 seconds to 15 seconds with a custom-built video platform on Google Kubernetes Engine
- Automates data collection in real time with open source tools and Google BigQuery for data-driven decision making
- Improves agility with cross-functional product teams reducing interdependencies and drastically reducing deployment times
Cuts deployment time from 36 days to just a few hours
MyCujoo is a business built by football fans, for football fans. In 2009, Pedro Presa, a huge fan of Portugal's Boavista FC, was living abroad and had difficulty trying to watch his team, who at the time had slipped into a lower division so were no longer on TV. He searched for a website, app, or any kind of platform to watch his team play but he found nothing. So he and his brother, João, built their own.
Launched in 2015, MyCujoo is named after an ancient Chinese game, first mentioned in the third century AD and thought to be the earliest form of association football. MyCujoo provides a streaming video and community platform for football competitions, clubs, players, and fans around the world at all levels of the game. "We believe that the only thing worse than watching your team lose, is not being able to watch them at all," says João Presa, Co-founder and COO at MyCujoo. "It's only a very lucky few elite clubs and players who make it to the top and get mainstream TV broadcast coverage, so we're empowering competitions, clubs, and players to share content and matches with their fans, wherever they are in the world."
"We needed a new architecture to solve the problems of scaling up at speed, and also to improve our speed of delivery. We were looking for a microservices-oriented solution that we could deploy as easily and simply as possible. For us, the answer is Google Cloud."
—Patrick Plaatje, Director of Technology, MyCujooToday, MyCujoo streams content from 120 countries to an immediately addressable community of more than 170 million players and 400 million fans. To support such an explosion in popularity, MyCujoo decided to update its technology infrastructure from a monolithic architecture, to a microservices-based model that could support live video streaming at scale. To do that, the company turned to Google Cloud.
"We needed a new architecture to solve the problems of scaling up at speed, and also to improve our speed of delivery," says Patrick Plaatje, Director of Technology at MyCujoo. "We were looking for a microservices-oriented solution that we could deploy as easily and simply as possible. For us, the answer is Google Cloud."
Microservices for maximum impact
Soon after it launched, MyCujoo adopted a cloud-based infrastructure, running its video and community platform on a monolithic codebase. As a result, the company organized its teams by function. One team, for example, worked on the backend, another on the frontend, and another on UI. This had the effect of creating blockages and dependencies between teams, and as the company scaled, delays became more frequent. By the end of 2017, it was clear that the company's existing architecture wasn't keeping up with demand, and deployments were taking more than a month in some cases. Something had to change.
MyCujoo decided to fundamentally redesign the way it handled its technology. Deciding early on that a microservices-oriented architecture would be more able to handle scaling at speed, the company chose to use Kubernetes, an open source container orchestration system developed by Google. After a successful proof of concept with a few services, MyCujoo chose Google Cloud to host the Kubernetes clusters because of its simplicity, flexibility, and its wide offering of data tools. "We were looking at other container services but we had to do a lot of networking to get them set up and they didn't have the flexibility we needed," says Patrick. "With Google Cloud, we can easily adapt the technology to how we want to work."
The decentralized nature of Kubernetes allowed MyCujoo to completely reorganize its teams, which was a key pillar of the redesign. Teams are now centered around products, and cross-functional, with experts from each part of the product life cycle contributing. For the first time, each team is able to take an idea from inception to production, without waiting on anyone else for bug fixes, updates or maintenance.
"Google Kubernetes Engine is definitely the core of our infrastructure. It provides us with all the power, flexibility, scalability, and stability we need. It inspires great confidence amongst our engineers."
—Patrick Plaatje, Director of Technology, MyCujooAnother reason for choosing Google Cloud is its ability to ingest, collate, and analyze large volumes of data quickly and easily. Until that point, MyCujoo had barely scraped the surface of the data it collected with Google Analytics. The new infrastructure gives the company the chance to handle its data much more effectively, paving the way for data-driven decision making and strategy.
With the new teams in place, MyCujoo began transferring microservices to its new infrastructure little by little, minimizing risk without compromising its video service. The architecture was built around Google Kubernetes Engine (GKE), which manages MyCujoo's microservices with ease. By automating much of the overhead, GKE allows engineers and developers to focus on building better and newer products.
"Google Kubernetes Engine is definitely the core of our infrastructure," says Patrick. "It provides us with all the power, flexibility, scalability, and stability we need. It inspires great confidence amongst our engineers."
As it built up its platform with GKE, MyCujoo took the opportunity to go beyond microservices and produce an event-driven architecture. "We had more than 20 microservices in the system, some of which had to talk to each other, which would have required lots of overhead to deal with performance and availability issues," says Patrick. "We decided instead to have each microservice generate its own data on an event bus." A high-powered messaging system, every time a task is carried out a datapoint is created on the event bus, which can in turn trigger more tasks automatically.
MyCujoo set its GKE instances to work with open source tools Kafka and Avro to create its event bus, which helps standardize event data for easy loading into BigQuery. As well as using events data to automate its operations, the company started using both BigQuery and Looker Studio to gain fresh insight from its new stores of data. Meanwhile, Cloud Storage proved to be a stable, consistent storage option, capable of handling higher throughput with lower lag than the previous infrastructure.
Quality and quantity with Google Kubernetes Engine
Over the course of 2018, MyCujoo ported more of its infrastructure over to Google Cloud and saw its platform grow. For the first time, MyCujoo had the scalability, stability, and capability to host its own video streaming, instead of relying on a third party as it had done before. Combining its own expertise with the high performance global network offered by Google, MyCujoo has reduced the live stream video lag from 45 seconds to 15 seconds. "That's a massive improvement for our fans, and we couldn't have done it without Google Cloud," explains Patrick.
With BigQuery and Looker Studio, MyCujoo has transformed itself into a truly data-driven organization that can respond to its community's needs much more quickly than before. "Previously all our data was locked away in separate databases. We now have that data available in real-time for analysis," says Patrick. "Extract-transform-load procedures are a thing of the past."
"Google Cloud has given us the agility we need to outmaneuver our competition. We used to take up to 36 days to deploy, but now we can do everything in a matter of hours. For the first time, we can do multiple deployments within a day."
—Patrick Plaatje, Director of Technology, MyCujooThe reorganization of its IT staff into cross-functional product teams has profoundly affected the company. Freed from interdependencies and empowered to take responsibility for the entire product life cycle, MyCujoo's teams are now working at a much faster pace, improving the platform and adding new features.
"Google Cloud has given us the agility we need to outmaneuver our competition," says Patrick. "We used to take up to 36 days to deploy, but now we can do everything in a matter of hours. For the first time, we can do multiple deployments within a day."
As well as focusing on growth, MyCujoo is keen to explore the opportunities afforded by tools such as Google Cloud Vision API for distinguishing between different teams, or the difference between a player and an official on the pitch in videos. The Google Cloud AI platform could also help the company optimize core business operations, such as predicting audience numbers for certain matches based on historical data and pre-emptively scaling Kubernetes clusters.
For now, with most of its microservices migrated over to Google Cloud, MyCujoo is squarely focused on scaling fast and sustainably. The company is now in a position to target a much bigger audience than before. "We're going from around 11,000 streams last year to an estimated hundreds of thousands in a couple of years," says João. "We are aiming for massive growth, and Google Cloud is absolutely critical for that. This technology enables us to create a home for everyone who's passionate about football, no matter what the level or where they are in the world."
Tell us your challenge. We're here to help.
Contact usAbout MyCujoo
MyCujoo offers groundbreaking football streaming technology at no cost to the most underdeveloped football sectors: amateur and recreational competitions, women's football, youth, futsal, and beach soccer. By empowering clubs and players to produce and share their content, MyCujoo aims to enable them to connect with and build their fan communities.