To keep pace with an exploding device fleet that reached over 1 million luminaires in 2024, and is projected to reach over 5 million by 2026, the Hyperion team chose to use Dapr and particularly the virtual‑actor pattern. By modelling every device as a Dapr Actor and persisting state in Azure CosmosDB, the team shipped a production‑grade, cloud‑agnostic IoT system while meeting demanding reliability and scalability requirements. Dapr Actors allowed the team to accelerate their time-to-market immensely, as it reduced development time and the need to build an in-house implementation of an actor model architecture.
About Schréder Hyperion
Founded in 1907, Schréder is the world’s largest independent provider of outdoor lighting solutions. Hyperion, its Lisbon‑based R&D centre, focuses on “connected lighting” and broader smart‑city services.
The challenge: Scaling smart lighting for millions of devices
Hyperion’s platform began modestly, coordinating a few thousand lights through nightly dimming schedules. But urban customers quickly discovered that connected lighting is the backbone of broader smart‑city ambitions—traffic, air‑quality sensors, and even 5G micro‑cells all piggyback on the lamppost. By 2023, telemetry volume had exploded to tens of millions of messages daily, and every integration seemed to introduce another bespoke protocol or payload.
Hyperion needed an architecture that would allow each lighting device to have its own custom configuration with the ability to spin devices up or down by the hundreds of thousands without intervention.
Their platform requirements included the following:
- Heterogeneous devices & protocols – dozens of luminaire families report telemetry with different payloads, cadences, and lifecycles.
- Massive scale – rapid growth from hundreds of thousands to millions of devices demands horizontal scale without service‑interrupting migrations.
- Per‑device context – customer portals must issue commands (dimming, scheduling, diagnostics) and receive feedback in near real‑time, while keeping each customer’s data isolated.
- Lean team, tight deadlines – re‑implementing a bespoke system would have consumed ~90 % of development effort, jeopardising time‑to‑market.
The solution: Dapr Actors
The team ultimately decided to use Dapr’s virtual‑actor model. In their system, every physical device is modeled as an Actor with different device families modeled as Actor types. Each device family has unique rulesets, including brightness, energy budget, and fault flags, that are persisted using Actor state.
This allows each device to be identified by a globally unique lamp ID, with updates coming in as Actor method calls via IoT telemetry. Edge gateways funnel MQTT telemetry through Azure IoT Hub into the Dapr-enabled applications, and actors write their latest state to Azure CosmosDB. Most compelling, namespaced actors—an important feature for Schréder Hyperion released in Dapr version 1.14—let them shard device families into different instances of Azure CosmosDB databases. The advent of namespaced actors future-proofs the architecture, allowing devices from the same family to be kept in multiple state stores, and not having to worry about hitting database limits as the number of devices inevitably keeps growing.
Ultimately, Schréder Hyperion achieved rapid growth with reliable scale and no vendor lock-in.
The table below summarizes the solution.
How the Hyperion smart lighting platform works at scale
1. Telemetry ingestion: Edge gateways buffer and normalise payloads, Azure IoT Hub routes messages to a telemetry processor service, which activates (or resumes) the target Actor and stores telemetry in the Dapr State Store.
2. Command & control: Customer APIs call the relevant Luminaire Actor (e.g., SetBrightness method). The Actor persists desired state, sends a cloud‑to‑device command via IoT Hub and updates status on acknowledgement.
3. Scaling & resilience: Dapr’s placement service distributes actors across Kubernetes pods, Cosmos DB’s instances are aligned with Actor types and namespaced actors allow live migration to new databases with zero downtime.
Outcomes that shine
Schreder Hyperion has been a Dapr user for over five years, and continues to push the boundary of actors development. Today, 800,000 luminaires report from over 70 countries, generating 20–30 million messages every day. The platform has headroom for 5 million by 2026—spread across multiple regional clusters and databases.
Results
“Trying to nail reliability and scalability ourselves would have taken 90 % of the project. Dapr gave us the actor runtime out‑of‑the‑box—and the community and Diagrid backing to keep pushing the boundary.”
— João Abrantes, Platform Lead, Schréder Hyperion
Key takeaways
- Virtual‑actor pattern excels for IoT architectures using “digital twins”: identity, concurrency, state, and timers come for free.
- Actor namespacing unlocks elastic scale and painless tenant (Actor type) isolation.
- Dapr community + Diagrid Enterprise Support is a force multiplier: Schréder can rest easily relying on Diagrid's expertise.
Additional resources