A novel approach to software development in the microservice environment of vf-OS
Within the vf-OS project, a common approach is taken for the deployment of computing resources and data models. As such vf-OS represents a modern approach to the software middleware layer, specifically aimed at the manufacturing domain. The approach consists of "Docker"-based microservices, orchestrated through common REST services. Because of the domain, special attention is given to the challenge of running resources OnPremise versus purely InCloud, and the challenges of letting such heterogeneous environments work together.
Challenge
Due to the highly distributed microservices architecture used in vf-OS, such an environment poses some challenges for the software development process which will produce the assets.
vf-OS platform
vf-OS platform provides the environment in which vf-OS assets are installed, run and accessed.
Fig.1 - vf-OS asset interaction
Assets encompass services, tools and applications. Them interact with each other through web-technologies REST-services, Web-based GUIs and modern message busses.
The platform allows the assets to run both InCloud or OnPremise. Data might be produced within the factories and it can be used within cloud applications. It brings security challenges to allow the users to control their data dissemination and also requires security measures to prevent undesired access to machinery and other local resources.
It is solved by introducing a model where there are multiple vf-OS platform instances with a strict inter-platform communication model.
One of the implementation options is that local platforms can communicate with a cloud platform through a controlled proxy asset. The customer application will then run in the cloud platform and only get very controlled access to the data from the factory’s premises.
This distributed environment makes it harder to create consistent, coherent applications, especially with regard to debugging, versioning and other software life-cycle aspects.
To tackle this challenge an integrated development environment has been chosen. This environment is called the vf-OS Studio.
vf-OS Studio
The vf-OS Studio will be available as a set of assets, forming an IDE-like application. The main assets are Javascript-based services. Several SDKs and Javascript libraries are provided for interacting with other assets like Pub/Sub mechanisms, messaging framework and access to storage facilities. Each service will run in its own docker container.
Fig.2 - vf-OS Studio components
MarketPlace
The MarketPlace plays a role in the software development process. It is a marketing and sales channel, a services registry and a place to host the assets for deployment.
External Services
External services can be represented in the single development model as well, by encapsulating them into vf-OS Assets.
For this purpose the project provides a support module, called the External Services Provisioning framework.
Conclusions
The core challenge is software development in such a microservices environment, with the added challenge of security in such a distributed environment.
The solution is to have such an integrated studio, including external services and a proxy model for security.
Future steps are evaluating this approach, using the projects intermediate releases, use-cases and experimentation.
For more information please visit the vf-OS Website