Extensions
Although the Disnix toolset itself provides useful features to make automated deployment of a distributed system possible and properties to make this process efficient and reliable, the toolset itself has a very generic approach. For instance, some non-functional properties cannot be addressed in a generic manner, since they are specific to the domain in which the system has to be used.
On this page we give some information about Disnix extensions we have available.
DisnixWebService
By default Disnix includes a SSH wrapper for communication with the Disnix service or a D-Bus loopback client. This package implements a web service (SOAP protocol) wrapper around the Disnix service and a command line utility: disnix-soap-client to connect to the remote web service. This package serves as an example cases, demonstrating how custom communication protocols can be supported in Disnix.
DisnixOS
Disnix is designed for deployment of services in heterogeneous environments and does not manage the actual system configurations of the machines themselves. Disnix only manages the services of which a system is composed and the activation. NixOS is a Nix-based Linux distribution, which offers infrastructure management from a declarative specification of NixOS configurations.
DisnixOS combines the infrastructure management of NixOS with Disnix. This allows users to automatically upgrade underlying infrastructure of a service-oriented system and also offers developers to deploy a system in a network of virtual machines, which are automatically generated.
Dynamic Disnix
The basic Disnix toolset requires users to manually specify an infrastructure model reflecting the configurations of the systems in a network. Moreover, users must also explicitly write a distribution model to map services to machines in the network. This approach is quite inflexible in many cases, since for each event in the network (such as a failing machine or a new machine) these properties must be changed.
The dynamic Disnix extension extends the Disnix architecture with a discovery service, which automatically detects machines in the network and their properties and a configurable distribution generator, which maps services to machines in the network based on non-functional attributes and a custom implemented policy.
The dynamic Disnix extension is still under heavy development and no releases are available yet. The latest development version can be obtained from our Subversion repository.
