Chef, innovators in automation for DevOps, recently announced it’s new open source project, Habitat, which offers users a new approach for application automation. Habitat delivers the ability and intelligence to self-organize and self-configure applications. Applications armed with habitat are able to be transferred across infrastructure environments, distinguish and suggest features that will optimize the application. Habitat’s greatest asset to users may be the ease with which Habitat can run applications across unique environments like containers, PaaS, cloud infrastructure, and on-premise data centers.
“Whether greenfield or legacy, any application that is deployed using a Habitat package has the intelligence to be aware of and react to its environment. Habitat’s novel approach to packaging allows the application to be independent of any particular infrastructure environment and fully utilize underlying infrastructure without custom optimization. Habitat also provides a well-defined interface that simplifies common tasks such as monitoring, safe deployment of new features, and the creation of peer relationships that are required for production system.”
In Chef’s Blog, Author, Adam Jacob, describes how Habitat is a completely new approach to applications, and in a way, Habitat kind of acts as an application soothsayer. In order to obtain and perfect the concept of application automation, the elements that facilitate this, including build dependencies, run-time dependencies, configuration, dynamic topologies, deployment strategies, secrets management, security auditing, etc, travel with the application.
“Habitat offers a new approach to application management. Habitat makes the application and its automation the unit of deployment. When applications are wrapped in a lightweight “habitat,” the runtime environment, whether it is a container, bare metal, or PaaS, is no longer the focus and does not constrain the application.”
Habitats Features Include:
Support for the Modern Application: Habitat packages include everything that an application needs to run, throughout its lifecycle. The Habitat supervisor runs application packages with awareness of the packages’ peer relationships, upgrade strategy and security policies. The Habitat supervisor configures and manages the application for whatever environment is present.
Run Any Application, Anywhere: With Habitat applications can run, unmodified, in any runtime environment, from bare metal and virtual machines, to containers like Docker and cluster-management systems like Mesosphere or Kubernetes, and PaaS systems like Pivotal Cloud Foundry.
Easily Port Legacy Applications: When legacy applications are wrapped in a Habitat package, they become independent of the environment for which they were originally designed. They can quickly be moved to more modern environments such as the cloud and containers. Also, because Habitat packages have a standard, outward facing interface, legacy applications become much easier to manage.
Improve the Container Experience: Habitat reduces the complexity of managing containers in production environments. By automating application configuration within a container, Habitat addresses the challenges developers face when moving container-based applications from development environments into production.