AUSTIN — Around the globe, Pinterest’s 200 million active users pop digital pins on images that inspire them. Another billion scroll through those boards looking for ideas. All that pinning requires a lot of computing power and until now the company, which launched in 2010, has done it all on Amazon Web Services and virtual machines.
Recently, though, they made a plan to stick with a new strategy: containers. The San Francisco-based unicorn, one of the newest members of the Cloud Native Computing Foundation, came to KubeCon + CloudNativeCon North America to talk about this change of tack.
During a press briefing, Micheal Benedict who manages data and cloud infrastructure at Pinterest, spoke about the challenges the engineering team faced and what’s up next.
“We were on the cloud since day one,” he told journalists. The scale of the seven-year-old company is impressive: tens of thousands of instances, processing tens and hundreds of petabytes of data. Everything was on AWS — they have never had private clouds or bare metal in the underpinnings, he clarifies. While “VMS have served their purpose,” he says, they’re transitioning in the next 18 months to containers with Kubernetes. Some 75 percent of their stateless workloads have already migrated. “It’s a huge thing for us.”
They didn’t arrive at Kubernetes and the CNCF by chance. Benedict admits there were a “whole host of challenges” around exploring the different systems currently available (including Mesos and a number of hosted systems) that always seemed to leave more questions than they answered. “Our concerns were around ‘how much do you want to commit to a provider?’” and not just for ops but also for future tie-ins. “Given our scale, it’s really important.”
The four main drivers for the switch were: speeding things up for devs, reliability, infrastructure governance and efficiency. With the previous set-up, launching a service involved multiple Amazon Machine Images, required end users to perform Puppet authoring and testing (and the unpredictability around those Puppet runs) and disparate process management (monit, upstart, supervisor). With containers, there will be a single AMI, no Puppet authoring, unified process management and immutable infrastructure with deterministic behavior.
“We want to thing more about consolidating the process from idea to production without thinking about underlying infrastructure,” he says.
Benedict and Lida Li of the cloud platform at Pinterest also gave a public talk at KubeCon. You can check out the slides here and we’ll update this post with that video when it’s available.