fabioberti.it - Fotolia
AUSTIN -- Enterprises that use Chef automation for infrastructure aren't yet sold on the company's Habitat project for application management.
In Habitat, Chef has a novel way to package applications that the company claims will allow users to get the most out of Linux containers. But IT pros say they still must sort out how Chef Habitat overlaps with Docker, and whether Habitat is worth the additional time investment to learn.
"We want to use Habitat, but one step at a time -- there are lots of things we want to do," said Andrew Holt, engineering manager at Absa Bank in Johannesburg. "We're looking at Docker containers and Habitat is quite similar."
On the surface, Habitat's packaging format for applications and application dependencies are difficult to distinguish from Docker's packaging for applications inside Linux containers. The chief difference is that Habitat's supervisor construct can package and manage apps that reside on bare metal or VMs as well. Habitat can be used to prepare applications for a move to containers but doesn't act as a container orchestrator.
Prior to Habitat, "I taught 100 engineers how to use Chef with varying degrees of success," Habitat's lead engineer Jamie Winsor said publicly here at ChefConf this week. Now, "you set goals and expectations [for your app] and it just happens."
Graham Weldontechnical coordinator of global operations, Rakuten Inc.
Winsor's comment about teaching developers to use Chef resonated with attendees.
"Learning Chef to build the whole underlying setup for an app is tough," said Christopher Ryan, software development manager at Dominion Enterprises, a Norfolk, Va.-based media and information services company that specializes in classified ads. But like Holt, Ryan said he must study Habitat more thoroughly to understand its advantages versus directly converting apps to containers with Docker.
Also, Habitat doesn't yet have a scaffolding, or pre-made application packaging pattern, for applications written in PHP, which is Dominion developers' core competency for web app development and won't change just to accommodate Habitat, Ryan said.
A new home for apps in Habitat
Early adopters of Habitat say it will help their container deployment efforts.
"Developers aren't interested in the configuration management of the OS," said Graham Weldon, technical coordinator of global operations for Rakuten Inc., an e-commerce company based in Tokyo. "Habitat gives them control of just what the application requires, while operations still manages the rest of the infrastructure with Chef."
This means ops can mandate the use of certain versions of Secure Sockets Layer, for example, or certain Linux libraries for all development groups, to provide more control than Docker would alone, he said.
It will also simplify Rakuten's move to containers, Weldon added. The company uses Habitat for three applications so far, with one slated to move to production next week.
"All we have to do is change the [Habitat] export type to have apps converted with no effort at all," he said.
Chef automation makes Kubernetes inroads
Eventually Habitat will link up directly with the Kubernetes container orchestration tool, as well as Red Hat OpenShift and Mesosphere DC/OS. Google engineer Kelsey Hightower demonstrated early integrations here this week, but a later breakout session revealed that Habitat does not yet have a native export format for Kubernetes, and there is no direct communication between the Kubernetes application programming interface (API) and the Habitat supervisor.
Habitat uses a construct called a depot to store application metadata, a mechanism similar to a Docker registry. Some Chef automation users said they'll wait until private depots move out of the beta stage before they will seriously consider using Habitat.
Habitat is also not yet integrated with Chef's Automate umbrella management tool, though Chef demonstrated the combination here this week. The goal is to automatically rebuild applications within Habitat in response to new security vulnerabilities or other changes.
Decrease DevOps error risk with automated app deployment tools
Compliance as code, security as code -- the next big IT push?
DevOps needs business input to make it all worthwhile