Fidelio was conceived at early January 2015, when most of today's tools were non existent. It was developed in the framework of a Master Thesis at Technical University of Crete that was presented in July 2016. The tool offers advanced functions such as distributed synchronization of services, an integrated process execution mechanism, complete life-cycle management of services etc. It is worth noting that it is still the only tool available supporting distributed coordination of services for web applications out of the box.
Below you can find the complete Thesis on which Fidelio was based.
Services automatically discover the services they require and their configuration.
Start/stop control order, wait for initialization and complete shutdown guarantess along with constant monitoring and notifications of state changes for dependencies.
Complete control over the start/stop sequences of the container service with additional features: in order execution, timeout, abort on fail, monitoring of the container service, pre/post service start/stop process execution.
Containers can be deployed on Swarm clusters instead of single-host machines.
Containers are configured as components, decoupled from their dependencies, using key-value pairs of configuration settings declared in their environment and their dependencies.
Declared environment variables for a container and its dependencies are injected to the container at runtime.
Environment variable declarations are substituted with their values in confguration files which can automatically be restored to their previous state.
Built-in or user-implemented functions through a provided API that extend the available functionality.
All the containers of an application are controlled as a unit and have their life-cycle managed using simple commands.
In respect to persistence and sharing with support for Docker volumes, copy volumes and copy data from host to containers that is very useful in development and does not require to rebuild a Docker image.
Private networks for the containers of every deployed web app for increased isolation and security.
Straightforward commands and options to run your web apps with Fidelio.
Containers configured as components
Most widely used architecture for web applications
Transparently handles the deployment of containers to Swarm clusters.
The different system components can run on different physical machines.
Running container are based on the Docker platform.
A coordinatino service is used to manage the application configuration, support service discovery and service coordination.
Built with the user in mind.
Realeased under the GNU GPL v3.0, Fidelio is free software.