IoT sur des flux en direct.
Des millions de petits événements par seconde, des réseaux instables, des équipements silencieux et une flotte qui traverse les régions. Un pipeline qui absorbe la lame de fond, décide en périphérie et remonte la flotte en une image vivante.
Conçu pour la lame de fond, pas adapté à elle
Le chemin natif — batches colonnaires, shard-par-cœur, stockage io_uring — a été pensé exactement pour cette forme de charge : d'énormes volumes de petits événements. Devices et passerelles publient en MQTT, HTTP ou sur le fil Kafka ; le séquencement côté producteur dedupe les retries que les réseaux lossy génèrent.
Décider à l'edge, escalader vers le cloud
Pulse tourne embarqué sur un boîtier de type passerelle — le même moteur, un seul processus. Les stages de règles s'exécutent en microsecondes sur site : couper la vanne, marquer la mesure, jeter le bruit. Seuls les agrégats et les exceptions remontent, réduisant le backhaul et le temps de réaction.
Votre périmètre, de bout en bout
Auto-hébergé partout : le nœud edge, la couche d'ingestion et le mesh tournent sur votre infrastructure. TLS sur les connecteurs face aux devices, secrets tenus hors des configs via ${secret:…}, et un flux d'audit qui trace ce qui est passé où.
État par device, image de flotte
L'état par clé device suit dérive, batterie, firmware et heartbeat. Des timers par clé attrapent le device devenu silencieux ; des agrégats fenêtrés roulent la flotte par modèle, région ou client. Un stage LLM peut trier les clusters d'anomalies en un rapport du matin lisible.
Un moteur, deux altitudes
Le nœud edge et le mesh cloud font tourner la même app.
Embarqué, sur site, autonome
Un unique processus auto-hébergé sur du matériel de type passerelle. Les règles locales agissent en microsecondes même quand l'uplink est coupé ; l'état survit aux coupures d'alimentation.
- •observer → décider → agir, entièrement local
- •store-and-forward hors ligne
- •aucun aller-retour cloud dans le chemin de contrôle
Le mesh qui absorbe la flotte
Quand un nœud ne suffit plus : un event mesh multi-nœuds répliqué au quorum ingère le flux de chaque site, avec opération de flotte et gouvernance centralisées.
- •HA multi-nœuds · durabilité RF=3
- •réplication multi-région
- •SSO/RBAC · observabilité flotte
même pulse.yaml →
À quoi ça ressemble
Une surveillance de flotte tient dans un fichier.
La télémétrie entre, la santé par device sort — les devices silencieux remontent, ils ne sont pas oubliés.
1# pulse.yaml — fleet watch
2source:
3 kind: webhook # gateways post telemetry
4
5stages:
6 - name: health
7 engine: streaming
8 operators:
9 - window: 5m sliding
10 keyBy: device_id
11 aggregations:
12 readings: count
13 batt_min: min(battery)
14 rssi_avg: avg(rssi)
15
16 - name: flag
17 engine: rule-based
18 rules:
19 - "readings == 0 || batt_min < 15"
20
21 - name: act
22 engine: mcp
23 mcpTools: [ fleet.openTicket ]
24
25sink:
26 kind: webhook # NOC board
27 url: ${secret:NOC_WEBHOOK}
28- 1
Scaffold.
pulse new fleet --source webhook --stage streaming:health --stage rule-based:flag --stage mcp:act --sink webhook - 2
Faites-la tourner à l'edge.
Déployez le même fichier sur le boîtier passerelle — les décisions locales restent locales, les exceptions escaladent.
- 3
Surveillez la flotte.
pulse events tail --topic fleet.flag.outChaque batterie faible et chaque device silencieux, en direct.
- 4
Scalez quand ça pique.
Pointez l'app sur le mesh Enterprise quand un nœud ne suffit plus — le YAML ne change pas.
Absorbez la lame de fond. Décidez à l'edge.
Voyez la télémétrie couler dans une santé par device en quelques minutes — sans installation, sans inscription. Puis auto-hébergez sur une passerelle.
Pulse est gratuit et auto-hébergé. HA multi-nœuds, géo-réplication et gouvernance sont inclus dans StreamFlow Enterprise.