About Ex Machina
Ex Machina was founded in Amsterdam in 2001 and originally developed multiplayer games for web and mobile. The company was a pioneer in real-time mobile gaming and had been promoting the idea of second-screen gaming for several years before developing its first app for a TV-based property where hundreds of thousands of users could play simultaneously. By 2010 this led to games that could be played live along with TV broadcasts. This second-screen product—PlayToTV—has since handled millions of second-screen sessions in Europe, the US, Latin America, Asia, and Australia. CEO and cofounder Jeroen Elfferich says, “We help our customers engage audiences that are traditionally passive consumers. By using game mechanics and letting them influence what happens on TV, we hope to make them interact with TV and be more social.”
Ex Machina has one obvious challenge: Its infrastructure has to handle extraordinary spikes in traffic that coincide with media broadcasts as hundreds of thousands of players open their apps and interact. Previously—before moving to second screen—it ran an in-house data center, but with the move to second screen it found that having an always-on infrastructure to support so many simultaneous users was not cost-efficient. Moving to the cloud with its scalable elastic architectures seemed like the obvious choice, and Amazon Web Services (AWS) fit the bill. CTO Remon van Vliet says, “At that time AWS was by far the most mature and most reliable cloud brand. We were fairly early adopters and never really looked back. It was the perfect fit.” Ex Machina also needed a highly available and reliable service. “If something fails, then that is very visible on social media,” says Remon Van Vliet. “One of our challenges is to make sure the platform works all the time every time so there are zero failures during shows. A large part of this is solved by AWS so we just concentrate on our parts of the infrastructure. That’s the value of AWS to us.”
Why Amazon Web Services
Ex Machina is now all-in on AWS, hosting all its services in the cloud. The main services it uses are Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3). Remon van Vliet says, “EC2 is the bread and butter of our architecture and most operational toolsets run on it. We’ve invested a lot in making sure the infrastructure scales up and down exactly when we need it.” Ex Machina also makes extensive use of Amazon Simple Notification Service (Amazon SNS) to send individual push notifications to mobile users—to notify them that a broadcast is about to begin, for example. It also uses Amazon Simple Queue Service (Amazon SQS), making it easy and cost-effective to decouple the components of a cloud application. To deliver high-bandwidth content to users around the globe, and in time-critical situations, it uses the Amazon CloudFront content delivery network.
Moving to AWS was a smooth process for Ex Machina, taking just one week. The company also took the opportunity to reengineer some of its architecture at the same time. “We always had the intention to have scalable architecture, but we had a lot of bottlenecks or architectural flaws,” says van Vliet. “When we moved to AWS we had to consider redundancy and reliability so we re-architectured much of our gaming technology into a more robust and cloud-capable system. Now there are no single points of failure, and we can survive instance failures and reboots.”
Today Ex Machina handles the traffic for second-screen games for between 5 and 10 primetime shows and between 10 and 20 smaller shows each week. Within a minute the traffic can grow from almost no users to hundreds of thousands for the larger shows. Its infrastructure can scale up on demand to meet this spike without Ex Machina having to own, manage, and pay for a fixed infrastructure to handle it.
The cost of a scalable infrastructure is also a big win for Ex Machina. “We only need our infrastructure at its maximum size for a couple of hours per week,” says Elfferich. “This means a cost reduction of 90 percent or more. Today not one of our customers would ever ask us to propose an alternative approach on a fixed infrastructure.” Remon van Vliet adds, “With a fixed infrastructure, costs would be an order of magnitude higher.”
Having the backing of AWS also makes it easy for Ex Machina to do business. “When we draw up legal agreements with partners, the fact we can mention AWS is really helpful,” says Elfferich. “It makes a great impression with CIOs and CTOs.” “It also eases conversations about compliance and security because AWS is a very reliable brand in that space,” adds van Vliet. “We’re a relatively small company—we like to focus on the things we’re good at—and hosting and CDNs aren’t part of that, so we happily rely on AWS.”
Once Ex Machina establishes a platform on AWS, replicating success is easy—both at home and abroad. Elfferich says, “It’s kind of ‘build once, run anywhere’ because AWS is consistent globally. In some markets second screen might be new, but we can offer the service without having to worry about setting up a local infrastructure or reengineering parts for a different environment.”
Finally, a crucial part of delivering any real-time interactive experience is low latency. Remon van Vliet explains, “We need a snappy response around the globe. With Amazon CloudFront and having our EC2 instances located locally, latency is never an issue for us. If we hosted our own platforms in the EU—or even in the US as well—we would still have lots of markets where latency would be 200ms or more. This can result in a noticeable reduction in quality of service.”
“We only need our infrastructure at its maximum size for a couple of hours per week. This means a cost reduction of 90 percent or more. Today not one of our customers would ever ask us to propose an alternative approach on a fixed infrastructure.”
Jeroen Elfferich, CEO and cofounder