The mobile app developed for the Eurovision Song Contest to offer viewers singer biographies, real-time updates, contest voting and results, was built on Google’s cloud platform Google Compute Engine (GCE).
Using the infrastructure as a service (IaaS) platform, cloud management service provider Scarl and mobile application company Grandcentrix delivered 50,000 requests per second, with 99% of the requests completed within 35 milliseconds at the app server layer, for the Eurovision finals on Saturday 18 May.
Scarl’s solutions engineer Thomas Orozco wrote on Google’s cloud blog that the mobile application was built to allow users to get the songs of all Eurovision artists, follow the voting results in real-time and even follow official Twitter streams of participating countries.
Building an infrastructure for unknown capacity
One of the challenges for the service providers was to plan for the capacity without knowing the traffic. The Eurovision Song Contest is the one of the most watched non-sporting TV events in the world, with an estimated 125 million live viewers every year.
“Initially, Eurovision didn’t know how much traffic its companion app would receive,” Orozco wrote in his blog.
Germany-based Grandcentrix needed a highly scalable and flexible infrastructure to serve user requests.
“Without knowing expected traffic levels, the objective was to take the back-end service to a point where it could scale horizontally - that is, where adding twice the capacity would result in twice the throughput,” Orozco said.
During the first Eurovision semi-final voting phase on Tuesday 14 May, traffic went up by a factor of five and Scalr and Grandcentrix spun up extra capacity in few minutes to handle the traffic it was receiving.
Anticipating equally high traffic, the cloud service providers used Google Compute Engine to double the capacity just before the voting began. It kept those instances up for 30 minutes, and shut them down as soon as the voting phase ended.
How a flexible cloud infrastructure helped
The traffic was higher than expected when voting started, but significantly lower than expected during the results phase, according to Scalr. But GCE's flexibility and pricing based on usage meant that Grandcentrix could shut down a large part of the cluster to save on costs.
Grandcentrix saved approximately 50% of what it would have cost on other providers, Orozco added.
The companies ran several components on Google’s IaaS platform during the show. These included MySQL as a datastore for relationally heavy queries; Redis as a datastore for most queries; and Apache running the application’s PHP code.
Traditionally, Grandcentrix bases its development environments on Amazon’s EC2 platform, but for the Eurovision Song Contest, it used Google and came up with a “fairly complex infrastructure set-up comprising load balancers, advanced caching and distributed in-memory value stores,” according to its CTO Ralf Rottmann.
Google Compute Engine was launched in 2012 but was made generally available to any developer or business only last week after an announcement at the web giant's I/O conference. But GCE has been available to selected companies such as Grandcentrix for beta testing and use since last year.
The platform enables enterprise users to run their large-scale computing workloads on Linux virtual machines hosted on Google's infrastructure.
“In the end, Google cloud platform provided the technology, pricing, and robustness that Grandcentrix and Scalr needed to deliver a high-performance solution for Eurovision,” Orozco said.