DevOps is the growing practice of forging tight collaboration between application developers and IT operations staff to continually improve performance, automation, and scalability of software and systems. The philosophy is also the force behind scripting language-based infrastructure automation tools, such as Puppet and Chef. But it’s also a reflection of the necessities that come from trying to provide reliable systems based on increasingly complex and unreliable stacks of software and infrastructure.