Mastering Infrastructure as Code (IaC): From Foundational Pieces to Successful Deployment