Save 37% off PRO during our Black Friday Sale! »

Delivery with Chef

Delivery with Chef

Presented at ChefConf 2015

In this talk we'll discuss our experience building a continuous delivery solution at Chef, describe the philosophy behind the workflow we encoded, and share a demo of the results of our efforts.

49b59b4f0027999a551728da1fae3029?s=128

Seth Falcon

April 01, 2015
Tweet

Transcript

  1. DELIVERY WITH CHEF Seth Falcon GM, Delivery

  2. A CHEF SINCE 2010

  3. ERCHEF CHEF SERVER ROLES ENDPOINT 90TH PERCENTILE LATENCY

  4. Optimization New product development DELIVERY ? 2014

  5. WORRY ABOUT BUILDING THE WRONG THING TALK TO CUSTOMERS

  6. WORRY ABOUT BUILDING THE WRONG THING TALK TO CUSTOMERS THINGS

    WE DID NOT DO WHEN BUILDING ERCHEF
  7. WORRY ABOUT BUILDING THE WRONG THING TALK TO CUSTOMERS THINGS

    WE DID NOT DO WHEN BUILDING ERCHEF THING WE ARE DOING WHILE BUILDING DELIVERY
  8. NEW PRODUCT DEVELOPMENT Optimize for feedback and learning Design to

    replace
  9. CHEF DELIVERY

  10. CHEF DELIVERY

  11. VALIDATED IN OUR ENGAGEMENTS WITH ENTERPRISE AND BIG WEB CUSTOMERS.

    WE'VE IDENTIFIED A STABLE WORKFLOW
  12. STABLE WORKFLOW Steps Create a new change 1 Test Change

    Locally 2 Verification Tests Submit Change 3 Review Change 4 Build Artifacts Acceptance Tests Approve Change 5 Release Process Deliver Change 6 manual automated
  13. A SHARED PIPELINE ACROSS PROJECTS AND TEAMS

  14. SHARED PIPELINE One Pipeline Delivery Pipeline Acceptance Pipelines Infrastructure &

    Applications
  15. THE STAGES ARE FIXED EACH STAGE HAS A FIXED SET

    OF PHASES A UNIFIED PIPELINE SHAPE
  16. DELIVERY PIPELINE Steps manual automated Verify Lint Syntax Unit Build

    Merge Lint Syntax Unit Quality Security Publish Provision Deploy Smoke Functional Acceptance Union Provision Deploy Smoke Functional Rehearsal Provision Deploy Smoke Functional Delivered Provision Deploy Smoke Functional Stages customizable Verify Build Acceptance Union Rehearsal Delivered Submit Change 3 Review Change 4 Approve Change 5 Deliver Change 6 Chef Delivery Create a new change 1 Test Change Locally 2 Workstation
  17. $ ssh my-node OHAI!!!! $ motd simple-web

  18. Acceptance simple-web Acceptance motd Union Rehearsal Delivered simple-web (motd) simple-web

    (motd) simple-web (motd) simple-web (motd) motd
  19. Acceptance simple-web Acceptance motd Union Rehearsal Delivered simple-web (motd) simple-web

    (motd) simple-web (motd) simple-web (motd) motd
  20. OUR DEMO PLAN 1. Propose a change to motd 2.

    Review acceptance; then hit Deliver 3. See how Union is affected 4. Propose a change to simple-web, see that we get latest motd in acceptance
  21. DEMO TIMES

  22. DELIVERY BY PHONE?

  23. OUR JOURNEY

  24. SHIPPING FEATURES not tasks

  25. SHIPPING FEATURES not tasks

  26. BEING A USER PAYS OFF

  27. THAT MOMENT WHEN we felt what it feels like to

    be ready, flexible, and swift
  28. Adam Jacob Oliver Ferrigni Alex Ethier Salim Afiune Chrostopher Maier

    Scott Christopherson Jean Rouge Seth Falcon Jon Anderson Shelton Davis Jon Morrow Tom Duffield Mark Dennard Jon Morrow TEAM
  29. None
  30. HOW IT WORKS CLI Web Browser Job Dispatch Push Chef

    Server erlang Delivery erlang pgSQL DB git SCM Build Node Build Node Build Nodes