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

Successful Practices for Continuous Delivery

Successful Practices for Continuous Delivery

Infrastructure as Code and DevOps practices are necessary pre-requisites for safely adopting Continuous Delivery. This talk will explore some of the practices your team will need to adopt to safely move fast, continuously delivering value to your customers. It will include a demonstration of Chef's proven approach to a DevOps workflow including Chef Compliance, Chef Delivery, and more.

This was presented at the DevOpsDC Meetup Group.

Nathen Harvey

March 14, 2016
Tweet

More Decks by Nathen Harvey

Other Decks in Technology

Transcript

  1. Nathen Harvey | VP, Community Development | [email protected]
    @nathenharvey

    View Slide

  2. Nathen Harvey
    •  VP, Community Development at Chef
    •  Co-host of the Food Fight Show Podcast
    •  Occasional farmer – http://ei.chef.io
    •  Love eggs – http://eggs.chef.io
    •  Part-time detective - http://bit.ly/detectivedecker
    •  @nathenharvey
    •  [email protected]

    View Slide

  3. EVERY business is a software business
    We’re going to be a software
    company with airplanes.
    – CIO, Alaska Airlines

    View Slide

  4. Quality and innovation, historically a tradeoff
    QUALITY/COMPLIANCE
    RATE OF INNOVATION

    View Slide

  5. Challenges
    Manual processes
    Weeks to setup new systems or software
    Legacy systems and tools
    Inflexible, hard-to-change hardware and software
    Organizational silos
    Unwieldy divisions of responsibility
    Infrequent, large releases
    Fear of deployment due to risk to SLAs
    Regulatory burdens
    Compliance bottleneck at the end of a project

    View Slide

  6. Idea Value
    æ
    S
    ƴ
    Ä
    Nj
    Manual processes
    Weeks to setup new systems or software
    Legacy systems and tools
    Inflexible, hard-to-change hardware and software
    Organizational silos
    Unwieldy divisions of responsibility
    Regulatory burdens
    Compliance bottleneck at the end of a project
    Infrequent, large releases
    Fear of deployment due to risk to SLAs
    Automation
    New systems and software updates deployed in minutes
    Solutions to the challenges

    View Slide

  7. Idea Value
    æ
    S
    ƴ
    Ä
    Nj
    Manual processes
    Weeks to setup new systems or software
    Legacy systems and tools
    Inflexible, hard-to-change hardware and software
    Organizational silos
    Unwieldy divisions of responsibility
    Regulatory burdens
    Compliance bottleneck at the end of a project
    Infrequent, large releases
    Fear of deployment due to risk to SLAs
    Dynamic infrastructure
    Easy migration to on-demand, cloud-based infrastructure and
    management of heterogeneous networks
    Automation
    New systems and software updates deployed in minutes
    Solutions to the challenges

    View Slide

  8. Idea Value
    æ
    S
    ƴ
    Ä
    Nj
    Manual processes
    Weeks to setup new systems or software
    Legacy systems and tools
    Inflexible, hard-to-change hardware and software
    Organizational silos
    Unwieldy divisions of responsibility
    Regulatory burdens
    Compliance bottleneck at the end of a project
    Infrequent, large releases
    Fear of deployment due to risk to SLAs
    Increased cooperation and trust
    Teams are aligned towards common goals
    Dynamic infrastructure
    Easy migration to on-demand, cloud-based infrastructure and
    management of heterogeneous networks
    Automation
    New systems and software updates deployed in minutes
    Solutions to the challenges

    View Slide

  9. Idea Value
    æ
    S
    ƴ
    Ä
    Nj
    Manual processes
    Weeks to setup new systems or software
    Legacy systems and tools
    Inflexible, hard-to-change hardware and software
    Organizational silos
    Unwieldy divisions of responsibility
    Regulatory burdens
    Compliance bottleneck at the end of a project
    Infrequent, large releases
    Fear of deployment due to risk to SLAs
    Increased cooperation and trust
    Teams are aligned towards common goals
    Dynamic infrastructure
    Easy migration to on-demand, cloud-based infrastructure and
    management of heterogeneous networks
    Automation
    New systems and software updates deployed in minutes
    Solutions to the challenges
    Continuous delivery of infrastructure and
    applications
    Safe, rapid delivery of incremental value

    View Slide

  10. Idea Value
    æ
    S
    ƴ
    Ä
    Nj
    Manual processes
    Weeks to setup new systems or software
    Legacy systems and tools
    Inflexible, hard-to-change hardware and software
    Organizational silos
    Unwieldy divisions of responsibility
    Regulatory burdens
    Compliance bottleneck at the end of a project
    Infrequent, large releases
    Fear of deployment due to risk to SLAs
    Compliance at velocity
    Integration of compliance into the workflow using automated
    tests
    Increased cooperation and trust
    Teams are aligned towards common goals
    Dynamic infrastructure
    Easy migration to on-demand, cloud-based infrastructure and
    management of heterogeneous networks
    Automation
    New systems and software updates deployed in minutes
    Continuous delivery of infrastructure and
    applications
    Safe, rapid delivery of incremental value
    Solutions to the challenges

    View Slide

  11. The game changer: rapid time to value
    Innovation
    Quality/
    Compliance
    Dynamic
    Infrastructure

    View Slide

  12. Dynamic infrastructure
    Migrate applications to the cloud and support hybrid and multi-cloud
    environments. Automate the management of heterogeneous
    networks, including legacy systems.
    •  Provisioning and setting up environments
    •  Dynamic scaling of compute resources
    •  Migrating legacy workloads to the cloud
    •  Multi cloud and hybrid cloud deployment
    •  Support for heterogeneous environments

    View Slide

  13. The game changer: rapid time to value
    Innovation
    Quality/
    Compliance
    Dynamic
    Infrastructure
    Infrastructure as Code
    Automate the Stack
    +

    View Slide

  14. Infrastructure as Code
    •  Programmatically provision and configure
    components
    •  Treat like any other code base
    •  Reconstruct business from code repository, data
    backup, and compute resources

    View Slide

  15. Automation
    Turn infrastructure into code—infrastructure as code is versionable,
    testable and repeatable. Manual processes become a thing of the
    past.
    •  Automated, full-stack application policies
    •  Package and service installation
    •  Versionable, testable, repeatable workflow
    •  Scalable application policies
    •  Management of interdependencies across nodes

    View Slide

  16. Describe Infrastructure as Code
    httpd_service 'customers' do
    mpm 'prefork'
    action [:create, :start]
    end
    httpd_config 'customers' do
    instance 'customers'
    source 'customers.conf.erb'
    notifies :restart, 'httpd_service[customers]'
    end
    directory '/var/www/customers/public_html' do
    recursive true
    end

    View Slide

  17. Test the Code
    describe 'apache::default' do
    context 'When all attributes are default, on an unspecified platform' do
    let(:chef_run) do
    runner = ChefSpec::ServerRunner.new
    runner.converge(described_recipe)
    end
    it 'converges successfully' do
    expect { chef_run }.to_not raise_error
    end
    it 'installs apache' do
    expect(chef_run).to install_package 'apache2'
    end
    end
    end

    View Slide

  18. Version the Code & the Artifact
    name 'cmgw'
    maintainer 'Chef Software, Inc.'
    maintainer_email '[email protected]'
    license 'apache2'
    description 'Installs/Configures cmgw'
    long_description 'Installs/Configures cmgw'
    version '0.1.0'

    View Slide

  19. The game changer: rapid time to value
    Innovation
    Quality/
    Compliance
    Dynamic
    Infrastructure
    Infrastructure as Code
    Automate the Stack
    DevOps
    + +

    View Slide

  20. DEVOPS
    A cultural and professional movement,
    focused on how we build and operate
    high velocity organizations, born from
    the experiences of its practitioners.

    View Slide

  21. PEOPLE
    PRODUCTS
    COMPANIES

    View Slide

  22. WE ARE LEAN
    •  Eliminate non-value-added action (Waste/Muda)
    •  Pull over Push
    •  Kaizen (Continuous Improvement)
    •  Kaikaku (Disruptive Change)
    •  Small Batch + Experimentation

    View Slide

  23. View Slide

  24. UBIQUITOUS
    WORKFLOW
    AUTOMATION

    View Slide

  25. DIVERSITY

    View Slide

  26. DevOps workflow & culture
    Eliminate silos and lower the overhead of IT operations and service
    management by supporting DevOps culture. Build communities.
    •  Unified workflow for application and infrastructure
    •  Integration with version control for dev and ops
    •  Support for automated testing of infrastructure and
    applications
    •  Integration of security and compliance into product
    development
    •  Advanced, high-velocity workflow

    View Slide

  27. The rewards?*
    *source: Dr. Nicole Forsgren research on DevOps
    More deployments
    Ship faster
    Faster MTTR after issues
    More profits, market share, and productivity
    Market cap goes up

    View Slide

  28. Continuous delivery of infrastructure & apps
    Implement a high-velocity software delivery pipeline that integrates
    application and infrastructure. Eliminate the risks incurred with large,
    infrequent releases.
    •  Rapid provisioning of dev and test environments
    •  Ensure consistency and repeatability of environments
    •  Unified pipeline for infrastructure, runtime
    environments and applications
    •  Support for large teams with multiple projects
    •  Advanced, high-velocity workflow

    View Slide

  29. View Slide

  30. View Slide

  31. MANAGE RISK
    •  Small batches, near term hypothesis
    •  Validation comes from customers
    •  Introduce near-term volatility to gain decreased
    long-term risk

    View Slide

  32. CONTINUOUS INTEGRATION
    •  Always integrate branches to master
    •  They should be short lived, iterative branches
    •  Fix the build when it goes red

    View Slide

  33. THE FOUR-EYE RULE

    View Slide

  34. WRITE TESTS
    •  Unit test (a single function)
    •  Integration tests (multiple classes/units)
    •  Functional tests (user-oriented, high-level, full
    stack)
    •  Smoke tests (quickly determine if the system is
    “working”)

    View Slide

  35. ONE PATH FOR CHANGE
    •  The way change moves through your
    organization is fixed
    •  Designed to re-enforce your principles and aid
    flow
    •  Flexible at the level of execution

    View Slide

  36. CODE GOES THROUGH THE
    SAME WORKFLOW
    Applications are code
    Infrastructure is code

    View Slide

  37. Security and compliance at velocity
    Regulatory compliance and security concerns are facts of life for
    every enterprise. At the same time, competitive pressures are
    increasing. Embed requirements into the software delivery pipeline.
    Code makes compliance at velocity possible.
    •  Embed compliance into the software delivery pipeline
    •  Automated checking of compliance criteria with
    analytics
    •  Structured review process during development
    •  Discovery and analysis
    •  Patch management and remediation

    View Slide

  38. Chef Provides a Proven Approach to DevOps
    ...
    ...
    ...
    Targets/Workloads
    Collaborative Dev Production
    Chef Server
    Chef Server
    Chef Supermarket
    Assessment
    Chef Compliance
    Search
    ^ Audit
    Ǘ Discover
    Deploy
    Chef Delivery!
    Local Dev
    ê Model
    ƨ Build
    ¿ Test
    Chef DK
    Chef Client & Cookbooks

    View Slide

  39. Chef Provides a Proven Approach to DevOps
    ...
    ...
    ...
    Targets/Workloads
    Assessment
    Chef Compliance
    Search
    ^ Audit
    Ǘ Discover

    View Slide

  40. Chef Provides a Proven Approach to DevOps
    ...
    ...
    ...
    Targets/Workloads
    Assessment
    Chef Compliance
    Search
    ^ Audit
    Ǘ Discover
    Local Dev
    ê Model
    ƨ Build
    ¿ Test
    Chef DK
    Chef Client & Cookbooks

    View Slide

  41. Chef Provides a Proven Approach to DevOps
    ...
    ...
    ...
    Targets/Workloads
    Collaborative Dev
    Assessment
    Chef Compliance
    Search
    ^ Audit
    Ǘ Discover
    Deploy
    Chef Delivery!
    Local Dev
    ê Model
    ƨ Build
    ¿ Test
    Chef DK
    Chef Client & Cookbooks

    View Slide

  42. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Submit
    Change

    View Slide

  43. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Lint
    Syntax
    Unit
    Submit
    Change

    View Slide

  44. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Lint
    Syntax
    Unit
    Submit
    Change
    Does this
    code change
    look good?

    View Slide

  45. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Lint
    Syntax
    Unit
    Security
    Quality
    Publish
    Lint
    Syntax
    Unit
    Submit
    Change
    Does this
    code change
    look good?

    View Slide

  46. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Lint
    Syntax
    Unit
    Security
    Quality
    Publish
    Lint
    Syntax
    Unit
    Provision
    Deploy
    Smoke
    Functional
    Submit
    Change
    Does this
    code change
    look good?

    View Slide

  47. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Lint
    Syntax
    Unit
    Security
    Quality
    Publish
    Lint
    Syntax
    Unit
    Provision
    Deploy
    Smoke
    Functional
    Submit
    Change
    Does this
    code change
    look good?
    Do we want
    to ship this?

    View Slide

  48. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Lint
    Syntax
    Unit
    Security
    Quality
    Publish
    Lint
    Syntax
    Unit
    Provision
    Deploy
    Smoke
    Functional
    Provision
    Deploy
    Smoke
    Functional
    Submit
    Change
    Does this
    code change
    look good?
    Do we want
    to ship this?

    View Slide

  49. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Lint
    Syntax
    Unit
    Security
    Quality
    Publish
    Lint
    Syntax
    Unit
    Provision
    Deploy
    Smoke
    Functional
    Provision
    Deploy
    Smoke
    Functional
    Provision
    Deploy
    Smoke
    Functional
    Submit
    Change
    Does this
    code change
    look good?
    Do we want
    to ship this?

    View Slide

  50. Unified Pipeline Shape
    The stages are fixed, and each stage has a fixed set of phases!
    APPROVE DELIVER
    Lint
    Syntax
    Unit
    Security
    Quality
    Publish
    Lint
    Syntax
    Unit
    Provision
    Deploy
    Smoke
    Functional
    Provision
    Deploy
    Smoke
    Functional
    Provision
    Deploy
    Smoke
    Functional
    Provision
    Deploy
    Smoke
    Functional
    Submit
    Change
    Does this
    code change
    look good?
    Do we want
    to ship this?

    View Slide

  51. Shared Workflow
    Delivery’s pipeline is shared across projects and teams

    View Slide

  52. Chef Provides a Proven Approach to DevOps
    ...
    ...
    ...
    Targets/Workloads
    Collaborative Dev Production
    Chef Server
    Chef Server
    Chef Supermarket
    Assessment
    Chef Compliance
    Search
    ^ Audit
    Ǘ Discover
    Deploy
    Chef Delivery!
    Local Dev
    ê Model
    ƨ Build
    ¿ Test
    Chef DK
    Chef Client & Cookbooks

    View Slide

  53. What questions can I answer for you?

    View Slide

  54. Nathen Harvey
    •  VP, Community Development at Chef
    •  Co-host of the Food Fight Show Podcast
    •  Occasional farmer – http://ei.chef.io
    •  Love eggs – http://eggs.chef.io
    •  Part-time detective - http://bit.ly/detectivedecker
    •  @nathenharvey
    •  [email protected]

    View Slide