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

Modern Infrastructure Automation

Nathen Harvey
November 15, 2016

Modern Infrastructure Automation

Automation at scale is the foundation of every successful high velocity organization. Automation requires dynamic infrastructure that is managed as code. Modern infrastructure code means bringing the lessons from software development to your infrastructure. Automation is managed in version control systems, tests drive code development, code moves through a continuous pipeline from the workstation to the production environment. What will this look like in five years? We will see a continued improvement in the way teams work together toward common goals, build more operable applications, and embrace complexity while improving ease-of-use.

This was presented during the All Day DevOps Conference - http://alldaydevops.com/

Nathen Harvey

November 15, 2016
Tweet

More Decks by Nathen Harvey

Other Decks in Technology

Transcript

  1. November 15, 2016 Modern Infrastructure Automa:on Nathen Harvey, VP Community

    Development, Chef | @nathenharvey
  2. November 15, 2016 Nathen Harvey VP, Community Development at Chef

    Co-host of the Food Fight Show Podcast Occasional farmer – hNp://ei.chef.io Love eggs – hNp://eggs.chef.io #hugops – hNp://hugops.chef.io @nathenharvey nharvey@chef.io
  3. November 15, 2016 We’re no longer an airline. We’re a

    software company with wings. – Veresh Sita, CIO, Alaska Airlines Now every business is a software business
  4. November 15, 2016 No high velocity company has gotten there

    without automation at scale as a foundation Automation at scale is required for high velocity IT Continuous Improvement Citi relies on Chef as the automation platform used to help transform over 3,000 application teams. Chef is important enough to Citi that Citi became an investor in Chef. Chef is the platform for a continuous delivery pipeline empowering application teams to ship a thousand plus changes per day across “Carl Sagan size deployments.” GE touts Chef as the most rapidly adopted technology in the history of GE. idea ship
  5. November 15, 2016 Automation at Scale Dynamic Infrastructure

  6. November 15, 2016 Dynamic infrastructure Migrate applica:ons to the cloud

    and support hybrid and mul:-cloud environments. Automate the management of heterogeneous networks, including legacy systems. •  Provisioning and seUng up environments •  Dynamic scaling of compute resources •  Migra:ng legacy workloads to the cloud •  Mul: cloud and hybrid cloud deployment •  Support for heterogeneous environments
  7. November 15, 2016 Dynamic Infrastructure Infrastructure as Code + Automation

    at Scale
  8. November 15, 2016 Infrastructure as Code Turn infrastructure into code—infrastructure

    as code is versionable, testable and repeatable. Manual processes become a thing of the past. •  Automated, full-stack applica:on policies •  Package and service installa:on •  Versionable, testable, repeatable workflow •  Scalable applica:on policies •  Management of interdependencies across nodes
  9. November 15, 2016 Infrastructure as Code •  Programma:cally provision and

    configure components
  10. November 15, 2016 Infrastructure as Code •  Programma:cally provision and

    configure components •  Treat like any other code base
  11. November 15, 2016 Infrastructure as Code •  Programma:cally provision and

    configure components •  Treat like any other code base •  Reconstruct business from code repository, data backup, and compute resources
  12. November 15, 2016 Infrastructure as code and delivery at scale

    •  Manages deployment and on-going automation •  Define reusable resources and infrastructure state as code •  Scale elegantly from one to tens of thousands of managed nodes across multiple complex environments
  13. November 15, 2016 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(platform: 'ubuntu', version: '16.04') runner.converge(described_recipe) end it 'installs apache' do expect(chef_run).to install_package 'apache2' end end end
  14. November 15, 2016 Version the Code & the Ar:fact name

    'all_day_devops' maintainer 'Nathen Harvey' maintainer_email 'nharvey@chef.io' license 'apache2' description 'Installs/Configures devops all day long' long_description 'Installs/Configures devops all day' version '0.1.0'
  15. November 15, 2016 Infrastructure Code Source Code Repo Artifact Artifact

    Repo
  16. November 15, 2016 Pipeline to Produc:on Test the code

  17. November 15, 2016 Pipeline to Produc:on APPROVE Test the code

    Does this code change look good?
  18. November 15, 2016 Pipeline to Produc:on APPROVE Test the code

    Build an artifact Does this code change look good?
  19. November 15, 2016 Pipeline to Produc:on APPROVE Test the code

    Build an artifact Test the artifact Does this code change look good?
  20. November 15, 2016 Pipeline to Produc:on APPROVE DELIVER Test the

    code Build an artifact Test the artifact Does this code change look good? Do we want to ship this?
  21. November 15, 2016 Pipeline to Produc:on APPROVE DELIVER Test the

    code Build an artifact Test the artifact Ship to customers Does this code change look good? Do we want to ship this?
  22. November 15, 2016 What’s Next?

  23. November 15, 2016 Infrastructure Automation Infrastructure Automa:on is NOT Enough

  24. November 15, 2016

  25. November 15, 2016 Communications Problem

  26. November 15, 2016 Mapping Compliance Document to InSpec control 'ssh-6.2.1'

    do title 'Set SSH Protocol to 2' end
  27. November 15, 2016 Mapping Compliance Document to InSpec control 'ssh-6.2.1'

    do title 'Set SSH Protocol to 2' desc " SSH supports two different ... " end
  28. November 15, 2016 Mapping Compliance Document to InSpec control 'ssh-6.2.1'

    do title 'Set SSH Protocol to 2' desc " SSH supports two different ... " describe sshd_config do its('Protocol') { should cmp('2') } end end
  29. November 15, 2016 Mapping Compliance Document to InSpec control 'ssh-6.2.1'

    do impact 1.0 title 'Set SSH Protocol to 2' desc " SSH supports two different ... " describe sshd_config do its('Protocol') { should cmp('2') } end end
  30. November 15, 2016 Infrastructure Automation Compliance Automation

  31. November 15, 2016

  32. November 15, 2016 Applica:ons

  33. November 15, 2016 Modern Applica:ons Source Code Repo Artifact Bare

    Metal Containers Cloud Instance VM Artifact Repo
  34. November 15, 2016 Operable Applica:ons •  Isolated •  Immutable • 

    Configurable •  Common interface for monitoring health •  Rebuild from source •  Common packaging •  Run:me Independence
  35. November 15, 2016 Freedom to Focus • Create features to drive

    the business and delight customers • Bare metal, virtualiza:on, cloud, PaaS? • Defer choices about infrastructure un:l late in the development lifecycle
  36. November 15, 2016 Infrastructure Automation Application Automation Compliance Automation

  37. November 15, 2016 Infrastructure Automation Application Automation Compliance Automation

  38. November 15, 2016

  39. DEVOPS A cultural and professional movement, focused on how we

    build and operate high velocity organizations, born from the experiences of its practitioners.
  40. People Products Companies

  41. None
  42. Non-bullet slide Non-bullet slide subtitle Community Our Foundation

  43. November 15, 2016

  44. November 15, 2016

  45. November 15, 2016 Nathen Harvey VP, Community Development at Chef

    Co-host of the Food Fight Show Podcast Occasional farmer – hNp://ei.chef.io Love eggs – hNp://eggs.chef.io #hugops – hNp://hugops.chef.io @nathenharvey nharvey@chef.io