Impossible Software based in Hamburg, Germany, provides web-based video-rendering services and helps its customers create personalized online videos. These can include, for example, ads displaying products tailored to the viewer or explanatory videos that help consumers understand the specifics of their utility bills. Impossible Software offers tools and services so its customers can build templates, and then provides the video-rendering infrastructure to deliver thousands of videos per hour on demand—each one unique to the viewer. The company was founded in 2010 and, after a couple of years of development, went live with its product in 2012. It now serves more than 1,000 customers across the globe, from Fortune 500 companies to startups.
There are two crucial components to Impossible Software’s infrastructure. First are the servers that power its web-based template creation tools, and second are the servers that handle the video rendering. CEO and Cofounder Claus Zimmerman explains, “We have a couple of unique requirements. For the video creation part, we deliver an interface based on Adobe After Effects but delivered via a web interface. This requires very low latency between the server and the client. Once the template is created, it’s pushed to our render environment where the video is created. There the main thing is scalability. If videos are part of an email campaign, for example, and thousands of people click on a link to request their personalized video, we have to be able to render thousands of videos on the spot.”
Impossible Software had been using a colocation provider in Germany, but there was no on-demand scalability, so it had to maintain a fleet of servers that spent much of their time idle. Additionally, as the company expanded internationally, it needed international hosts for its video creation servers, but it didn’t want to work with a different provider in each region.
Zimmerman and his team had been using Amazon Web Services (AWS), including Amazon Simple Notification Service (Amazon SNS) and Amazon Simple Queue Service (Amazon SQS) for small parts of their rendering infrastructure. “We started with Amazon SNS and SQS, and then gradually moved applications over to AWS. After a certain time, it made sense to go all-in with AWS, because we had so much running on there that it was easier from a security and manageability point of view,” says Zimmerman.
The CEO adds that the company looked at other providers, but only AWS had the global presence and breadth of services that Impossible Software needed to keep latencies low.
At the heart of Impossible Software’s system, render requests are analyzed and routed to a server running on Amazon Elastic Compute Cloud (Amazon EC2). There the video is rendered in real time and returned to the user or uploaded to Amazon Simple Storage Service (Amazon S3), YouTube, Facebook, or other destinations.
Amazon DynamoDB is used for fast lookups. “We use it in multi-regional projects to see if a video is in Europe or Australia, for example, where a relational database is overkill or difficult to scale,” says Zimmerman. The company also saves money by running loads on Amazon EC2 Spot instances. “We use business logic to maintain a Spot fleet and handle situations when Spot instances aren’t available.”
Zimmerman has also found AWS Business Support invaluable in handling issues. “It’s reassuring for our Fortune 500 customers that we have a direct communication line for emergencies. We also use some AWS features in an unusual way, so we like to have a helping hand available.”
Impossible Software has seen immediate improvements to its infrastructure’s elasticity since moving to AWS. Zimmerman says, “Our load patterns vary greatly, sometimes increasing by 20 times within an hour. Using AWS, the system scales to the exact number of servers required for a given load. We estimate the cost savings with AWS to be about 40 percent to 50 percent. There’s also the added benefit that we never run out of capacity when traffic increases to the extreme, like during the holiday season with peaks up to several hundred videos rendered per second.”
As the company has expanded geographically, it has taken advantage of AWS regions to keep latencies low and maintain a good customer experience. “It’s an advantage for our infrastructure to be located near our customers and their users,” says Zimmerman. “For real-time video streaming, latencies over 100 milliseconds are bad, and the regions available to us in AWS help us stay below that.” Impossible Software has also added a feature that its customers can use to specify how many servers should render a single video in parallel. “Previously, because of limited capacity, there was a hard cap on this number. Now customers can achieve speeds that are up to 10 times faster.”
Zimmerman is also confident in the security that AWS provides. He says, “Security is a major concern for our finance and insurance customers. Two or three years ago, running in the cloud would have raised some eyebrows, but, now, because we can provide them with features like dedicated instances and separated infrastructure, the conversation has moved on. Now I’d say it’s more helpful to be on AWS.”
To learn more about how AWS can help run your applications in the cloud, visit our application hosting details page: https://aws.amazon.com/application-hosting/.