Chef is giving developers a new approach to automating applications with its open-source project Habitat, designed to give applications the intelligence to self-organize and self-configure throughout their life cycle.
According to Adam Jacob, cofounder and CTO of Chef, today’s businesses are trying to figure out how to be as fast, efficient and innovative as companies like Facebook and Google, and to do that they have to find new ways to build, deploy and manage applications.
“If we want these companies to be fast, innovative and transformative, what we have to do is optimize the way they build applications, the way they deploy them into production, and the way they manage them throughout that life cycle, and that’s really the challenge,” he said.
(Related: How to get testing into DevOps)
Typically, infrastructure companies set out to solve this either through an enterprise approach or a web approach, according to Jacob. The challenge with an enterprise approach is that companies design solutions for a single silo and then are forced to integrate with all the choices from every silo. The web approach designs their infrastructure a little better because it considers platforms from the beginning, but unlike Web businesses, the platform enterprises build isn’t necessarily the product that they sell.
“Is that how it has to be? Do we have to design for this build, deploy, and management problem from one of those perspectives?” said Jacob. “What would happen if we did both? If we just said how exactly is it that our applications should behave throughout that build, deploy [and] management cycle? What are all the things they should do, and let’s try to build something that makes that easy; and we are really proud of the answer which we call Habitat. Habitat is what we call application automation. Instead of thinking of those problems from the perspective of the infrastructure, what we say is everything about the application’s behavior belongs to the application.”
Habitat gives applications the ability to be independent from any particular infrastructure environment and utilize any underlying infrastructure without requiring custom optimization, according to Jacob. It features support for modern applications; the ability to design apps that run unmodified in any runtime environment; the ability to port legacy applications; reduction of the complexity of managing containers in production environments; the ability for applications to be aware of and react to their environment; and the ability to integrate into Chef’s DevOps workflow, according to him.
“The automation has to travel with the application itself. If the application needs to do something in that build, deploy and management life cycle, it is the application’s responsibility to do it, and we need to get it without having to deploy anything,” said Jacob. “You shouldn’t have to change what infrastructure your application runs on just to get better management. You should be able to just have the application be easy to manage, and that’s what Habitat gives you.”
Going forward, Chef plans to launch an automated public build service, and add more topologies, update strategies and package export formats to Habitat.