Infrastructure-as-code enables the definition, configuration and provisioning of infrastructure using code. This is an enabler for automation and allows applying proven practices from software engineering to the infrastructure delivery process: version control, reviews, test automation and deployment pipelines give us the security and speed to bring infrastructure changes into production quickly. In this talk, I show some practices and patterns that have proven themselves in practice, how they are successfully applied, and how infrastructure changes can be brought into production through pipelines.