Stork Delivery

When real-time data is worth the work

Choose update frequency from the decision the business needs to make, including the cost of acting on stale information.

Parallel railway tracks viewed from above.
Photo: tom analogicus / Pexels

The problem: faster data does not automatically support a better decision

“We need real-time data” often means “we do not trust how old this information is.” Those are related problems, but they do not always need the same solution.

Before building a faster pipeline, identify the decision the data supports and how quickly a change must become visible.

An inventory allocation may need a different freshness target from a weekly management report.

A practical approach

Put a number on the useful delay

Ask what happens if the information is a minute old, an hour old, or a day old. Use a specific workflow rather than a general preference for speed.

If a customer is buying the last available item, delayed availability can create a difficult promise to unwind. If a manager is reviewing last month's operating trend, a controlled overnight refresh may be entirely adequate.

Agree on the expected delay and how users will know when it has been exceeded.

Consider the failure path

A faster integration still needs handling for duplicate events, missed messages, unavailable systems, and out-of-order changes. The time between updates is only one part of correctness.

Decide whether the consumer can temporarily use older information, must stop, or should request confirmation from the authoritative system. Different operations can reasonably make different choices.

Keep a reconciliation process where missing events could leave the systems permanently inconsistent.

Show freshness in the interface

Display the last successful update when it helps a user make a decision. Distinguish that from the last attempted update, which may have failed.

For batch data, make the covered period clear. A report generated this morning may still contain yesterday's completed transactions.

Avoid a “live” label unless the team can explain what it guarantees. A label should describe an operating expectation the system can actually monitor.

Start with the simplest adequate mechanism

A scheduled transfer, a webhook, a queue, or a direct lookup may each be appropriate in different parts of the same workflow. Choose based on latency, reliability, source capabilities, and operating effort.

A direct lookup can provide fresher information but also make the user experience depend on another service being available at that moment.

Integration design works best when those tradeoffs are connected to business consequences. The aim is information that arrives soon enough and can be trusted enough for the next action, with a clear response when either condition is not met.

The result: a freshness promise tied to a business action

Write down the maximum useful delay for one decision, the source of truth, and the behavior when data is too old. Choose a transfer mechanism that can meet that requirement and measure its actual delay. Simulate a missed update and verify the user sees the agreed response. Begin with the decision most affected by stale information instead of labeling every report live.

← Explore the library