In the following seven years, Astarte has evolved into a cornerstone of industrial IoT applications all around the world. The growing demand was driven by a rapidly evolving market shift towards servitization models, fueled by the increasing value of data extracted from field devices; businesses sought solutions that could not only streamline operations in the industrial automation field but also create sustainable, recurring revenue streams. Astarte empowered businesses to move beyond one-time hardware sales by enabling flexible, subscription-based service models, providing a robust data orchestration platform designed to drive this transformation.
Today, Astarte stands as the data orchestration platform within the Clea software suite, empowering businesses worldwide to harness the full potential of their connected devices, streamline operations, and drive innovation through seamless data management. Let's discover the story of its birth.
The Birth of Astarte: Pivoting from the Device to Data
Ispirata Srl, a young company founded in 2012 and later acquired by SECO Spa, at first focused its efforts on developing and commercializing HemeraOS.
HemeraOS was an open-source platform designed to simplify application development for embedded devices, addressing challenges in configuration, remote auditing, and device management. Built around Qt5, HemeraOS provided a comprehensive Software Development Kit (SDK) that included all necessary tools for application development, supporting multiple programming languages through bindings or proxy applications. It supported multiple operating systems, including Linux and Windows, and provided a universal installer tested on platforms like Ubuntu 14.04 LTS and Windows 7 onwards. The SDK also featured a Qt Creator plugin preview, offering an integrated development environment for Hemera applications. Overall, HemeraOS aimed to streamline embedded application development by providing a secure, hardware-agnostic platform with robust communication capabilities, thus addressing many complexities inherent in embedded systems development. Despite its capabilities, HemeraOS lacked the ability to support large-scale IoT data orchestration.
It became increasingly clear that the next big opportunity lay in providing businesses with the means to harness their IoT field data to offer value-added services to their clients—via a middleware platform that could orchestrate and consume device-generated data into actionable insights for AI/ML pipelines. Back then, many IoT proof-of-concepts (PoCs) were built on Kubernetes, but the Ispirata team wanted to create a middleware that abstracted Kubernetes's complexities and gave developers of smart products out there a way to integrate easily with their stack and third-party software. Thanks to its open license, Astarte would present itself as a robust yet non-committing choice for proof-of-concept projects that, once proven successful, could seamlessly scale into full production deployments. The Ispirata team set out to build a solution that was scalable, flexible, and, above all, developer-friendly. As the project evolved, the team built a PoC in Java, taking advantage of its ecosystem and developer familiarity. As Elixir started gaining traction, the Ispirata team quickly recognized its potential to enhance Astarte's architecture. Given the demands of IoT applications—handling vast numbers of simultaneous connections, ensuring reliability, and efficiently managing distributed data—Elixir’s strengths became increasingly evident. Its massive concurrency, built-in fault tolerance, and lightweight processes made it an ideal choice for a platform that needed to scale seamlessly. Recognizing Elixir’s advantages, Astarte transitioned from a monolithic Java system to a microservice-based architecture powered by Elixir and the BEAM VM, enhancing scalability and resilience.
Reengineering using Elixir
Following the PoC phase, Astarte’s development focused on scalability, resilience, ease of deployment, interoperability, and user-friendliness.
With its Declarative Data Management approach, Astarte requires users to define data structures before transmission using Interfaces. Interfaces in Astarte define how devices communicate with the platform, ensuring structured data exchange. Versioning ensures upgrades don’t break compatibility, making Astarte adaptable for long-term IoT deployments. This approach ensures automated schema management and a clear separation of concerns between data producers and consumers. Interfaces are versioned mimicking Semantic Versioning - arbitrary changes can happen exclusively between different major versions (e.g. removing members, changing types, etc.), whereas minor versions allow incremental additive changes only (e.g. adding members), enabling smooth upgrades and backward compatibility for IoT deployments. This model allows for seamless data integration in applications while simplifying the intricacies of database management and data validation.
Astarte is primarily written in Elixir and follows a replicated microservice architecture, making each component self-reliant. This allows parts of the system to fail without disrupting the entire infrastructure. Services communicate via a Protobuf-based API over AMQP, enabling cross-language extensibility. Astarte assumes that devices exchange data over a transport or protocol supporting SSL/TLS, such as MQTT, which ensures secure communication and reliable device authentication through client SSL certificates. Each transport implementation must be capable of mapping interfaces and out-of-band messages on top of it. However, Astarte itself remains agnostic to the implementation details of the transport layer, as its role is to process AMQP messages conforming to its internal API specification. The official and recommended transport implementation for Astarte is MQTT, utilizing VerneMQ along with its dedicated Astarte plugin to facilitate seamless and scalable communication between devices and the platform.
Most platforms out there take a vertical approach. They are designed to serve a specific industry if not a single product line. Unlike vertically integrated IoT platforms, Astarte does not restrict devices to a predefined function. Instead, it simply represents any electronic device capable of connecting—be it an industrial fridge, a router, or a satellite, etc. Every device is assigned a unique 128-bit Device ID, ensuring consistent identification and seamless management.
Device SDKs can take advantage of the interface design to dynamically generate code for exchanging data with Astarte, and target numerous programming languages and devices, from C suitable to small MCUs such as ESP32 or ZephyrOS, Java for supporting Android devices, C++ on the Qt platform, to modern languages such as Rust and Go, implementing memory safety by design, and many more (Python, Elixir, C#). This way, developers using device SDKs are spared from knowing details about the underlying transports and protocols, and can use a data-driven API employing the framework or using the language they are most comfortable with.
Astarte is designed to scale, integrating natively with Kubernetes to simplify deployment and management. Astarte is built on top of the standard Kubernetes API, meaning it does not require deployment on a specific cloud provider or environment. Whether deployed in the cloud, at the edge, or in on-premise and hybrid scenarios, Astarte seamlessly integrates into any standard Kubernetes installation. This flexibility ensures that organizations can leverage their existing infrastructure while benefiting from Astarte's scalability and orchestration capabilities. The Astarte Operator automates cluster operations, including upgrades, monitoring, and scaling, optimizing performance across cloud, edge, and on-premises deployments. Even developers unfamiliar with Kubernetes benefit from its abstraction of complex infrastructure operations.
Astarte in Production: Real-World Applications
Between 2019 and 2021, Astarte saw widespread adoption across various industries. Let’s explore two real-world use cases where Astarte emerged as the ideal solution for our clients.
In the networking industry, Astarte has been instrumental in enabling massively scalable and secure IoT communications, particularly for a client managing vast networks of routers. We can’t disclose names, but trust us—you’ve interacted with their technology countless times. This client required a solution capable of scaling to billions of devices. Astarte addresses this challenge through its integration with ScyllaDB, a high-performance, NoSQL distributed database known for its ultra-low latency and high throughput. ScyllaDB outperforms traditional databases, ensuring Astarte can handle massive data ingestion and real-time processing for large-scale IoT deployments. In medical technology, an OEM manufacturing high-end medical equipment leveraged Astarte to transition from device sales to a recurring revenue model. Instead of selling devices outright, the company implemented a credit-based system. Doctors could purchase usage credits through an online dashboard, with Astarte orchestrating the backend to manage and track available therapy time on a device-base. This allowed doctors to access advanced treatments without large upfront costs, while the OEM benefited from a predictable revenue stream, while keeping ownership of their devices.
Unification Under SECO’s Clea IoT Software Suite
A major milestone in Astarte’s evolution came in 2021 when Ispirata Srl was acquired by SECO SpA to form SECO Mind, SECO’s subsidiary dedicated to cutting-edge IoT software.
This phase led to the development of Edgehog, an open-source device management system built on Astarte, designed to oversee IoT device lifecycles. Edgehog simplifies fleet management with features like OTA firmware updates, real-time status monitoring, geolocation tracking, and remote terminal access. Supporting both Linux-based systems and ESP32 devices, Edgehog provides seamless device orchestration across various hardware environments.
Additionally, Clea Portal emerged as an enterprise-ready extension of Astarte, enabling organizations to manage users, applications, and IoT projects with a customizable UI and plug-and-play JavaScript-based apps.
SECO introduced the Clea brand, consolidating all components under a unified commercial IoT offering while maintaining an open middleware approach. This move positioned Astarte as a key player in industrial IoT solutions, accompanied by a modular offering of hardware and software.
Now it’s up to you
Most software components in the Clea suite are available on GitHub under the permissive Apache 2 license. This means that, although this is the history of Astarte, you can certainly be part of its future. Visit SECO.com to learn more on its code and how to contribute, or don’t. Just use Astarte as you see fit—even in commercial projects.
Whether you're looking to streamline your operations, transition to subscription-based business models, or integrate cutting-edge data orchestration into your products, SECO is here to help. Get in touch with us today to discover how our solutions, including Astarte and the Clea IoT software suite, can transform your business.