Adobe likes to talk about its public cloud partnerships with Microsoft and others, but it doesn’t often talk about its private cloud strategy. It’s no secret that there are plenty of good reasons for using a private data center and Adobe manages a few of these around the globe. For most businesses, opting for a private cloud comes down to cost, but for Adobe’s Advertising Cloud, which previously flirted with the likes of AWS, moving back to a private cloud mostly came down to performance.
The Adobe Advertising Cloud as a brand is a relatively new concept for the company, though the actual product has been around for quite a long time. It’s the company’s service for helping brands manage and optimize advertising spend across channels. The service manages over $3.5 billion in annual ad spend from the likes of Allstate, Ford, MGM and Southwest Airlines, but to get those ads in front of the right eyeballs, it has to make billions of real-time pricing decisions per day to ensure that its users win the right advertising bids.
To build this private cloud, the Adobe team opted for using OpenStack, the massive open source project that’s building the equivalent of an AWS for businesses that want to manage their own clouds inside their own data centers.
Ten years ago, Adobe started betting on public cloud, but Nicolas Brousse, Adobe’s director for operations engineering for the Advertising Cloud, tells me that the team always faced challenges with regard to latency. “The only way to beat the market was to go private cloud,” he told me. By 2013, the team started evaluating its options in earnest.
This was before OpenStack became the de facto standard for private clouds, so everything from Eucalyptus to VMWare and CloudStack was on the table. “We ended up with OpenStack because we liked the modular approach that’s close to the Linux philosophy,” said Brousse. “We could take the pieces we care about and build around that.” He also added, though, that the decision wasn’t just about OpenStack itself, “it was about what we’re trying to accomplish.”
In 2016, Adobe acquired the video ad company TubeMogul and with that, it gained even more OpenStack expertise. TubeMogul’s Joseph Sandoval, for example, was previously the director of cloud platform engineering at Lithium, where he made an early bet on the technology (“A lot of people who made that early decision didn’t come out unscathed,” he rightly noted). Once at Adobe, Sandoval spearheaded the adoption of OpenStack for the Advertising Cloud under the code name “Cloud Mogul.”
Brousse tells me that the team’s move to OpenStack improved raw compute performance by 3x over AWS. “Now, the bottleneck isn’t compute but the network edge,” he said. He and Sandoval also noted that a lot of the tooling around the OpenStack project is now far more mature and that the latest releases have been extremely stable.
Today, about 90 percent of the Advertising Cloud’s real-time bidding processes run on OpenStack and the plan is to move to 100 percent very soon. That’s over 100,000 of compute nodes and growing, which makes this one of the larger OpenStack deployments.
The team is still placing some workloads on the public cloud, though, and is looking at how it can make cloud bursting a reality for its services. Not all parts of the Advertising Cloud are all that latency constraint, for example, but Sandoval also told me that he wants the public cloud to be available to him so he can quickly stand up a cluster for overflow compute from the private cloud. In a private cloud, after all, you don’t get the seemingly unlimited compute resources that the large public clouds can provide.
Currently, the team that manages this part of Adobe’s private cloud consists of only four engineers. That speaks to how easy it is to manage this service, but it also means that all of the engineers involved here need to be able to do each other’s jobs if necessary. Sandoval notes that this means the team has to automate as much as possible — and for this, too, the tooling is now in place.
Adobe’s use case is, of course, a bit of an edge case, given that the Advertising Cloud has some pretty clear constraints. Still, Adobe isn’t the only company that is making similar decisions, whether it’s because running 24/7 workloads tends to get rather expensive on public clouds like AWS, Azure or the Google Cloud Platform, or whether these public clouds can’t offer the kind of dependable performance characteristics that some workloads simply demand.