How do you ensure reproducible and consistent environments across the development lifecycle using Infrastructure as Code?