Search results for: Infrastructure

Moving Past Infrastructure Limitations

// 04.20.2016 // Infrastructure

Here at MediaMath, we’re quite fond of data. It would be surprising to hear someone say they’re not fond of data, of course, but we’ve spent the last 18 months proving to ourselves and our clients that we really mean it. Our company is built around driving concrete, measurable results, and our clients – both internal and external – have sophisticated analytics teams that want access to the data we generate for their own analysis, owned marketing, budgeting, and more. In this post we will describe the journey from data warehouse to data platform and the success of ditching our […]

Recapping AWS re:Invent—3 Things That Got Our Developers Excited

// 10.22.2015 // Infrastructure

There’s a reason Amazon Web Services (AWS) re:Invent has become the go-to conference for developers in the cloud computing industry– the product launches and releases announced set the tone for the way companies will grow and change over the coming year. The conference has seen enormous growth over it’s four-year history and, this year, more than 18,000 developers descended on Las Vegas to witness 21 product and feature launches and over 275 sessions and workshops. Here is what members of the MediaMath team had to say about what they found the most exciting at re:Invent: Event-driven Architecture “Enterprises with strong […]

Scaling Data Ingestion Systems: From Perl to Go Part 2

In part one of this post, I explored the scaling problems that we encountered when MediaMath’s user data delivery system, which was built initially in Perl without the headroom necessary to scale to our current size. In this post, I outline the way we used goroutines and channels (Go’s built-in concurrency primitives) and interfaces to simplify concurrency and parallelism and scale without complicating deployment. Concurrency in Go, or “Let’s just add more workers!” Tackling our concurrency issues proved to be the easiest part of this exercise, due to Go’s fantastic primitives and the fan-out and fan-in patterns. We can start with, as […]

Scaling Data Ingestion Systems: From Perl to Go Part 1

A consequence of MediaMath’s astronomical growth over the past few years is dealing with huge growth in service usage. Rapid growth sometimes means that systems are built quickly, without making hard plans for the future. Systems with headroom can now often become insufficient in as little as six months, and so technical debt becomes a tough challenge to address. We deal with the question, “Do we try to re-write this, or do we modify what we already have to scale with the load we expect to see?” Nowhere has this been clearer than in ingesting user data, which since 2011 […]

When it comes to programmatic buying, every [leap] second matters.

// 07.02.2015 // Infrastructure

On June 30 at 8:00pm EST, the world added an extra second to history in order to keep “accurate” time, also dubbed a “Leap Second”. This may seem negligible. You may not have even realized it happened. But MediaMath’s technology renders two million activities per second. Adding an extra time, even just a second, is a big deal. The process is relatively common. It’s happened 25 times since 1972. Since the rise of computing, interconnectivity, and in MediaMath’s case, billions of impressions every day, this extra second can have devastating effect. The good news is that disaster can be avoided. Over […]

Breaking the logjam

// 10.15.2014 // Infrastructure

At MediaMath, our infrastructure generates terabytes of business-critical messages every day, such as ad impression logs and tracking beacon events. A service we’ve developed within our TerminalOne technology platform, nicknamed the “MediaMath Firehose,” enables our internal analytics applications and bidding systems to generate meaningful insights and take action on all of the data from these messages in real time. This wasn’t always the case; traditionally, this data was made available in hourly or nightly batches. We needed a significant technical and cultural transformation to move from batching to streaming. When we first began architecting our data delivery systems in the […]