Structuring Infrastructure as Code with a Layered Approach