Project: Chef Habitat (App Definition and Development / Application Definition & Image Build)
File: _index.md

+++ title = "Chef Habitat Overview" aliases = ["/habitat/reference/", "/habitat/glossary/", "/habitat/diagrams/"] gh_repo = "habitat" [cascade] product = ["habitat"] [menu] [menu.habitat] title = "Overview" identifier = "habitat/Overview" parent = "habitat" weight = 1 +++ Chef Habitat is a workload-packaging, orchestration, and deployment system that allows you to build, package, deploy, and manage applications and services without worrying about which infrastructure your application will deploy on, and without any rewriting or refactoring if you switch to a different infrastructure. Habitat separates the platform-independent parts of your applicationthe build dependencies, runtime dependencies, lifecycle events, and application codebasefrom the operating system or deployment environment that the application will run on, and bundles it into an immutable Habitat Package. The package is sent to the Chef Habitat Builder (SaaS or on-prem), which acts as a package store like Docker Hub where you can store, build, and deploy your Habitat package. Habitat Supervisor pulls packages from Habitat Builder, and will start, stop, run, monitor, and update your application based on the plan and lifecycle hooks you define in the package. Habitat Supervisor runs on bare metal, virtual machines, containers, or Platform-as-a-Service environments. A package under management by a Supervisor is called a service. Services can be joined together in a service group, which is a collection of services with the same package and topology type that are connected together across a Supervisor network. {{< readfile file="content/habitat/reusable/md/habitatbuilderoverview.md" >}} For more information, see the documentation. A Habitat Package is an artifact that contains the application codebase, lifecycle hooks, and a manifest that defines build and runtime dependencies of the application. The package is bundled into a Habitat Artifact (.HART) file, which is a binary distribution of a given package built with Chef Habitat. The package is immutable and cryptographically signed with a key so you can verify that the artifact came from the place you expected it to come from. Artifacts can be exported to run in a variety of runtimes with zero refactoring or rewriting. {{< readfile file="content/habitat/reusable/md/habitatplansoverview.md" >}} For more information, see the documentation. {{< readfile file="content/habitat/reusable/md/habitatservicesoverview.md" >}} See the for more information. {{< readfile file="content/habitat/reusable/md/habitatstudiooverview.md" >}} See the for more information. {{< readfile file="content/habitat/reusable/md/habitatsupervisoroverview.md" >}} See the for more information. Chef Habitat allows you to build and package your applications and deploy them anywhere without having to refactor or rewrite your package for each platform. Everything that the application needs to run is defined, without assuming anything about the underlying infrastructure that the application is running on. This will allow you to repackage and modernize legacy workloads in-place to increase their manageability, make them portable, and migrate them to modern operating systems or even cloud-native infrastructure like containers. You can also develop your application if you are unsure of the infrastructure your application will run on, or in the event that business requirements change and you have to switch your application to a different environment. . on the . Try our for Chef Habitat.