One of the main DevOps practices is the automation of resource provisioning and deployment of complex software. This automation is enabled by the explicit definition of Infrastructure-as-Code (IaC), i.e., a set of scripts, often written in different modelling languages, which defines the infrastructure to be provisioned and applications to be deployed. Adopting an IaC approach is not an easy task due to the large variety of scripting languages each specialized on a specific step of the DevOps process. To overcome this problem model-based approaches have been proposed to automatically derive IaC from design artifacts. More recently, the adoption of LLMs as tools to generate the needed scripts has been experimented. This talk will present the state of the art in IaC and will discuss the current evolution from IaC to Policy as Code (PaC).