DevOps / Kubernetes

Chef and Kubernetes: Better Together?

29 May 2019 9:45am, by

If you’re using Docker containers and Kubernetes, you don’t need Chef anymore, right?

Joshua Timberman posed that common question during his ChefConf 2019 talk on running legacy applications on Kubernetes.

It turns out the 10-year-old company runs what it calls “heritage” applications with Kubernetes. Its primary reason was platform consistency.

“With all these old applications, we wanted one place we could run them… We had a variety of different workflows… As we [moved into different products], we weren’t doing the same things in the same way. So we wanted to bring that in and have cohesion with our workflow,” explained Timbermann, Chef’s principal operations engineer.

It also provided cost efficiency. It was running 15 different apps, four to eight instances of each. With Kubernetes, it runs them on just nine nodes.

At the same time, it’s still running Infra, its infrastructure automation tool; Habitat, its app-builder tool; and Inspec, its security and compliance tool.

The question is not where Chef fits in a Kubernetes world, but what is the role of configuration management, according to Damith Karunaratne, partner and vice president of DevOps at Indellient, a Canadian IT services company running one of the largest implementations of Chef for a Fortune 20 client.

“If you’re using configuration management tools, you’re going to build in a lot of orchestration and K-statements… and have to figure out how to orchestrate it all. Habitat provides the construct to be able to do that… all these different nodes in your cluster and how they interact with each other. That really simplifies things,” he said.

With configuration management tools, what takes months to manage in these complex systems, with Habitat takes just weeks, he said.

The challenge in DevOps, he said, is to prepare technology so it can go anywhere — on prem, to any cloud or multiple clouds.

“If you build all these pipelines for [different places where you deploy], you’ll reach a point where it’s very unmanageable,” he said. “That’s where Chef is doing some really good stuff with Habitat. Those decisions don’t have to be made until the very end. It so you can have one path, or as few paths as possible to get to [deployment].”

With configuration management tools, what takes months to manage in these complex systems, with Habitat takes just weeks, he said.

You can get Kubernetes from your cloud provider, but the cloud provider still needs those configuration management tools to configure your systems to give you that Kubernetes serverless experience.

“The thing I believe the market is figuring out right now is that having a Kubernetes strategy is not the same as having an IT strategy” — Chef CEO Barry Crist.

Or you’re going to have your own data center. Kubernetes still needs to run on VMs, and you still need configuration management tools at that level. That’s where Habitat or configuration management will still have a role, he said.

“With Habitat, you would package that app, then if you wanted, you would export that app to a container. … So it’s not should I use Kubernetes instead of Chef Habitat, it’s more that I can use them together to get the best [experience],” he said.

Chef CEO Barry Crist, in an interview, made the distinction that Kubernetes is not application software, it’s infrastructure software.

“The thing I believe the market is figuring out right now is that having a Kubernetes strategy is not the same as having an IT strategy,” he said.

“The game we’re going after is maybe a little larger game. We’re looking at what does the whole stack have to do with the whole problem of IT. Some of those problems are legacy, some are infrastructure, some are applications, some are security. There are elements of those we want to enable and we want to work well with containers and Kubernetes. … We’ve made strong investments, especially with Habitat, in working well with Kubernetes.”

The idea that you should build systems from the bottom up is outdated, Crist said, and app-first considerations will be the future.

Added Corey Scobey, Chef senior vice president of product and engineering, “There is this awakening that having a technology strategy or infrastructure technology strategy, when you make a decision to use Kubernetes or Docker… what you’re saying is, “I’m going to micropartition my compute resources in a different way,” which is fine, it gives you a lot of upside.

“But it doesn’t change the equation that you have macro IT problems to solve. And one of the biggest IT problems is “How do I get things from my development environment symmetrically all the way to my production environment,” regardless of what that production environment looks like.”

Habitat is very unopinionated about what you use to build software and about where you deploy it, Scobey said.

In a perfect world, you would have a single image that you deploy to a container environment, then all the things on top of that would be specific to the application, he said.

“The more systems you build and the more applications you try to serve with that build pattern, the bigger the bloat gets in the middle. You need more and more things to serve more and more masters,” he said.

“Customers who are along in their Kubernetes path are finding exactly that: They thought they were going to get nice lean containers out the other end, and, by nature of IT being diverse and applications being diverse, what they’re getting is containers that look a lot like the servers they had before. They’re big, they’re fat and they’re not well groomed. There’s a lot of bloat to it,” he said.

Said Scobey: “One of the biggest values of using Kubernetes with Habitat is that the way Habitat packages an application is that it forces you to ignore all those middle-ground things and only bring with it what you need. What you get with Habitat are the leanest, meanest containers you could possibly imagine.”

Kubernetes is significantly shrinking that infrastructure footprint, he said, but “Application packaging is still a problem you need to solve regardless [of where you deploy].”

Chef is a sponsor of The New Stack.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.