DevOps methodologies came into play as a manner to narrow the gap between the development and operation teams, and produce faster, higher quality products. It comes with a series of stages that should be run iteratively to achieve the DevOps overarching goal of improving the success, and acceptance of software projects in production environments. These stages are depicted in the following figure.
Figure 1 - The DevOps lifecycle
On the other hand, in recent years IaC tools that can provide the necessary infrastructural devices for the applications to be deployed have appeared. These tools serve as a description for the infrastructural devices and their inner configuration which can be tracked and modified in traditional code repositories, hence focusing in the code stage of the aforementioned DevOps lifecycle. In addition, they can provision such devices in private and public cloud providers, and configure the networking, and software requirements necessary for the applications to run seamlessly. This way, the similarities between the development, testing, and production environments are minimized and so are the pitfalls in the operationalization of software projects. However, with the increasing heterogeneity of the IaC tools it becomes harder to chose between them, as some may be more appropriate to certain use cases and vice versa. In PIACERE, we present the Infrastructure Execution Manager (IEM), which can unify this heterogeneity into one common interface. In the following figure, the IEM is fed with a mixture of two different provisioning and configuration tools very often utilized in production environments: Terraform , and ansible ; and yields a deployment in various cloud providers: AWS , Azure , and OpenStack .
In the PIACERE ecosystem, the IEM oversees handling the different nuances between the provisioning and configuration tools. It receives an Infrastructure as Code project and executes it regardless of the underlying technologies. At the moment, a subset of the technologies and providers are supported. However, it is designed with the mindset of being extensible and scalable to future technologies not currently supported, or even in the market.
 Terraform, «Terraform,» 3 3 2022. [En línea]. Available: Terraform.
 Red Hat, «Ansible is Simple IT Automation,» 3 3 2022. [En línea]. Available: https://www.ansible.com/.
 Amazon Web Services, Inc, «AWS | Cloud Computing,» [En línea]. Available: https://aws.amazon.com/. [Último acceso: 3 3 2022].
 Microsoft, «Azure,» [En línea]. Available: https://azure.microsoft.com. [Último acceso: 3 3 2022].
 OpenStack, «OpenStack,» 3 3 2022. [En línea]. Available: https://www.openstack.org/.