
Negar Zamiri
Thesis Abstract
Infrastructure management (including the setup of networks, virtual machines, servers, and software stacks) is an essential activity in cloud environments and data centers. Infrastructure as Code, or IaC for short, refers to the process of managing the infrastructure using a high-level programming language. It offers numerous benefits, such as cost reduction, increased speed, and decreased risk and human intervention. However, IaC is currently afflicted with serious problems, including tedious, manual and error-prone tasks, along with requiring the users to create IaC solutions through scripting, which calls for comprehensive knowledge and training across a wide range of diverse and heterogeneous cloud platforms.
A model-driven engineering approach can facilitate the creation of complex code and tools, as well as help build language-independent models that are automatically translated into IaC. The purpose of this project is to use model-driven engineering to produce a tool to create language-independent models that are automatically converted to IaC. To achieve this goal, it is necessary to first review and evaluate the existing methods (as well as patterns) in IaC. In the next step, with special attention to IaC considerations, the required modeling levels and model transformation rules will be defined and implemented as a tool. The produced tool will be validated based on relevant evaluation criteria and also through a practical project in an organizational setting.
A model-driven engineering approach can facilitate the creation of complex code and tools, as well as help build language-independent models that are automatically translated into IaC. The purpose of this project is to use model-driven engineering to produce a tool to create language-independent models that are automatically converted to IaC. To achieve this goal, it is necessary to first review and evaluate the existing methods (as well as patterns) in IaC. In the next step, with special attention to IaC considerations, the required modeling levels and model transformation rules will be defined and implemented as a tool. The produced tool will be validated based on relevant evaluation criteria and also through a practical project in an organizational setting.
Keywords
Microservice, Model-Driven Engineering, Model Transformation, Automatic Code Generation, Infrastructure as Code, IaC