A developers' journey into building automated tests for IT from the ground up
Stefano Rago @helmoltz
our scenariousers
permissions
backup
email
packages
web server
caches
dns
security
monitoring
and much more…
m
Infrastructure as Code?
0
350
700
1050
1400
2009 2010 2011 2012 2013 2014 2015
chef puppet ansible
m
Should we test infrastructure code?
0
1000
2000
3000
4000
2009 2010 2011 2012 2013 2014 2015
chef, puppet, ansibletest-kitchen, chefspec, serverspec, rspec-puppet
m
Should we test infrastructure code?
Should we test infrastructure code before writing it?
m
Should we test infrastructure code before writing it?
m
reduced cost of maintenance
Should we test infrastructure code before writing it?
outside-in approach
m
Should we test infrastructure code before writing it?
code to the point
m
Should we test infrastructure code before writing it?
loosely coupled code
m
Should we test infrastructure code before writing it?
easy to refactor
m
Should we test infrastructure code before writing it?
safety net
m
Should we test infrastructure code before writing it?
short feedback loop
m
Should we test infrastructure code before writing it?
well designed code
m
Should we test infrastructure code before writing it?
documenting
m
to have a Continuous Integration setup that runs tests at all levels every time we update the configuration of our IT, giving
us feedback about our changes, and catching issues early
m
The building blocks
Virtualization
Configuration management
Test framework
Continuous Integration
m
The building blocks
Virtualization
Configuration management
Test framework
Continuous Integration
KVM, Vagrant
Chef
Test Kitchen
Jenkins
m
The building blocks
Unit
Integration
End-to-end
m
The building blocks
m
Chefspec
Serverspec
Benefits of this setup
m
The journey has just started
!?
m
Thanks
@agilosoftware @agile42@helmoltz
m