<- back to _work

nClarity, IoT analytics SaaS platform on Azure

Event-driven telemetry pipeline with zero-loss replay

role: Ran the telemetry pipeline and designed its replay and backfill.

// problem

Field devices stream telemetry continuously. The pipeline has to turn it into alerts for customers and survive outages without losing data.

// approach

  • Devices stream through Event Hubs into event-driven Azure Functions and Node.js services.
  • Time series land in InfluxDB; a rules engine turns readings into alerts.
  • React dashboards deliver readings and alerts to HVAC and refrigeration customers.
  • Replay and backfill were designed in from the start.
  • Firmware rollouts through Azure Device Update.

// architecture

// guardrails and production concerns

  • Replay and backfill designed into ingestion, not bolted on after an outage.
  • Application Insights alerting.

// outcome

Ingestion for a fleet that reached ~10k devices, was consolidated and is scaling again. After a 16-hour ingestion outage, I proved a zero-loss replay.

// stack

  • Azure Functions
  • Event Hubs
  • IoT Hub
  • InfluxDB
  • Node.js
  • TypeScript
  • React