The Case For Azure

Catalysis designed and built technical infrastructure to support a digital product awareness contest. The solution allowed users to register via Facebook and Windows Live and upload large, user-generated content files that would be screened for viruses and converted to efficiently streaming video. The final server environment was a hybrid of both cloud (Windows Azure) and physical machines.

BACKGROUND

In early 2011, Catalysis was engaged to design and build the technical infrastructure to support a client’s digital product awareness campaign. The solution needed to allow users to register via Facebook and Windows Live and upload large, user-generated content files that would be screened for viruses and converted to efficiently streaming media files. The entire campaign needed full reporting across all users, all content, and multiple domains. To complicate matters, the campaign needed to be live less than 30 days from kickoff because it was a critical component of the client’s previously committed advertising budget.

Results at a Glance

TECHNICAL NEEDS

The enterprise consumer class technical solution supporting this marketing campaign had to:

  • Allow customers, for voting/commenting purposes, to upload large user-generated graphic files to the site as part of the contest
  • Screen the files for viruses and convert them on the fly to efficiently streaming video, and automatically notify the contestants when their files were ready for viewing and voting
  • Allow site visitors to login via Facebook and Windows Live to submit, search, vote, and comment on the videos
  • Dynamically display current voting and comments on a per file basis, responding to at least 10,000 customers per hour for four weeks with a maximum response time of less than two seconds per request
  • Collect data with regard to customers’ actions on the site
  • Have 99.9% uptime, given that consumers could be visiting at any time.

BUSINESS NEEDS

To meet the client’s business requirements, the solution also had to:

  • Launch in just under three weeks from project kickoff
  • Maintain a cost-effective budget for implementation and web hosting that could be easily and quickly set up, as well as torn down
  • Support a relatively short campaign of six weeks, which meant that provisioned hardware capacity would be temporary
  • Respect security, data privacy, and data handling policies
  • Moderate posts to only allow suitable content to be displayed
  • Retain all original, converted, and blacklisted files for legal and COPPA purposes.

BLOCKAGES AND SOLUTIONS

While the initial requirements seemed relatively well-defined, several interesting roadblocks presented themselves.

Unpredictable Contest Traffic

The Problem:

Significant application, file, and media servers powerful enough to handle the ambiguous but likely heavy traffic expected from the contest site were needed for a short period of time. Given that the traffic spikes driven by the contest demand generation (such as email notices and banner advertisements) were undefined and therefore unpredictable, it became virtually impossible for Catalysis to estimate the number of servers needed (much less the type of server), the appropriate amount of RAM, disk space, network bandwidth, or processing power. A cloud solution seemed like the ideal solution and our research pointed to a variety of different cloud solutions that allowed for media streaming (including Amazon Web Services, Vimeo, and YouTube) and virtual server farms like Rackspace. However, the latency caused by joining these disparate systems together proved troublesome for both site visitor wait times and unnecessary back-end development integration complexity.

The Solution:

Windows Azure had the capability of hosting application logic for file conversion and file storage, as well as media serving, all within a single environment and in a superbly scalable manner. No matter how large or how small the traffic might be, Azure was able to adjust accordingly. From a business perspective, the cost of hosting increased or decreased relative to the actual traffic, as well. Best of all, the set-up was expeditious and straight-forward given the 24/7 support team. This reduced the total number of systems necessary for development and ongoing quality assurance monitoring.

Collecting, Using and Securing Private Customer Data on the Web

The Problem:

With a customer registering via Facebook or Windows Live, and their private contact data being captured by Catalysis for the campaign, a secure method of transferring, storing, and accessing this information was necessary. Windows Azure was not able to handle private customer data in a secure fashion

The Solution:

The implemented data store was split into two parts. The first part, hosted on the Catalysis secure infrastructure, captured and hosted the lighter data load of the customer PII. This data was protected and available with minimal latency to support the visitor browser requests on the client’s website. The second part, hosted on Azure, was dedicated to the larger anonymized data including user actions such as file uploading and commenting. The two data stores were able to be joined using unique keys to identify individual users upon registration. By being able to reference the Azure-hosted content links predictably via simple content-specific URLs and allow the Windows Azure infrastructure to manage the load balancing automatically, the information could be quickly delivered to the site visitors directly from Catalysis with confidence that the content would be ready and available for viewing at the Azure locations. This saved milliseconds and bandwidth resulting in a quick and reliable user experience.

Anti-Virus and SQL Injection

The Problem:

Since this contest based on user-generated content was for a major global corporation with significant prizes involved, there was a major security concern in preventing files such as viruses and trojans from infecting the server environment. While limiting the file extensions allowed for upload, provided a minimal threshold, the actual files could contain malicious, executable code which could infect the hosted environment.

The Solution:

On the server-side, Windows Azure came natively with a quarantine area whenever uploads are allowed. In this area, files would be received and then scanned for viruses. Once Azure had deemed the files secure, the remaining business logic would be allowed to continue. Otherwise, the file would be deleted from within the quarantine area.

THE FINAL SOLUTION

The user arrived at the contest site (hosted on the client’s web domain) and was either authenticated (if they previously registered) or able to register/login via a hosted frame on Catalysis secure infrastructure, where their PII was stored. They could then upload their content to the Azure infrastructure where it was scanned and processed via the Azure application servers.

General visitors searching for particular content utilized an extremely efficient web service hosted on the Catalysis infrastructure which provided the direct Windows Azure links to the actual content, which was compiled in the page on the client site for the visitor.

The user experience was seamless, and from their perspective the page quickly and securely displayed the videos, the comments, the votes, and their login information without their ever having to leave the contest site.

The client had a secure, high performance, cost-efficient burstable multimedia site in 21 days with no downtime, and fully integrated reporting between Windows Azure, Catalysis, Facebook, and Windows Live.

ABOUT CATALYSIS

For nearly 20 years, Catalysis has specialized in the digital integration of award-winning marketing campaigns that drive connected, measurable results. Our clients include Microsoft, Moss Adams, Banner Mattress, Thunder Valley Casino, BabyLegs, and WineBid.

For more information, contact info@catalysis.com or visit our website at www.catalysis.com.

The information contained in this publication is general and is for informational purposes only. Catalysis makes no warranties, express or implied, in this material.