AWS has grown up with us. We’ve used their services to scale from 7 million impressions per month to 70 million impressions per day while improving our agility, flexibility, and time to market.
Kevin Peterson Head of Technology

Pixels provides online advertising services to clients who target consumers across smartphones, tablets, desktop computers, and connected televisions. These services include serving ads targeted to specific audiences as well as measuring and analyzing the outcomes of ad campaigns. The privately owned company, created from the 2014 merger of three digital advertising businesses, is based in Hong Kong and has offices in Singapore and Malaysia.

Before September 2010, Pixels was serving up to 7 million advertising impressions per month for its customers. To deliver these impressions and measure advertising campaign performance, Pixels had collocated five servers in a company-owned Malaysian data center and leased 18 servers across two data centers in Hong Kong.

The Pixels IT team had to spend considerable time on administrative tasks such as managing processor and memory resources, tracking warranty information, replacing aging equipment, and ordering new hardware to support new clients and campaigns. In addition, the IT team had to estimate impressions and traffic for the month ahead and provision network bandwidth accordingly. If Pixels experienced an unexpected spike in demand, the team had to request additional bandwidth and risk being charged higher “on demand” rates.

The company’s infrastructure problems came to a head when faulty switches caused unacceptable latency between the web and database servers, requiring the IT team to spend 18 hours diagnosing the problem. “It caused our databases to ‘hang’ for up to a second when responding to queries,” says Kevin Peterson, head of technology for Pixels. “We lost close to two days of service before we were able to lock down a solution.”

Pixels decided to move its advertisement server and analytics infrastructure to Amazon Web Services (AWS) after AWS announced its Asia Pacific (Singapore) Region in April 2010. “Back then, AWS was the only serious player in the Asia-Pacific region. We were also pleased with the fact that AWS was building an entire suite of cloud services rather than simply offering a few virtual machines," says Peterson.

The IT team migrated the infrastructure to AWS in September 2010 in less than a week. The team copied the databases to a local environment, provisioned a range of Amazon Elastic Compute Cloud (Amazon EC2) instances, installed the required services, and completed configuration work to get its new infrastructure up and running. Previously, the Pixels advertisement serving and analytics platform was partially manual. Now, it is fully automated with AWS.

Pixels enters advertising campaign data into an in-house advertising management system. This data includes campaign management data and actual ad creatives. Once the advertisement is approved, the ad creative is automatically uploaded to Amazon Simple Storage Service (Amazon S3) to be stored securely and reliably in the cloud. The Amazon CloudFront content delivery network (CDN) then distributes the images to end users via up to 53 edge locations worldwide. The CDN ensures the ad images are served to users over local bandwidth, minimizing latency that could otherwise slow ad load times and compromise the user experience.

To manage the spikes in traffic that occur when a content partner experiences larger than normal traffic or has a piece of content go viral, Pixels operates Amazon EC2 instances as ad-serving nodes in an Auto Scaling group with Elastic Load Balancing employed to distribute traffic evenly. Auto Scaling enables Pixels to scale up the number of Amazon EC2 instances to support the increased demand, while Elastic Load Balancing allows Pixels to ensure that no single instance is overloaded and delivering degraded performance. Elastic Load Balancing further ensures that clients’ ads will continue to be served even if one or more EC2 instances fail.

Pixels stores business-critical campaign management and ad reporting data in primary and secondary MySQL databases running in Amazon Relational Database Service (Amazon RDS) instances. With this campaign data, Pixels can determine which ads to serve to customers based on various selection criteria, and it draws on the ad reporting data to provide detailed campaign reports to clients. By running these databases in different AWS Availability Zones, Pixels can ensure that the data is captured and always available even if one of the zones fails.

To analyze campaign details like viewer demographics and provide these reports to customers, Pixels uploads view and click-stream logs to Amazon S3, which triggers Amazon EC2 instances operating as worker nodes to consume and analyze the data contained in the log files. The processed data is then moved to an Amazon Redshift data warehouse for longer-term analysis.

According to Peterson, the reliability and performance of the AWS infrastructure coupled with the skills of Pixels’ internal IT team have minimized the need to request support from AWS. “We only had to use AWS Support once,” says Peterson. “All of our engineers completed AWS training, which brought them up to speed with the cloud environment quickly and effectively.”

The figure below demonstrates Pixels' environment on AWS.

pixels-arch-diag

Figure 1: Pixels architecture on AWS

AWS tools and technologies have helped Pixels scale easily, bring new products and services to market faster, reduce costs, and improve the availability of its offerings. The company is now serving up to 70 million ad impressions per day and provides a comprehensive range of metrics-based services to its clients. These include the ability for clients to pinpoint every site their ad has been served on, impressions and click-through rates, and the number of unique users a campaign has reached. For mobile campaigns, clients are able to understand how many users have interacted with their ads and for how long. For video campaigns, Pixels provides data that enables clients to understand how long viewers have watched their ads. Internally, Pixels has a detailed overview of the network inventory, including which channels are currently in demand, which channels have excess inventory, and where traffic is coming from—all broken down by various criteria including device type and country.

These services represent just part of the company’s analytics capabilities. The IT team performs extensive data matching to identify fraudulent or bot traffic so it can minimize the disruption this causes to customers’ advertising campaigns. “We collect line-by-line data points for all the ads we serve and use the Redshift data warehouse to generate a daily report for us,” says Peterson. “This analysis and report tells us, among other things, the top 10 IP addresses and top 10 user identities that may be fraudulent.”

Pixels’ seven-member technology team can now focus on developing new products instead of devoting valuable resources to managing data center hardware. “If we were running a physical infrastructure, I would need at least another three administrators to administer the hardware,” says Peterson. “This would equate to an additional cost of HKD24,000 (approximately US$3,000) per person per month.”

Migrating its ad server and analytics infrastructure to AWS has also enabled Pixels to reduce its time to market for new products and services. To deliver its analytics platform on a physical infrastructure, Pixels would need to calculate the storage, compute, and database resources required to process anticipated data and traffic volumes. They would also need to set up the systems and processes for handling the large volume of data being stored and analyzed. The process would take about three months, excluding hardware procurement, but Peterson says, “We were up and running with Amazon Redshift analytics in just one month.”

Pixels has also improved its availability to 99.8 percent and its system response times have decreased from 100 milliseconds to 40–60 milliseconds, depending on network performance.

“AWS has grown up with us,” Peterson says. “We’ve used its services to scale from 7 million impressions per month to 70 million impressions per day while improving our agility, flexibility, and time to market. AWS has also freed us from the tyranny of hardware—and that is one of the biggest benefits for us.”