Pizza delivery has become a cutting-edge business: Pizza Hut, for example, recruited Pepper the Robot in 2016 to take customer orders. The company also recently paired up with Toyota on self-driving delivery vehicles. Meanwhile, Little Caesars has patented a pizza-making robot, and Domino's has conducted drone deliveries.
Ultimately, the technical innovations are all about a simple goal, Chuck Rhoades, director of e-commerce infrastructure at Pizza Hut, said to ZDNet: "To get our customers their food when it is hot, get it to them fast, and be reliable in doing that."
Also: Free pizza as a team-building tactic: 5 times it works TechRepublic
To achieve that mission, Pizza Hut in 2017 moved from bare metal infrastructure to a hybrid cloud model, leveraging public cloud services from both Google Cloud Platform and Amazon Web Services.
Rhoades shared with ZDNet the insights his team gained from the move, stressing the best practices they implemented when moving to a containerized environment. Here are the highlights of that conversation:
Why scalability matters: 'The Super Bowl is our Super Bowl'
Rhoades said that one of the biggest draws of the cloud was the ability to scale resources up and down, given the peaks in demand that Pizza Hut sees during certain times of the year and certain times of day. Pizza Hut thinks about these peaks as "moments that matter," he said.
"There are some that are obvious," he said. "We kind of have a really bad joke that the Super Bowl is 'our Super Bowl,' because it is. It's definitely a very big sales day for us... But then we have other times, too, like midterm elections. It turned out to be a really big time for us. Halloween's another big day. New Year's Eve, New Year's Day turns out to be a big day for us.
"And what we really find is it's the times when people come together. Pizza is such a shareable food that our business really gets driven by those big events... Being a food service business in general, obviously traditional meal times are going to be bigger usage times than when they are not. Obviously, a lot more people are ordering pizza during kind of the peak dinner rush than they are at nine in the morning."
When moving to the cloud, an early criteria for Pizza Hut was container management. Google's GKE "is the best-in-breed Kubernetes engine that you can find in the market right now," Rhoades said.
"With a container-based implementation... so long as you've done a good job of setting your containers up where they're sized correctly and appropriately, you can respond to those scaling events much quicker."
Additionally, he said, Pizza Hut has invested a lot in the idea of mutable infrastructure.
"Using containers lets us be able to really package things up in a way that is very quick and easy to iterate and make decisions about moving from one version of the software to the next," he said. "And then even when we look at deployment strategy... it's right out of the box really easy to manage with Kubernetes deployments, but it also makes it very easy to move into blue-green or Canary based deployment strategies. And you can vary that across the different kinds of workloads you have."
A focus on logging and tracing
Rhoades said that any team moving to this type of architecture needs an early focus on logging and tracing.
"You need to know what your shopper is doing," he said. "When you're moving into the cloud, in particular cloud in containers, you're moving very heavily into a distributive architecture... I see a certain thing happening over here with the database, but I don't really have a direct way of tying that to what's happening on the front end. Or I'm getting hundreds of thousands of requests per minute or per second coming through my platform, how do I have the right telemetry to know that my services are being handled in a healthy way?
Pizza Hut uses OpenCensus, the vendor-neutral, open-source library for telemetry and tracing collection, as well as Stackdriver Trace, a distributed tracing system that collects latency data from applications and displays it in the Google Cloud Platform console.