Problems first. Product second.
These are the workload shapes Ferrite is designed for, described as engineering problems with their constraints. We do not publish vertical pages we cannot substantiate, and we do not attribute results to customers we have not named.
Operational decisioning
A decision must be made while a transaction, session or request is still open — authorisation, eligibility, routing, throttling.
- Requests and outcomes are appended to the log as they occur.
- A keyed operator maintains the running features for the subject of the decision — per account, per device, per session.
- The decision path reads the materialised view by key rather than recomputing history at request time.
System of record synchronisation
Several services each hold part of the truth, and they disagree between reconciliation runs.
- Committed changes are published as ordered events keyed by the entity they concern.
- The runtime applies them in sequence per entity and derives the shared view consumers read.
- When a consumer is wrong, it is rebuilt by replay instead of patched by hand.
Telemetry and device streams
Fleets of devices or services emit continuous signals, and the useful value is an aggregate per source, not the raw firehose.
- Signals land in partitions keyed by source identity.
- Windowed operators maintain aggregates with an explicit late-data policy.
- Thresholds are evaluated in the stream, so a condition raises a change notification rather than waiting for a poll.
Continuous auditability
You need to explain not only the current value but the sequence of events that produced it.
- The event log is the record: retained, ordered and replayable.
- Derived state is a projection of that record, reproducible from the same input.
- Reprocessing from an offset reproduces the historical result for inspection.
When Ferrite is the wrong tool
If nothing has to react within the lifetime of the event, a warehouse is simpler and cheaper.
One service with modest traffic and no ordering requirement does not need stream infrastructure.
Retrieval over documents is a different problem with different storage characteristics.
Describe the flow you are fighting with.
Send the event sources, the ordering requirement and the read pattern. We will tell you honestly whether this is a Ferrite problem.