The Internet of Things (IoT) has the potential to revolutionize the world we live in, driving innovation and enhancing our daily lives. This approach can also address all the needs of a well-organized society. However, to harness its full potential, we must ensure that the IoT ecosystem does not only rely on existing ICT infrastructures, but is founded on a set of core principles that are innovative in materials, rights and control. While cloud computing is becoming the brain, IoT can be the nervous system of our advanced world.
Airspot has the necessary competence and stamina to help the IoT ecosystem build such nervous systems with an IoT manifesto.
Are you curious about this proposal? Let's dive into it!
A good starting point is establishing a reference paradigm with some core concepts, a tech stack based on an event-driven architecture and asynchronous I/O.
The reference paradigm: EDA and async I/O
The Event-Driven Architecture (EDA) enables devices and services to react to events in real time. EDA allows IoT systems to process data in a distributed and decoupled manner, improving scalability, agility and resilience.
EDA requires languages to implement an asynchronous I/O paradigm to leverage asynchronous I/O techniques, such as non-blocking I/O and event loops, to enable efficient and scalable data processing. This kind of I/O approach allows IoT systems to process multiple requests concurrently, improving system performance and reducing latency. Several programming languages are well-suited for building asynchronous systems today, including Python (with async/await, asyncio and Trio; supporting aiohttp, Sanic and Tornado), Go (ideal for highly concurrent, scalable systems), Rust (offering low-level control with memory safety features), and JavaScript (through the Node.js runtime, providing non-blocking I/O and event-driven programming models).
The 7 Golden Letters of IoT
With EDA and async I/O in mind, it is straightforward to establish a complete reference architecture. A comprehensive architecture can be outlined through seven golden elements.
A. Cloud Native Framework / Knative (Link cloud native medium)
IoT systems must be designed with cloud-native principles in mind. This involves leveraging containerization and serverless architectures to enhance scalability, reliability and efficiency. By adopting cloud-native practices, IoT systems can benefit from on-demand resource allocation and elastic scaling to meet varying workloads while reducing infrastructure costs.
API example: Knative provides a set of APIs for deploying, scaling and managing serverless workloads, including the Serving API for deploying containerized applications, the Eventing API for processing and reacting to events, and the Build API for building container images from source code.
B. Event Sourcing / Kafka
IoT systems must leverage event sourcing to enable reliable, scalable and distributed data storage and processing. Event sourcing allows data to be captured as a series of immutable events, which can be replayed and analyzed to provide insights and inform decision-making. By adopting event sourcing, IoT systems can improve fault tolerance, reduce latency and simplify data management.
API example: Apache Kafka is an open-source event streaming platform that allows developers to build real-time data pipelines and streaming applications.
C. Reactive Properties Store / Redis
IoT systems must implement a reactive properties store, which provides a real-time view of device states and enables efficient querying and filtering of device data. A reactive properties store allows IoT systems to respond to changes in device states in real time, facilitating faster decision-making and improving system performance.
API example: Redis provides a wide range of APIs for data storage, retrieval and manipulation, including key-value storage, sets, lists and sorted sets. Redis can also be integrated with other data storage and processing platforms, such as Apache Kafka.
D. A Rule-Based Programming Paradigm
Overall, "if-this-then-that" rules can be an effective approach for building IoT systems that require real-time decision-making, scalability and flexibility. By defining rules based on certain conditions and actions, developers can create and modify rules quickly and easily, enabling them to automate tasks and improve system performance.
By using the source-trigger-action-sink pattern, developers can define rules in an EDA system in a clear and structured way. This can help to improve the maintainability and scalability of the system, as well as make it easier to reason about and troubleshoot.
E. Integrations
Integrations are at the core of IoT applications because they enable communication and data exchange between different components of the system. IoT systems must be highly decoupled, meaning that each component of the system should be loosely coupled and able to operate independently. However, for the system to function as a whole, the different components need to be able to communicate with each other.
In the context of sourced integrations, EDA enables IoT systems to integrate with external data sources and react to changes in real time. For example, an IoT system can listen to events from an external data source, such as a weather service or a social media platform, and use that data to trigger actions in real time, such as adjusting device behavior or sending alerts to users.
An API gateway is an important component of an event-driven architecture system, as it provides a unified interface for external clients to interact with the system. By using an API gateway, developers can simplify the system architecture, improve security and enhance system performance.
F. Real-Time Machine Learning
IoT systems must leverage real-time machine learning to enable predictive analytics, automate decision-making and improve system efficiency. By incorporating machine learning algorithms into IoT systems, devices can learn from past behaviors and adapt to changing conditions in real time, facilitating proactive maintenance and reducing downtime.
API example: TensorFlow is an open-source machine learning framework developed by Google, which provides tools and APIs for building and deploying machine learning models in IoT systems.
G. Security for Distributed Systems / MQTT
IoT systems built using an EDA architecture and asynchronous programming techniques should be designed with a distributed system thinking approach. This means that security should be considered at all levels of the system, from device to cloud, and that systems should be designed with redundancy, fault tolerance and disaster recovery in mind.
API example: MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for IoT systems. It provides a publish-subscribe messaging model that enables efficient communication between IoT devices and services. MQTT also supports various security mechanisms, including TLS/SSL encryption, user authentication and access control.
The IoT Manifesto
We proposed two pillars (EDA and async I/O) and a reference paradigm in seven components. Technically speaking, these lists include all the necessary elements to implement a connected, open, and resilient IoT infrastructure.
However, our final goal is not just the infrastructure but a full, living ecosystem. The technique is a necessary, but not sufficient, condition to build a long-lasting ecosystem. A list of principles, simple but powerful, could help every stakeholder in the community build infrastructures that are part of this ecosystem.
Such a list could be called a "Manifesto," as we have seen many in the history of ICT and, indeed, in history in general. The IoT Manifesto that we want to propose outlines the key guiding principles in shaping a connected, open and resilient future.
1. No Vendor Lock-In
IoT devices and systems must be designed and developed in a manner that promotes interoperability and prevents vendor lock-in. Having the freedom to choose from a diverse range of IoT products and services, users should not be tied to a specific brand or platform.
To achieve this, we have to pay attention to standards and data.
IoT devices and systems must adhere to open standards, facilitating seamless communication between devices from different manufacturers.
Data generated by IoT devices should be easily accessible and portable, enabling users to switch between service providers without losing their data or functionality.
2. Resilience in IoT
Resilience must be a core aspect of IoT design, ensuring that devices, networks and systems can adapt and recover from disruptions, failures and attacks. This involves all kinds of known and unknown attacks. Let’s make some examples.
Developing robust and secure IoT devices that can withstand and recover from physical damage, cyber-attacks and other threats.
Implementing redundancy and failover mechanisms to minimize the impact of failures and attacks and maintain functionality during critical events.
Prioritizing security and privacy by design, including regular updates and patches to address vulnerabilities and protect user data.
Implementing AI-driven, near-real-time prevention methods from cyber-attacks.
3. Evolving IoT Services
As technology advances, evolution will allow IoT services to seamlessly harness the full potential of new and emerging technologies, such as 5G/6G, satellite services and beyond. Possibly two of the most important evolutions will come from R&D and future comms.
Investing in research and development to identify and adopt cutting-edge technologies that improve the performance, efficiency and security of IoT devices and networks.
Ensuring that IoT devices are future-proof and capable of leveraging advancements in communication technologies to deliver better user experiences and services with a very limited substitution rate.
4. Universal Connectivity and Accessibility
IoT technology must be accessible and affordable for all, regardless of geographical location or socio-economic status. This means accessing the digital divide.
Expanding network infrastructure to provide reliable and high-speed connectivity in underserved areas, bridging the digital divide.
Developing affordable IoT devices and services that cater to the needs of various income groups, ensuring that the benefits of IoT are not limited to a privileged few.
5. Sustainable and Environmentally Conscious Design
All devices and systems, and therefore IoT, must be designed with sustainability and environmental responsibility in mind, contributing to a greener future. Energy and materials are the two main concerns.
Prioritizing energy efficiency in the design and operation of IoT devices, minimizing their carbon footprint and reducing e-waste.
Producing devices with recyclable materials and modular designs that facilitate the repair, reuse and recycling of IoT devices.
6. Ethical Data Management
IoT devices generate vast amounts of data. It is essential to manage IoT data ethically and responsibly.
Many different paths must be walked to reach this goal.
Adding a Data Governance decentralized layer above centrally managed Security and Privacy. A Data Visibility Control Overlay (DVCO) assigns data access control at its point of origin, i.e., any IoT device. This proposal is being carried out by companies such as the Italian Ecosteer. DVCO allows data owners to unilaterally manage consent/retraction for different kinds of usage, as mandated by the GDPR.
Implementing strong data protection measures to safeguard user data from unauthorized access, theft and misuse.
Ensuring transparency in data collection, usage and sharing, with clear and concise user agreements and privacy policies, without hiding behind complex language and documents.
Promoting user control and consent over their data, enabling them to decide how their information is used and shared.
Designing devices, user interfaces and services that are suitable for various physical and cognitive abilities.
Let's Give the World a Nervous System!
Airspot invites you to join us in embracing the IoT Manifesto, a vision of a connected, open and resilient IoT ecosystem. Share your innovative proposals to enrich and strengthen our collective efforts without compromising agility.
Let's work together to create meaningful change by promoting interoperability, resilience, evolving IoT services, accessibility, sustainability and ethical data management.
Together, we can create meaningful and shared change. Connect with Airspot today!
Kommentare