The definition and provisioning process of an infrastructure is a very extensive activity. Computing and networking capabilities have to be provisioned as well as the software to be installed. Considering concepts like microservices, the complexity of these infrastructures even increases. Additionally, one has to keep track of the state of an already provisioned infrastructure. Due to the diverse nature of complex infrastructure definition, multiple stakeholders with various capabilities are involved. Concepts like Infrastructure as Code exist, however, their usage is inconvenient and requires deep technical knowledge not all stakeholder can provide. To support the different stakeholders throughout the processes of infrastructure definition, provisioning and management, we propose a self-service for complex infrastructures. Following a model-driven, generative approach and proposing a hierarchical domain model, we support concepts for information hiding and reusability in different contexts. Additionally, core concepts for the definition of infrastructures and dependency modeling in infrastructures are explained.
Furthermore, we provide an exemplary mapping between multiple stakeholders, the activities they carry out and our domain model. Finally, we create an implementation of our concepts by extending the compliance management framework COMET and thereby provide a tool supporting the various stakeholders in their activities.