Infrastructure as Code (IaC): A Comprehensive Guide