Design patterns for Infrastructure as Code: modules, composition, testing, drift detection, and cost management.