Infrastructure under the magnifying glass
Martin Fleischer
Table of content
Continuous DeliveryInfrastructure as Code
Low level QAKitchenCIDilloJS - Verifying your web application
Final wordsQ&A
Introduction
Hands On
Conclusion
Continuous Delivery/DeploymentFrom CI to CD
● Build and test faster + release faster ● Reduce risk of releasing● Get fast feedback● Keep everything in version control & automate almost everything
Infrastructure as CodeWhy testing infrastructure ?
● It’s code !● Collective Ownership - Infrastructure belongs to everyone● Document your infrastructure● Get fast feedback & save time on debugging
Don’t let your infrastructure end up being saddened
Low-Level QAStatic code analysis & unit tests
● Remove code smells● Avoid regression● Improve design with TDD/BDD● Documentation Service
Unit
UI
Low Level QA in the Chef world● Foodcritic - Cookbook linter● Rubocop - Ruby static code analyzer● Chefspec - Chef unit tests
KitchenCIhttp://kitchen.ci/
Integration test harness
● Driver plugin architecture (Amazon EC2, Digital Ocean, Vagrant, Docker, …)
● Run tests on multiple platforms● Support for many test frameworks (Bats, shUnit2, RSpec, Serverspec)
Kitchen workflowhttps://learn.chef.io/local-development/rhel/get-started-with-test-kitchen/
kitchen create
kitchen converge
kitchenlogin
kitchenverify
kitchendestroy
DilloJShttps://github.com/butjar/dillojs
Final words● Infrastructure testing is still at an early stage● Focus is still on integration testing● No rocket science● Participate in DevOps !
Tested infrastructure vs. Untested infrastructure
Q&A
?!
Top Related