Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cyber Summit 2014 - Test Kitchen and Infrastructure as Code

Cyber Summit 2014 - Test Kitchen and Infrastructure as Code

Automatic for the People: Fostering a Culture of Efficiency in the Workplace

Thursday, September 25, 2014
10:30 am — 12:00 pm
Banff Centre, Kinnear Centre Room 101

Automation tools make it possible for an organization’s IT department to better monitor and manage infrastructure through its entire lifecycle. This increases the output and lifespan of equipment, and reduces costs.

What applications do automation tools apply to? And what kind of culture shift is required to bring this software onboard? Hear first-hand accounts and tips from technology-neutral experts.

Presentation Format

Each presenter will give a 15 minute presentation, with visuals, introducing themselves and describing one or two automation tools they use, and the training and office environment shifts required to incorporate them.

A 15-minute Q&A will be held at the end.

9891e8299426fb9b6e361b84b3155a2d?s=128

Fletcher Nichol

September 25, 2014
Tweet

More Decks by Fletcher Nichol

Other Decks in Technology

Transcript

  1. Test Kitchen and Infrastructure as Code Cyber Summit 2014 September

    25, 2014 Fletcher Nichol @fnichol
  2. http://hw-ops.com

  3. 1. Infrastructure as Code 2. Test Kitchen Agenda

  4. I am a software developer Preface

  5. What is Infrastructure?

  6. Physical and virtual resources: compute (servers, vms), networking, storage, etc.

    Infrastructure
  7. What is Infrastructure Automation?

  8. Code

  9. Software

  10. What is Infrastructure As Code?

  11. “Enable the reconstruction of the business from nothing but a

    source code repository, an application data backup, and bare metal resources” Infrastructure as Code - Adam Jacob, Web Operations
  12. None
  13. None
  14. If we can model infrastructure as code

  15. If we can model infrastructure as code can we apply

    code process and practices?
  16. In other words…

  17. Can we apply

  18. Can we apply Software Engineering to infrastrcuture?

  19. Yep.

  20. What processes and practices apply to software?

  21. Testing

  22. Test Kitchen “Your infrastructure deserves tests too”

  23. None
  24. An infrastructure testing tool Test Kitchen

  25. Used in development Test Kitchen

  26. Used in CI/CD pipeline Test Kitchen

  27. Describes your testing setup on a single server Test Kitchen

  28. .kitchen.yml Test Kitchen Code

  29. --- driver: name: vagrant ! provisioner: name: chef_solo ! platforms:

    - name: ubuntu-14.04 - name: centos-6.5 ! suites: - name: client run_list: - recipe[postgresql::client] - name: server run_list: - recipe[postgresql::server] Code
  30. --- driver: name: vagrant ! provisioner: name: chef_solo ! platforms:

    - name: ubuntu-14.04 - name: centos-6.5 ! suites: - name: client run_list: - recipe[postgresql::client] - name: server run_list: - recipe[postgresql::server] Code
  31. --- driver: name: vagrant ! provisioner: name: chef_solo ! platforms:

    - name: ubuntu-14.04 - name: centos-6.5 ! suites: - name: client run_list: - recipe[postgresql::client] - name: server run_list: - recipe[postgresql::server] Code
  32. --- driver: name: vagrant ! provisioner: name: chef_solo ! platforms:

    - name: ubuntu-14.04 - name: centos-6.5 ! suites: - name: client run_list: - recipe[postgresql::client] - name: server run_list: - recipe[postgresql::server] Code
  33. --- driver: name: vagrant ! provisioner: name: chef_solo ! platforms:

    - name: ubuntu-14.04 - name: centos-6.5 ! suites: - name: client run_list: - recipe[postgresql::client] - name: server run_list: - recipe[postgresql::server] Code
  34. Runs multiple testing setups in isolation Test Kitchen

  35. Plugin system to support automation tools, cloud providers, & testing

    frameworks Test Kitchen
  36. Amazon EC2, Rackspace, Digital Ocean, OpenStack, LXC, Vagrant, CloudStack, Joyent,

    VMware vSphere, Google Compute Engine, Microsoft Azure, Docker, etc. Test Kitchen Drivers
  37. Chef (Solo, Client), Simple Shell, Puppet (Apply), Salt, Ansible, etc.

    Test Kitchen Provisioners
  38. Simple bash, bats, MiniTest, shUnit2, Aruba, Serverspec, RSpec, shpec, Cucumber,

    etc. Test Kitchen Testing Frameworks
  39. http://kitchen.ci/docs/getting-started/ Test Kitchen Getting Started

  40. “In short, software is eating the world.” It’s All Software

    - Marc Andreessen, 2011
  41. Infrastructure Automation is Real

  42. Infrastructure Automation is Real Hard™

  43. Infrastructure Automation is Real …but

  44. Infrastructure Automation is Real Possible™

  45. Thanks! Cyber Summit 2014 September 25, 2014 Fletcher Nichol @fnichol

  46. Photo Credits https://flic.kr/p/fD2CXV https://flic.kr/p/i3NECz https://flic.kr/p/9urXjF