Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevOps LA Meetup Intro to Habitat

254 views

Published on

For the DevOps LA Meetup January 18, 2017 - An introduction to Habitat, a new open source application by Chef for application automation.

Published in: Technology
  • Login to see the comments

  • Be the first to like this

DevOps LA Meetup Intro to Habitat

  1. 1. Habitat by Chef Jessica DeVita, Evangelist @ubergeekgirl Trevor Hess, Customer Architect @trevorghess
  2. 2. Agenda State of the World An Overview of Habitat How Habitat Makes Containers Better Demo Questions & Answers
  3. 3. >1k >25k Company Background ▪ At the forefront of agile, lean, and DevOps movements ▪ Open Source foundation ▪ Tens of millions of machines under management by Chef ▪ 265 employees. Offices in Seattle, San Francisco, London, Berlin OUR VISION The most enduring and transformative companies use Chef to become fast, efficient, and innovative software driven organizations 70% of the Fortune 500 tech sector uses Chef Customers use Chef, including Alaska Airlines, Disney, Facebook, Intuit & Target Organizations using Chef to improve their speed, efficiency& risk management Quick Stats
  4. 4. Chef Customers
  5. 5. 1. BMC 2. Splunk 3. IBM 4. HP 5. New Relic 6. AWS 7. Servicenow 8. CA 9. Microsoft 10.Chef 11. Solarwinds 12. Atlassian Chef has driven the automation revolution Our platform is a leader in Continuous Automation Infrastructure Automation Compliance Automation Application Automation Strategic Vendor of F500OSS Leadership With which vendor do you think you will be spending the most on IT tools in three years? Goldman Sachs Spending Survey, 2016 Key Partners
  6. 6. The Chef Automate Platform Continuous Automation for High Velocity IT Workflow • Local development • Integration • Tooling (APIs & SDKs) COLLABORATE ▪ Package ▪ Test ▪ Approve BUILD ▪ Provision ▪ Configure ▪ Execute ▪ Update DEPLOY ▪ Secure ▪ Comply ▪ Audit ▪ Measure ▪ Log MANAGE Infrastructure Automation Compliance AutomationApplication Automation OSS AUTOMATION ENGINES Increase Speed ▪ Package infrastructure and app configuration as code ▪ Continuously automate infrastructure and app updates Improve Efficiency ▪ Define and execute standard workflows and automation ▪ Audit and measure effectiveness of automation Decrease Risk ▪ Define compliance rules as code ▪ Deliver continuous compliance as part of standard workflow
  7. 7. Product Software Development Quality Assurance Operations Security Enterprise Application LifecycleRUNTIME Grid PaaS Containers & Discovery Traditional Applications INFRASTRUCTUR E Bare Metal Virtualization Cloud & IaaS OS Application Delivery
  8. 8. Containers Cloud & IaaS PaaS New World Infrastructure/Architecture Data Services VMs Applications VMs Data Services Container Schedulers
  9. 9. The reality of modern architectures AWS ECS Google Container EngineFor Containers For Traditional Applications
  10. 10. Build Deploy Manage
  11. 11. Brent’s Desk database cluster
  12. 12. Configuration Management
  13. 13. 13 The Reality
  14. 14. Application Concerns OS Concerns
  15. 15. How do you... Build immutable infrastructure but allow last mile Application config changes?
  16. 16. How do you... Decouple the application build from the final production ready container?
  17. 17. How do you... Orchestrate the application launch order & topology required?
  18. 18. 19
  19. 19. 20
  20. 20. What if you could defer infrastructure decisions until runtime?
  21. 21. Automation travels with the application Existing & Cloud Native Software Application Automation
  22. 22. For new and legacy applications. For stateless and stateful applications No matter the runtime environment Habitat’s Approach Confidential & subject to NDA. Patents Pending. The solution should be the same: ● Applications: portable & responsible for their own automation ● Small OS serves the application ● Make application components aware of each other over a network ● Continuous deployment without traditional “ARA”
  23. 23. Habitat Components • Habitat Studio - an applicationpackager
  24. 24. Habitat Components • Habitat Studio - an applicationpackager • Habitat Plans - instructions todownload, compile,and install
  25. 25. Habitat Components • Habitat Studio - an applicationpackager • Habitat Plans - instructions todownload, compile,and install • Habitat Depot - a place to upload and download your app packages
  26. 26. Habitat Components • Habitat Studio - an applicationpackager • Habitat Plans - instructions todownload, compile,and install • Habitat Depot - a place to upload and download your app packages • Habitat Supervisor - an intelligent runtime withdeployment coordination and service discovery built in
  27. 27. How do you... Decouple the application build from the final production ready artifact? Provide a “DSL” to describe the application build (plan.sh), and provide an isolated environment (studio) to build the application artifact (Habitat Package).
  28. 28. Starts with a plan
  29. 29. Simple, Native, and Declarative pkg_origin=core pkg_name=redis pkg_version=3.2.1 pkg_license=('BSD') pkg_maintainer="TheHabitat 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="redis-server $pkg_svc_config_path/redis.config" pkg_expose=(6379) do_build() { make } plan.sh Low abstraction Complete dependencies Declare services Simple functions
  30. 30. https://github.com/docker-library/redis/blob/master/3.2/Dockerfile
  31. 31. https://github.com/docker-library/redis/blob/master/3.2/Dockerfile
  32. 32. Clean room environment Safe by default Installs dependences Built in a studio
  33. 33. Central location Publicly hosted Lightweight channels Stored in a depot
  34. 34. Easy pattern Shortcuts Increasing specificity Installed by hab
  35. 35. Binaries and Config Metadata Side-by-side Packages Contain
  36. 36. Install automatically Keep things running Manage configuration Supervisors run services
  37. 37. Print config options 12-Factor style Externally enforced Environment configuration
  38. 38. More flexible than environment Universal location Externally enforced File configuration
  39. 39. How do you... Build immutable infrastructure but allow last mile Application config changes? Ship the config along side an immutable application artifact. Provide a supervisor to dynamically update the config based on environment or service discovery.
  40. 40. Supervisors provide a REST API External Actors Health and Status Supervisor Debugging
  41. 41. How do you... Orchestrate the application launch order & topology required? Provide config aware, autonomous, self-organizing peers (supervisors) with built in topologies for clustering strategies.
  42. 42. Supervisors form a ring Peers Service Groups Gossip Availability increases with scale
  43. 43. Supervisors support topologies Dynamic configuration Service group level Uses the ring
  44. 44. Supervisors provide update strategies Topology aware Tracks views in the depot Ideal for Continuous Delivery
  45. 45. SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR USER ARTIFACT How we do it Packaging Applications Running Applications Confidential & subject to NDA. Patents Pending. PLAN DEPOT DEPOT ARTIFACT BARE METAL CONTAINERS AMI VM
  46. 46. How we do it LEADER INITIALIZE R STAND ALONE Topologies Update StrategyRunning Applications Confidential & subject to NDA. Patents Pending. SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR “ALL AT ONCE” ARTIFACT DEPOT SERVICE SUPERVISOR
  47. 47. SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR How we do it Security PUB KEY SYMMETRIC ENCRYPTION LOAD BALANCER Build Service BUILD SERVICE USER SECRET PAYLOADS SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR SERVICE SUPERVISOR ARTIFACTPLAN DEPOT Confidential & subject to NDA. Patents Pending.
  48. 48. How do you... Build containers with the Minimum Viable OS? Allow applications to declare their runtime dependencies, and resolve those dependencies from the application to the infrastructure.
  49. 49. Docker ACI Mesosphere Post-process packages
  50. 50. Habitat + Containers ● Container formats recreate the traditional model of infrastructure and applications. ● Poor at abstracting the Build + Run aspects of Applications Libraries Operating System Application Application & Libraries ● Habitat builds containers from the application down ● Small lightweight OS included ● Embedded Supervisor for Application Management Application Libraries
  51. 51. Operable ApplicationContainers •Isolated •Immutable •Configurable •Common interface for monitoring health •Rebuild from source •Common packaging •Runtime Independence
  52. 52. Habitat’s technology Confidential & subject to NDA. Patents Pending. ● Describes how to build the software ● Explicit about dependencies ● Includes what is configurable about the application ● Built in service discovery ● Self-organizes into topologies ● Handles inter-service discovery through binding ● Has no single point of failure BUILD DEPLOY MANAGE ● Encrypted, authenticated run-time configuration ● Automatic, safe, atomic software updates ● Dynamic topology updates
  53. 53. What the modern application team gets Developers, System Administrators, CIOs; Enterprise and Tech Innovators ▪ Runs the same way in any environment ▪ Management travels with the application; no drift ▪ Autonomous and self- organizing ▪ Legacy and Greenfield ▪ Lets the enterprise modernize without re-writing the world ▪ Faster to build, easier to deploy, safer to manage ▪ Easiest way to deploy containers and microservices in production ▪ Developers can focus on building great applications ▪ Systems Administrators can focus on how thoseapplications should behave ▪ Gives both a language they can share, with clear boundaries Simplification Acceleration Empowerment Confidential & subject to NDA. Patents Pending.
  54. 54. It’s all open source Apache License
  55. 55. Support, services, and training Chef as your partner for success with continuous automation ▪ On Demand. Chef can provide dedicated support for your installation with experts from our customer success team. ▪ Vibrant Community. In addition to direct support, Chef has a huge and active community ready and willing to provide guidance and best practice. ▪ Custom development. Chef can design and build configuration cookbooks, compliance profiles and application packages using our in-house experts. ▪ Accelerators. Our architects and DevOps practitioners can provide the experience needed to get to success quickly ▪ Public and Private Training. We can deliver in-person and on- demand training to suit your needs. ▪ Certification. Chef can help ensure your team has the right knowledge for continued success. Support from the source Services for outcomes Training for capability By bringing in Chef, we were able to automate very heterogeneous infrastructures that included both legacy and new applications
  56. 56. Habitat Community • 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 • Join the Habitat Forums - https://forums.habitat.sh/
  57. 57. Thank you!

×