This document discusses DevOps and infrastructure as code. DevOps aims to break down silos between development and operations teams through shared tools and processes to accelerate software delivery. Defining infrastructure as code allows infrastructure to be treated like software managed in version control. This enables automation and removes inconsistencies across environments. The document recommends tools for deployment automation, containers, logging, monitoring, communication and collaboration that can be used to help teams work together more effectively.