Replicante attempts to limit the number of required dependencies to avoid management overhead. On the other hand it is unwise to re-implement complex systems (such as databases) if there is no need.

In order to run, replicante requires the following:

  • A storage layer.
  • A distributed coordinator.
  • An event streaming platform.

Storage layer

Used to persist the information collected from agents, generated metadata, and any other permanent data that is required by replicante to implement its features.

Supported systems:

Distributed coordinator

Replcante supports high availability, machine failure tolerance, and horizontal scaling.
To achieve this Replicante runs multiple instances of the same process on different machines (or VMs).

A distributed coordinator is a system (itself also highly available) that allows the coordination of work across all processes as well as the re-distribution of work assigned to failed processes.

Supported systems:

Event streaming platform

Events generated by Replicante are emitted onto a streaming platform. This provides two advantages:

  1. Replicante has a reliable event bus as the base for an event driven architecture.
  2. Other tools can process emitted events to implement extra features and integrations.

Supported systems:

Optional dependencies

Some features may rely on additional runtime dependencies. To keep the set of required dependencies to a minimum these features must be enabled explicitly.

The needed systems and configuration details are documented within the features that need them.