TOSCA for Microservice Deployment in Distributed Control Systems: Experiences and Lessons Learned
Heiko Koziolek, Rhaban Hark, Nafise Eskandani, Phuoc Sang Nguyen, Pablo Rodriguez · 2023
The OASIS TOSCA language provides means for specifying the deployment of microservices to cloud-platforms in a vendor-neutral way. Designed in a independent of any application domain, it needs to be tailored to the distributed control systems (DCS), which for example manage the automation in chemical refineries, renewables production, and mining applications. There is still a lack of experience reports applying OASIS TOSCA in real-world settings, therefore the benefits and drawbacks of using this technology are still not well understood. In this context, we designed a simple DCS consisting of several microservices modelled in TOSCA and implemented an according TOSCA orchestrator. We executed a case study deploying the microservices to an on-premise and a cloud-based Kubernetes environment. While TOSCA provides a sophisticated object-oriented language, we found a few specification gaps, challenges when creating portable service templates, and challenges for synchronizing TOSCA orchestrators with DCS engineering tools as well as container orchestrators. The adoption of TOSCA in the process automation domain thus requires more work on the specification and tools and remains a mid-term goal.