How Chick-fil-A Uses Kubernetes and GitOps at the Edge

Multiple emerging IT concepts combine at the fast food restaurant chain, with an edge networking Kubernetes container orchestration deployment that is managed with a GitOps approach.

Download the authoritative guide: How to Develop an IT Security Strategy

Chick-fil-A Kubernetes

Fast food restaurants are not typically considered as being places where the latest trends in IT and cloud computing can be found, but that's what's happening at fast food restaurant chain Chick-fil-A.

Edge computing, the idea of having cloud-native resources at the edge of a network, is an emerging concept in IT, and it's having an impact at fast food restaurant chain Chick-fil-A. The restaurant chain is also making use of the open-source Kubernetes container orchestration system and the concept of GitOps to help manage its edge deployments with a DevOps approach.

Chick-fil-A shared its edge computing story at KubeCon + CloudNativeCon NA 2018 in Seattle last week alongside cloud-native vendor Weaveworks. With GitOps, operations are enabled via a pull request, using the Git version control system.

The restaurant chain has a capacity challenge to serve people as best and as fast as it can, according to Sean Drucker, principal technologist Chick-fil-A. He noted that at peak, Chick-fil-A serves one sandwich every 16 seconds. Drucker said that the IT team wants to get as much information as it can about restaurant operations and how equipment is running in order to control things and serve customers better.

"We basically have 2,000 restaurants, and we have hundreds of thousands of internet things," he said. 

A thing is basically anything that can report information to the business, Drucker said. For example, Chick-fil-A has multiple types of fryers and grills for chicken and fries, as well as refrigeration systems and food trays. The different IoT devices send messages back and forth, and Drucker said there is a need to control things locally at the restaurant, or—in IT terms—at the edge. To support the edge deployment, Chick-fil-A has created what Drucker referred to as little data centers.

"These are three small networked computers, with only 8GB or RAM in each system, and we're running a Kubernetes cluster," he said.

The plan is to have one such Kubernetes cluster in each of Chick-fil-A's 2,000 restaurants, enabling a full edge computing environment, with all the IoT devices in a given restaurant connecting into the cluster. Drucker explained that some of the data stays local in the restaurant, while higher level business and operational information is sent up to the cloud.

GitOps

While edge computing enables Chick-fil-A to have compute resources to manage and understand each restaurant, managing 2,000 disparate Kubernetes clusters in a cohesive way introduces its own set of complexity challenges. That's where GitOps comes into the picture.

With the GitOps model, Chick-fil-A has a Git version control repository in the cloud. Access and authorization tokens, commonly referred to as “secrets,” are managed with the Hashicorp Vault technology to provide security. The edge compute clusters pull down specification (spec) files from the Git repository in a secure manner to update and manage configuration across the 2,000 restaurants.

Chick-fil-A has a program it developed called fleet that runs in the cloud and provides one Git repository for each restaurant. The deployment mechanism deploys the spec files across the Git repositories. At the edge, Chick-fil-A has software it calls Vessel that will clone the cloud-based Git repository and then apply the configuration to the local cluster with a simple “kubctl apply” command.

For the most part, Drucker said the edge Kubernetes clusters in the Chick-fil-A restaurants operate on their own and are not manually interfered with locally. Alexis Richardson, CEO of Weaveworks and one of the leading proponents of the GitOps model, joined Drucker on stage and said that the basic patterns behind GitOps can benefit different types of organizations.

"This is part of DevOps, this is about developers being put in control of operations," Richardson said. "We're in a world of automation and description of systems, and we can use those descriptions to power automation in the form of Kubernetes orchestrators."

Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.

Sean Michael Kerner

Sean Michael Kerner

Sean Michael Kerner is an Internet consultant, strategist, and contributor to several leading IT business web sites.