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

Infrastructure Testing: Grey Matter

Infrastructure Testing: Grey Matter

As more organizations start to embrace the DevOps culture, there are very unique hurdles that each must overcome. One of the major hurdles we have had to overcome is the ability to verify our infrastructure prior to rolling out each of the pieces. The two major pieces of this are idempotent provisioning and the ability to monitor all necessary aspects of the environment. For this we utilize Chef and Sensu respectively, allowing us to have with pretty good certainty as to what state the systems are in and how well they are running. There will always be cases were we can not run these tools or the tools are not able to provide all of the necessary information, putting us into a grey area with the amount of confidence we have in the system.

Anthony Spring

August 19, 2014
Tweet

More Decks by Anthony Spring

Other Decks in Technology

Transcript

  1. What is grey matter? Grey matter is the area of

    your infrastructure where you have the least amount of confidence.
  2. What about… images we did not create? machines we did

    not provision? machines we can not/do not monitor?
  3. Why ServerSpec? Easy to use Extensible Put tests into source

    control Only need SSH access on remote machine
  4. Integration Testing Utilize KitchenCI + ServerSpec for integration testing of

    Chef cookbooks and roles. Perform a basic set of specs that are applicable to all tests in a cookbook. Create highly specific tests to help increase confidence in a cookbook and cookbook dependencies.
  5. Developer Environments A spec was created for all of the

    pieces of the developer stack Organize the specs based off of a team Two commands to evaluate the configuration of the environment
  6. Box Creation and Delivery Utilize Packer and Racker to build

    boxes. Execute set of specs as part of build process. Lets us test kickstart, provisioning scripts, as well as Chef provisioned assets.
  7. Third Party Machines Guarantee compliance with requirements — disks, mounts,

    cpu, packages, etc. Continuous compliance, process, and system monitoring. Reduce the feedback loop for identifying issues.