Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Habitat - Open Source Automation that Travels with the Application

Habitat - Open Source Automation that Travels with the Application

Habitat is a new approach to automation that focuses on the application instead of the infrastructure it runs on. With Habitat, the apps you build, deploy, and manage behave consistently in any runtime — metal, VMs, containers, and PaaS. You'll spend less time on the environment and more time building features. This open source project was recently announced.

This was presented at the DevOps Ireland Meetup - http://www.meetup.com/DevOps-Ireland/events/232051555/

Nathen Harvey

June 27, 2016
Tweet

More Decks by Nathen Harvey

Other Decks in Technology

Transcript

  1. What would it look like … if we built for

    choreography instead of orchestration?
  2. What would it look like if we built •  …

    for large distributed systems that are topology aware? •  … a way to run immutable systems with flexibility and ease? •  … a way to strip out hidden dependencies? •  … a simplified toolchain?
  3. 19

  4. Habitat Components •  Habitat Studio - an application packager • 

    Habitat Plans - instructions to download, compile, and install
  5. Package Format (.hart) Plan Artifact Depot Bare Metal Containers AMI

    VM 1.  Packaging an application starts with a plan. A Plan is as simple to create as a Dockerfile 2.  Start by launching the isolated Build environment called a “Studio” a.  Enter the studio (hab-studio enter) b.  Define your Plan (vim plan.sh) to define the software build from source using standard BASH c.  Define the Configuration template for the software, using Mustache (logic-less scripting language) d.  Define the Configuration defaults, using TOML (configuration language) e.  Define Hooks for supervisor behavior: initializing, running, defining a health check, etc f.  Create Signing Keys for your Origin (hab origin key generate myOrigin) g.  Build your Artifact (build myOrigin/myPlan) 3.  Post-process Artifact for target environments: Docker, Rocket, CloudFoundry, Mesos, Kubernetes, etc... 4.  Run and test Artifact (docker run -ti myOrigin/myPlan) Habitat Workflow
  6. Habitat Components •  Habitat Studio - an application packager • 

    Habitat Plans - instructions to download, compile, and install •  Habitat Depot - a place to upload and download your app packages
  7. Habitat Components •  Habitat Studio - an application packager • 

    Habitat Plans - instructions to download, compile, and install •  Habitat Depot - a place to upload and download your app packages •  Habitat Supervisor - an intelligent runtime with deployment coordination and service discovery built in
  8. Depot Artifact Supervisor: An Intelligent Run-Time Supervisor w/ REST API

    (hab-sup) Supervisor Supervisor Supervisor Supervisor Ring Leader Initializer Stand Alone Part of an Artifact, the Supervisor manages Application node behavior at runtime, providing automation and intelligence: Utilizes predefined Plan to manage application behavior Built in service discovery Self-organizes with other Supervisor nodes on a Ring into topologies Rings have no single point of failure Supervisor executes a variety of hooks for defined behavior: Init, run, health_check, reconfigure, file_update Supervisor is accessible via REST API: /config, /health, /status, /gossip, /census, /election Habitat Technology
  9. Habitat Technology Plan Artifact Depot Build Service Supervisor Supervisor Supervisor

    Supervisor Ring Bare Metal Containers AMI VM Depot Build Service & Workflow Package Format Artifact Distribution Server Artifact Distribution Server Intelligent Run-Time Supervisor w/REST API Source Code Repo
  10. Applications run as distributed, fully automated, and capable autonomous actors

    Immutable applications, but flexible and easy to manage because automation travels with the application Bundles what your apps need to run and nothing else Embedded automation choreographs application cluster topology/behavior A network with no reliance on external services and no single-point-of-failure Provides continuous deployment without traditional Application Release Automation (ARA) tooling The solution is the same: For new and legacy applications No matter the application runtime environment Habitat’s approach
  11. Habitat Application automation that enables modern application teams to build,

    deploy, and manage any application in any environment - from traditional data-centers to containerized microservices.
  12. 1500 Attendees! 55+ Speakers! Registration Open! Community Celebration! CHEFCONF 2016

    AT A GLANCE Workshops & Chef Training Community Summit Partner Summit Welcome Reception Keynotes Technical Sessions Happy Hour Keynotes Technical Sessions Awesome Chef Awards Community Celebration DAY 1 // JULY 11 DAY 2 // JULY 12 DAY 3 // JULY 13 THREE DAYS OF OPPORTUNITY TO ENGAGE THE CHEF CUSTOMERS AND PARTNER ECOSYSTEM chefconf.chef.io! DAY 1 // JULY 11 « Workshops & Chef Training « Community Summit « Partner Summit « Welcome Reception DAY 2 // JULY 12 « Keynotes « Technical Sessions « Happy Hour DAY 3 // JULY 13 « Keynotes « Technical Sessions « Awesome Chef Awards « Community Celebration THREE DAYS OF OPPORTUNITY TO ENGAGE THE CHEF CUSTOMERS AND PARTNER ECOSYSTEM
  13. LONDON SUMMIT OCTOBER 12-13, 2016 SEATTLE SUMMIT OCTOBER 26-27, 2016

    Chef Community Summit is a unique opportunity for users and contributors of all experience levels to come together to share, learn, and succeed with Chef.
  14. Try Habitat for yourself •  https://www.habitat.sh/try •  Tutorials •  Getting

    started guide •  Extensive documentation •  Open Source! –  https://github.com/habitat-sh/habitat Thank you! Q&A
  15. 33