We are developing the DOML (DevOps Modeling Language) to support end users in modeling an application and its required infrastructure and in generating ready to use Infrastructure as Code from it.
The DOML specification is progressing. We have released the first version (see at the DOML website: https://www.piacere-doml.deib.polimi.it/) and we are intensively testing it by modeling the examples from the PIACERE case studies.
The main problem we are facing is ensuring readability and usability of a DOML model in combination with its ability to generate complete and executable Infrastructure as Code.
At the moment we can show that the approach works for relatively simple and small systems as shown on the Figure.1. Now the challenge is to check whether the approach is usable and works with the complex PIACERE case studies that include applications with multiple components that rely on different computational resources and middleware layers.
Figure 1. DOML approach example
An interesting requirement that has emerged from one of these case studies concerns the need to create DOML models for multi-platform deployment and operation. In fact, our partners want to be able to write a DOML model once and then use it to deploy the same complex system on AWS resources, on local physical machines, and on a containerized environment. This has resulted in the definition of the DOML as a multi-layer modeling language, where the application and abstract infrastructure layers includes a platform-independent specification of the application and its underlying infrastructure, while the concrete infrastructure layer specifies the details associated to the actual deployment on a specific platform.
We plan to release version 2.0 of the DOML by the end of May 2022, version 3.0 by November 2022, and version 4.0 by the end of 2023. Other minor releases will be delivered as needed. All releases are publicly available on the DOML website.