Perform's products have a combined reach of 95 million monthly unique users; we operate over 250 sport web sites, stream over 25,000 live sport events per annum and produce and distribute over 500 video clips per day. We have around 500 staff based in 13 countries and recently completed a successful initial public offering on the London Stock Exchange.
Perform has many different technology teams, each dedicated to a particular product, subsidiary or function within the business. The Group Technology Department builds and manages the core technology assets that are used throughout the business and ensures that all our technology teams follow a coherent technology strategy that generates the maximum value from our content assets. It is managed by Howard Kitto, Group Chief Technology Officer, who is responsible for overseeing project delivery, enterprise architecture and IT infrastructure.
How have you incorporated Amazon Web Services as part of your architecture?
During 2010 Perform developed version 2.0 of our ePlayer product. ePlayer is a leading premium sport video on demand service. It provides global publishers with the ability to easily embed a sports video player within their websites (some screen shots are presented below). The volume of traffic is enormous, delivering over 500m video streams per month.
Perform's success lies in its ability to manage the complex rights agreements that are associated with premium sports content. Each piece of content on the ePlayer is only available on specific publisher sites, in specific territories, at specific times, in the correct format and with the correct advertising and branding. This means that a number of decisions have to be made for every end user in order to generate a playlist of videos that conforms to these restrictions. ePlayer traffic levels are "spikey" and combined with its phenomenal growth, we needed an architecture that could scale dynamically without us having to compromise the performance of our other services.
To meet these needs, Perform opted to deploy the dynamic playlist generation component of ePlayer on a number of Amazon EC2 server instances, enabling us to quickly adapt to changing traffic levels and to isolate ePlayer from the rest of our platform.
We use Ubuntu Server 10.04, Java 6, Tomcat 6, Ehcache, Spring 3, Net-Acuity and Nagios.
Why did you decide to use AWS?
AWS was easier to set up than similar services. It also has more features and is more cost effective.
Have you learned any valuable lessons during this development process that you'd like to pass on to other developers?
Here are a few lessons that can prove useful to others:
Can you share any metrics on your usage of AWS to date?
Initially, we were able to save money by trying out different scenarios and seeing how the application could scale. This would not have been possible to do without some investment in physical hardware.
Regarding man-hours, it was very simple to get started as we didn't need to worry about setting up firewalls, load balancing and network setup. It was all provided and available on demand.
Regarding time-to-market, we focused on staged delivery so that as soon as the code was ready, we would be able to put it live either on an existing instance or swap in a brand new one. This was helpful should a bug surface in a new release as we could simply revert to the previous instance.
The application initially went live on only two instances providing services to a handful of sites. As demand grew, we were able to add more instances as required whilst spending time on optimising the code. We are currently running on four instances and have improved the service to be able to keep up with current demand using only two instances. Should demand decrease or more optimisations improve the service further, we could consider running fewer instances and save money immediately.How has AWS helped your business?
ePlayer in Action
To learn more, visit http://www.performgroup.co.uk/ .
Added July 1, 2011