Habitat Builder: The fastest path from code to cloud native

Today we’re excited to take the wraps off the public preview of the latest member of the Chef family, Habitat Builder. Builder is a service that makes building cloud-native apps faster and easier than ever. We are also releasing new integrations for Cloud Foundry and Kubernetes. Read on to learn more about everything we’re releasing, or head to habitat.sh to get started with Habitat Builder.

Get Started with Habitat Builder

Habitat Builder takes less than 10 minutes to set up and integrates seamlessly into your application development workflow. Once your app is built, you can export to any format and runtime including Docker, Mesos, Kubernetes, rkt, Tar, and Cloud Foundry. Just connect Habitat Builder to your GitHub account, initialize a Habitat plan in your project repository, and you’re ready to go.

When you check in new code to your GitHub repo, Habitat Builder can automatically rebuild your app based on source code and plan changes. It can also rebuild based on upstream dependency changes. And Docker Hub is integrated with Builder, so you can export containers and push there automatically.

Habitat Builder provides support for public and private origins, meaning development teams can use the same Builder powered workflow for any project.

Habitat Builder is available to use today. To get started:

  1. Sign in with your GitHub ID.
  2. Add in a Habitat Plan file to your project.
  3. Check in code.

Cloud Foundry exporter for Habitat

With Builder’s Cloud Foundry integration, you use Habitat to export a Cloud Foundry optimized Docker container of your application. Start this container in any Cloud Foundry PaaS. Cloud Foundry will inject all of the configuration data needed for your application to run and discover the services it needs via the Habitat Supervisor. You get the benefits of Habitat Builder, as well as the application lifecycle intelligence of the Habitat Supervisor, while letting Cloud Foundry manage provisioning and other PaaS services

Thanks to our development partner Stark & Wayne for all their contributions to the Habitat community. Find out more about the Cloud Foundry exporter on our docs site

Kubernetes Operator

The Habitat Operator for Kubernetes extends the Kubernetes API through the use of CustomResourceDefinitions. This allows Habitat to provide a native Kubernetes experience for deploying Habitat packaged applications on Kubernetes. The operator allows for users to define a ServiceGroup resource that maps to a Habitat service group. Users can launch applications leveraging Habitat’s intelligent runtime capabilities including topologies, application lifecycle event hooks, leader elections, and service discovery. Behind the scenes, the Habitat Operator will create the appropriate resources for Kubernetes to schedule the application such as the Kubernetes Deployment, Pods, etc.

You can get your hands on the Operator over at our partner Kinvolk’s GitHub repo.

Get started with a sample application: code to Docker in 10 mins

With our sample application see how Habitat Builder lets you automatically trigger a new build and publish a container to Docker Hub when you commit new code to GitHub.

Give it a try at https://www.habitat.sh/demo

Dive deeper with Habitat: new badges at Learn Chef Rally

We know you love badges…

Earn the Ready to Serve and Packaged to Go badges by completing these new modules in Learn Chef Rally dedicated to helping you build your skills with Habitat.

Try Habitat Quickstart Module

The Try Habitat module gets you up and running fast with the Habitat command-line tools. You’ll use Habitat to build, verify, and publish a package that brings up a basic web application. You’ll also export your package to Docker to see how easy it is to deploy your applications to almost any environment.

Building Applications with Habitat Track

The Building Applications with Habitat track continues your journey. You’ll get a look under the hood by writing Habitat plans from scratch and by using scaffolding to quickly build packages for both modern and legacy applications.

Acknowledgement and what’s next

This work has been a labor of love for many of us at Chef, and we are excited to be able to share it with the world. We’d like to thank the over 70 external contributors, our external core maintainers, customer design partners, engineering partners, and the entire community that have donated time, energy, pull requests, doc improvements, rust code, core plans, feedback, and brain power to help us build  Habitat over the last 17 months.

We’d like to give a big thank you to the Kinvolk team, who have been an amazing  co-development partner. The Habitat Operator for Kubernetes would not have been possible without them.

We would also like to thank our friends at Stark & Wayne, who have been highly engaged members of the Habitat community since they discovered it at ConfigMgmt Camp 2017, where they saw the potential for Habitat to solve a difficult highly-available stateful service problem. Since then, Stark & Wayne have contributed a Postgres plan, improvements to application lifecycle hooks for highly available  applications, a BOSH release for Habitat that allows BOSH to start any Habitat service, as well as the Cloud Foundry Exporter.

We look forward to your feedback on Habitat Builder, and would love to have you check out more of Habitat. You can visit us at habitat.sh, read our docs, chat with us on Slack, and check out our code on Github. We have a lot of awesome features and extensions in the pipeline, and community feedback and participation are hugely important to us as we build and prioritize them.

Sign up and learn more

Author Michael Ducy

Michael Ducy currently works as a Director of Product Marketing for Chef focusing on helping companies understand Chef, DevOps, and IT transformation. Previously, Michael focused on designing and implementing automation solutions for customer’s Cloud, IT Automation, and Continuous Delivery needs. Michael has also worked in a variety of roles in his career including Cloud Architecture, Systems Engineering , Performance Engineering, and IT Instructor. Michael holds a Masters in Computer Science from the University of Chicago and an MBA from The Ohio State University.