Scalable Real-time Voting App

API • Widget Toolkit • Ux • Ui • Big Data • Analytics

The Challenge

There can be very few work experiences more demanding than managing the live voting process on a global hit show such as Idols, The Voice or Big Brother. Your systems (and your nerves) are tested under the bright glare of millions of passionate fans who are each deeply invested in the result. The fans need to trust that their vote has been counted and that the process was ‘free and fair’.

There is no room for error, and it requires robust methods of managing this process.

Taking On The Job

Our partnership began with a new centralised content management system built in conjunction with M-Net’s interactive content producer, Don’t Look Down. Instead of building just a number of standalone sites the intention was to find a means of simplifying the management of M-Net’s channel destinations as well as reduce maintenance and training overheads for the properties. Realising that the security and resilience of the voting systems were going to be of paramount importance, Swipe and Don’t Look Down embarked on a journey to build a custom, world-class voting system that could handle massive scale at any moment.

Not long after Swipe took over the voting portfolio for M-Net, the television producers noticed that interest and traffic were significantly higher if the results were announced on the night of the broadcast. The process that once took three days was compressed into three hours, and the pressure increased exponentially!

The volume of raw data which is received during a vote is staggering. For example, the 14th season of South African Idols received over 142 million votes during the course of the season, including 32.5 million votes in the final week alone.

Handling that kind of data in such a short space of time is the ultimate stress test for any system. In order to deliver 100% reliability, Swipe concluded that it had to build the entire voting system from scratch in order to understand every single component of the system.

The key to success is rigorous testing. There can be no surprises. We have learned (through some nail-biting experiences) that you need to know the limits of your system, and you need to test them exhaustively. We never introduce new features that are not part of the testing process. If we introduce something new, the rigorous testing process starts all over again. Then once the system is in place, we lock it down and quarantine it until it’s time to use it again.

There are three core processes at the heart of the M-Net voting system:

Build on Solid Foundations

The formidable AWS platform serves as a foundation for all our voting and monitoring operations. The base needs the ability to scale horizontally and vertically depending on the situation. All of our EC2 servers are placed in an auto-scaling group and more machines can be added quickly. Using Amazon RDS makes it easy to set up, operate, and scale a relational database in the cloud, and our platform is closely monitored by CloudWatch. During the voting process, staff are always on-site and monitoring the situation closely as it plays out.

Manage the Stack

Occasionally the need will arise to build, change and version infrastructure. It is very important that you have a Multi-AZ architecture so that if your primary zone fails, you can seamlessly failover to a different zone without any interruptions to your service availability.

Visibility & Monitoring

It's vital that you know how your stack is performing in real-time so that you can scale appropriately. Alerts that inform you of abnormal activity, a customized dashboard and ongoing notifications apply a layer of safety and security which are vital in a real-time situation.

Back-end code is monitored via New Relic APM which traces end-to-end transactions, provides code-level visibility, flags key transactions and delivers customizable service maps.

With so much activity taking place on browser-side applications, it's important to monitor application issues, visualize page loads and external APIs, and track JavaScript errors.

The Result

Swipe has developed in partnership with Don’t Look Down a formidable system that can handle enormous volumes of traffic within an extremely short amount of time. The way that it’s been designed means that it can be applied to any other voting situation via embed codes that can be deployed to any web page.

We have learned how to manage raw data, how to work closely with auditors to produce verified results and how to function under extreme pressure. Through our successful ongoing partnership with Don’t Look Down, Swipe has become a global leader in the art of managing multi-platform voting systems.

Key Takeaways:

  • Deliver under pressure
  • Scalability done right
  • Manage sophisticated tech operations across multiple platforms
  • Handle large volumes of raw data
  • Rigorous testing is the key to success

0

^ Votes Processed

0

^ Unique Users

0

%

^ Uptime

0

^ Max Votes per Second







View Next Project