$30 off During Our Annual Pro Sale. View Details »

Habitat Workshop - DC

Habitat Workshop - DC

An introduction to Chef's Habitat given at the DevOpsDC Meetup.


Nathen Harvey

December 06, 2016

More Decks by Nathen Harvey

Other Decks in Technology


  1. • 6:00 – 6:30 – Meet, greet, and eat! • 6:30 –

    6:45 – Introductions and Announcements • 6:45 – 9:00 – Habitat!
  2. None
  3. DevOpsDC Code of Conduct http://www.meetup.com/DevOpsDC/pages/Code_of_Conduct/ We value the participation of

    each member of the community and want all attendees to have an enjoyable and fulfilling experience. Accordingly, all attendees are expected to show respect and courtesy to other attendees throughout all Meetup events. To make clear what is expected, all delegates/attendees, speakers, exhibitors, organizers, and volunteers at any DevOpsDC event are required to conform to our Code of Conduct. Organizers will enforce this code throughout events.
  4. None
  5. http://www.dctechslack.com

  6. • March 7 & 8, 2017 • CFP Closes Friday! • http://www.devopsdays.org/

  7. • Next DevOpsDC Meetup   January 17   Excella Consulting  

    Fearless Deployments with Ric Lister
  8. • Hiring? • Looking for work? • Attending or speaking at a conference?

    • Something we all should know? • Favorite color?
  9. • Wednesday – 6PM – 9PM • Microsoft MTC – 11 Times

    Square • Introduction to Habitat • Tutorials • Setup your development environment • Package and run your own applications
  10. • Thursday – 6PM – 9PM • Threat Stack – 55 Summer

    Street, 2nd Floor • Introduction to Habitat • Tutorials • Setup your development environment • Package and run your own applications
  11. None
  12. None
  13. None
  14. ©2016 Chef Software Inc. 1-14 Modern Applications Source Code Repo

    Artifact Bare Metal Container Cloud Instance VM Artifact Repo
  15. Build Deploy Manage

  16. Starts with a plan

  17. ©2016 Chef Software Inc. Simple, native, and declaritive pkg_name=redis pkg_origin=core

    pkg_version=3.0.7 pkg_license=('BSD') pkg_maintainer="The Habitat Maintainers <humans@habitat.sh>" pkg_source=http://download.redis.io/releases/${pkg_name}-${pkg_version}.tar.gz pkg_shasum=b2a791c4ea3bb7268795c45c6321ea5abcc24457178373e6a6e3be6372737f23 pkg_bin_dirs=(bin) pkg_build_deps=(core/make core/gcc) pkg_deps=(core/glibc) pkg_svc_run="bin/redis-server $pkg_svc_config_path/redis.config" pkg_expose=(6379) do_build() { make } plan.sh Low abstraction Complete dependencies Declare services Simple functions
  18. Clean room environment Safe by default Installs dependences Built in

    a studio
  19. Central location Publicly hosted Lightweight views Stored in a depot

  20. Easy pattern Shortcuts Increasing specificity Installed by hab

  21. Binaries and Config Metadata Side-by-side Packages on disk

  22. Installs automatically Keeps things running Manages configuration Supervisor runs services

  23. Supervisors form a ring Peers Service Groups Gossip Availability increases

    with scale
  24. Supervisors provide a REST API External Actors Health and Status

    Supervisor Debugging
  25. Docker ACI Mesosphere Post-process packages

  26. Supervisors support topologies Dynamic configuration Service group level Uses the

  27. Supervisors provide update strategies Topology aware Tracks views in the

    depot Ideal for Continuous Delivery
  28. Operable Applications • Isolated • Immutable • Configurable • Common interface for monitoring health

    • Rebuild from source • Common packaging • Runtime Independence
  29. Automation travels with the application Existing & Cloud Native Software

    Application Automation
  30. It’s all open source Apache License

  31. https://www.habitat.sh/community/

  32. What’s Next? •  Use a provided Habitat development environment, or

    install Habitat locally •  Join the Habitat Slack Team - http://slack.habitat.sh/ •  Work through the tutorial at https://www.habitat.sh/tutorials/ •  Explore Habitat packages on the depot - https://app.habitat.sh/ •  Explore the Habitat projects - https://github.com/habitat-sh •  Read Habitat Blog posts - https://blog.chef.io/?s=habitat •  Package one of your own applications •  Demo your work throughout the evening