100% Web-Based Media Buying and Planning.

BluHorn

How an AWS migration and optimization allows a media company to compete and thrive in a last-minute economy.

Everything works until it doesn't. When BluHorn fell victim to their self-designed monolithic architecture hosted with a very unfriendly provider, downtime became a real growing pain. Even worse they didn't know where the issues were originating from.

About BluHorn®

BluHorn® is a media buying solution that was created by media buyers, for media buyers. To easily organize, analyze and communicate media buys for broadcast TV, cable TV, radio, outdoor, print, and digital media.

The Background

BluHorn had a legacy product that was the reincarnation of previous client-server software, old architecture, and very old web technology. Furthermore, a small 2-person internal team was responsible for development, QA, and deployment, making it difficult for them to do any of those effectively.

The Challenges

Not only was BluHorn struggling with product quality and scale, but their roadmap, like many, is customer driven. With loyal customers requesting features and releases at will. Further delaying already hindered development sprints.

BluHorn’s web-based media buying platform had already been validated by their handful of loyal customers, they needed help delivering a product and architecture that could scale with their business ambition and didn’t require outside capital investment.

The Solution

We quickly identified that BluHorn didn’t really know what they didn’t know. Being self-contained inside a monolithic architecture meant it could be a database backup, web traffic, or all of a dozen other issues contributing to their slow performance. So, we began to break this down into microservices, where each element of functionality is a separate service. Because applications are easier to create and maintain when they’re split up into smaller, easily developable functionality modules. Moreover, it allowed us visibility into performance, in general, if a particular microservice uses too much memory or is overloaded, it will only affect the functionality of that particular service.

The Technology

Once the AWS environment was configured we built BluHorn on a custom PHP MVC framework, which powers the backend and stores all of the data on a MySQL Aurora database. The frontend has JQUERY guts which allow us to create a user-friendly Google Sheets like experience for users to buy and analyze their orders.

The entire stack is hosted on Amazon AWS using:

  • EC2
  • RDS – Aurora
  • S3
  • CloudFront
  • SNS
  • Kinesis
  • SES
The AWS Technology
  • AWS Cloud Formation to write Infrastructure as Code in order to have the same infrastructure across various environments — helping to maintain version control.
  • MFA (Multi-Factor Authentication) for root accounts.
  • AWS CloudTrail to record AWS API calls and to provide detailed logs for auditing.
  • AWS CloudWatch to monitor and alert on the operational health of the infrastructure.
  • AWS Trusted Advisor to monitor the infrastructure resource usage and perform regular scans.
  • AWS CodePipeline to automate delivery
  • Custom VPCs (Virtual Private Cloud) to create a private, secure and scalable environment in which topology can be defined.
  • NACL (Network Access Control List) and SG (Security Group) for multi-layered security.
  • AWS CodeBuild to run continuous integrations on production workloads.
  • AWS Config to provide a detailed inventory of resources with configuration.
  • AWS CodeDeploy’s ‘one at a time’ deployment strategy to push new code on application servers.
  • Aurora RDS to leverage features like zero downtime with multi-read capability, sx faster query response time, compared to originally used MariaDB.
  • Amazon EC2 (Elastic Compute Cloud) Auto Scaling on the basis of RAM utilization.
  • ELB (Elastic Load Balancing) to load balance traffic across multiple web servers.
  • Amazon S3 (Simple Storage Service) for static assets and centralized storage.
  • AWS CloudFormation to provision and configure resources.
  • Amazon Kinesis to collect and analyze the log streams on real-time posts.
  • Amazon Athena to query logs saved on S3.
  • Amazon OuickSight dashboards.
  • Amazon Route 53 to route the Internet traffic to the domain.
3rd Party Technology
  • Comscore to fetch ratings of program and stations.
  • Nielsen to fetch the ratings file and parse them in the background to assign latest ratings.
  • Email API of Mailgun to send out transactional emails.
  • Invoice API of QuickBooks to give the option to clients for generating invoices for their end users.
  • Recaptcha to secure the interactive forms on the website from spammers.
  • Stripe as the payment gateway.
  • New Relic for Application Performance Monitoring to get real-time insights on how the system is performing and alert the operations team of any issues.
  • FullStory to record and reproduce real user experiences of the application to help with support and debugging.
The Product Team Configuration

Our flexible Product Teams have been able to grow with BluHorn. Allowing us to bring in the best talent to tackle the specific initiatives in each and every Sprint. As well as having a myriad of team configurations we commonly deploy, we drew up a team composed of 2 developers, 1 QA lead, a DevOps architect, and an overall project manager.

The Impact

By leveraging an Agile team with deep knowledge of the AWS cloud environment, BluHorn and SourceFuse continue to push customer requested features in 2-week agile sprints. Shore up security and keep customer information private, protect from outside intrusion, and prevent the overutilization of resources by non-subscribers.

We were able to lower the carrying cost of the entire application 8%/monthly by analyzing and optimizing the code performance and database queries.

Reduced Update Rating from 40 seconds to 3 seconds. BluHorn’s Update Rating is a product feature that calculates an ad buys rating — the demographic, reach and performance. To properly run the algorithm we have to warehouse and interpret dozens of different datasets, some from comScore and Nielsen, to forecast and analyze performance. We were able to reduce the response time by 92%.

92%

Reduction In Response Time

173%

Reduced Update Rating

8%

TCO Reduction/Monthly

Client
BluHorn

Amazon Web Services Logo (AWS)

Amazon Web Services

AWS Kinesis Logo - A Data Streams application

AWS Kinesis

Amazon SNS (Simple Notification Service)

AWS SES (Simple Email Service)

Amazon S3 (Simple Storage Service)

AWS RDS (Relational Database Service‎)

AWS EC2 (Elastic Compute Cloud)

Amazon CloudFront

“What I really get with SourceFuse is the ability to scale. A large part of my business is being able to personalize and customize my product to the needs of an agency or business purchasing a substantial amount of media. Partnering with SourceFuse has not only allowed me to reduce the operating cost and increase product performance. But given me the ability to spin up additional server, compute, database, and most importantly additional development teams within days, and in some cases hours.”

Wes Benwick -- Vice-President & Software Architect

BluHorn Media Buying & Planning Software