Behaviour Driven Infrastructure*
Does Behaviour Driven Development have a role in the infrastructure world? Enter Behaviour Driven Infrastructure where systems administrators can apply BDD principles to make infrastructure management more powerful, more insightful and deliver more value to their customers.
The typical enterprise monitoring and configuration management set-up for a website is:
- Is the Apache package installed and the appropriate version?
- Is the Apache service running?
- Can I connect to the HTTP port and is HTML returned?
Multiply this by a few hundred iterations of hosts and types of services and you’re probably looking at your typical Nagios, Puppet, Cfengine, Hyperic, Tivoli or Patrol set-up.
All this monitoring misses something critical though – we’re not actually monitoring that the service does what it should. Yes, it matters whether Apache is installed, the Apache service is running, and you can connect to HTTP but does this actually prove anything about the availability of the service we’re managing and providing for our customers? Nope…
We need to demonstrate more than just a check that says the Apache server is up. We need to demonstrate that the service delivered by that infrastructure was available to our customers AND functioning as intended.
Enter Behaviour Driven Infrastructure or BDI which applies the principles of Behavioural Driven Development to the management of infrastructure. In this presentation you’ll learn:
- How Behaviour Driven Development works
- What makes a behavioural test
- How to install and use Cucumber to perform BDI
- Practical examples of behavioural tests in Cucumber, and
- How to integrate BDI into your work flow and your enterprise monitoring and configuration management frameworks.
James is an author and open source geek. James authored the first (and thus far only) book about Puppet. He is also the author of three other books including Pro Linux System Administration, Pro Nagios 2.0, and Hardening Linux.
For a real job, James is Director of Operations for Puppet Labs. He likes food, wine, books, photography and cats. He is not overly keen on long walks on the beach and holding hands.