IoT Architecture Design Principles
Mobile computing priority
As computing chips continue to diversify into dedicated coprocessors for various computing workloads, such as GPUs and DPUs, to Apple's latest M1 chip with its Unified Memory, and the big data industry chain evolving from Schema on Write to Schema on Read, and from ETL to ELT, they all embody the same architectural design philosophy: reducing data movement, reducing data copying, and prioritizing computation over data movement.
In IoT scenarios, the advantages of a mobile computing-first design principle are reflected in:
With data volumes continuing to rise rapidly and computing loads growing exponentially, mobile computing can distribute the computing load and improve overall computing power.
The Internet of Things (IoT) era emphasizes real-time decision-making. Improving decision-making efficiency through mobile computing can reduce end-to-end system latency.
With the increasing demand for end-to-end high availability, a distributed architecture is used to move computation to data-local nodes, avoiding single points of failure in centralized computing, while reducing the pressure on the overall system from data transmission and replication, thus achieving high availability of the overall system.
Data streams can be reused
While the cost of copying data at the information level is extremely low, the costs of data movement and storage become increasingly significant as data volumes grow. A key principle of next-generation data infrastructure is to minimize data movement, copying, and redundant computation. Therefore, data reusability is beginning to be seen in the design philosophy of next-generation data infrastructure globally.
Based on the current state and future trends of the Internet of Things (IoT) industry, the principle of data stream reusability has been further developed:
Data Streaming as a Service
Multiple users and multiple scenarios share a single data source
Materialized data streams as application interaction interfaces
Adaptable to all scenarios
With the Cambrian explosion of coprocessors and dedicated computing chips, heterogeneous computing environments have become an indispensable consideration in software design. Furthermore, due to historical reasons, there are significant differences among companies in the Internet of Things (IoT) industry in terms of operating systems, server hardware, network protocols, industrial communication protocols, storage targets, and storage devices.
Based on tens of thousands of enterprises worldwide, we propose the principle of full-scenario adaptability:
Various processors and operating systems can be deployed and collaborated on across cloud, edge, and device, enabling unified access for heterogeneous devices;
It is compatible with a wide range of network protocols, from PLCs and industrial gateways to MQTT, TCP, and QUIC.
Persistent data can be adapted to various storage media, including the next-generation NVMe.
Distributed cloud native
As the entire industry demands increasingly lower latency, enterprises have gone through three phases of exploration into how to leverage the value of cloud computing models: from rapid cloud migration to rethinking cloud-edge collaboration, and then to attempting to manage both cloud and edge using a unified model. However, most in the industry are only familiar with the concept of distributed cloud, with limited exploration of the development philosophy of truly distributed cloud.
Based on industry development trends, a distributed cloud-native software development concept and design philosophy have been defined:
Decentralized distributed systems, peer-to-peer network topology;
Users should perceive faster and more stable cloud computing; the complexity of distributed scheduling is hidden within the underlying software.
The computing load, communication load, and storage load of various software can all be freely scheduled in the distributed cloud.
Designed for IoT architectures that support continuous and stable high-concurrency connections.
Traditional IT systems and the mobile internet primarily involve data connections between systems and between systems and mobile terminals, with relatively few systems handling tens of thousands of concurrent connections. Infrastructure software designed for traditional IT and internet scenarios incurs extremely high costs in building and maintaining systems capable of handling high concurrency.
In IoT scenarios, data sources primarily consist of smart devices and sensing devices, with the number of terminals far exceeding that of traditional IT and internet scenarios. For example, platforms in smart home and connected vehicle scenarios typically have over 100,000 connections, with large platforms reaching millions or even tens of millions. This necessitates that IoT-oriented infrastructure software possess the ability to adapt to massive numbers of devices simultaneously accessing the network and maintaining stable connections at a relatively low cost.
End-to-end bidirectional multi-QoS support
Traditional IT and internet systems primarily connect via enterprise intranets, private enterprise networks, or broadband mobile networks. However, the Internet of Things (IoT) era, to adapt to varying device densities and connection costs, requires the coexistence of fixed and mobile networks, and a hybrid of broadband and narrowband networks, evolving from a single network to a distributed, cross-regional hybrid network access. IoT systems, therefore, need to adapt to various network types to achieve end-to-end data connectivity.
As network complexity increases and stability decreases, IoT systems need to provide relevant safeguards in the transport and application layer protocols. For example, the MQTT protocol, commonly used in IoT long-connection scenarios, provides a definition of Message Quality of Service (QoS), including three levels: at most once, at least once, and only once. Message quality levels can be selected according to different business and cost requirements.
As business models continue to diversify, IoT services are evolving from one-way device data collection to two-way interactions between devices and systems, devices and devices, and devices and people. From user-device interaction in ToC smart home scenarios to data collection and remote control of industrial production equipment in the industrial internet, and the interconnection and interaction between vehicle driving systems and roadside sensing devices in vehicle-road collaboration, all require IoT infrastructure software to have the ability to establish two-way data channels.
Ultra-low latency stateful streaming processing and analysis
From a business perspective: many critical business operations, such as vehicle-road coordination and industrial production monitoring, have extremely high requirements for the timeliness of data processing and system response, and are designed with...
Backup data is often stateful.
From a data type perspective: Unlike traditional IT and internet systems where most data is time-discrete business query and transaction data, IoT data, primarily generated by devices, is increasingly characterized by continuous time-stream data. This necessitates IoT systems and software to provide stronger streaming data processing capabilities.
Data stream virtualization and schema-level multi-tenancy
In enterprise-level IoT platform systems, large amounts of raw streaming data are consumed and analyzed in real time by different business systems to provide data value for different business purposes. Different business applications have different perspectives, and therefore, different methods of reading and analyzing streaming data. Currently, many enterprises use data replication to provide data models and analytical models for different business perspectives, resulting in a surge in data within the organization. Moreover, the data replication process is time-consuming, often failing to provide timely analytical results for IoT scenarios with high real-time requirements.
When considering both the reusability and timeliness of raw data, a multi-tenant solution based on data stream virtualization and schema-level multi-tenancy becomes exceptionally important. Schema-level multi-tenancy defines streaming data models from different business perspectives, ensuring the separation of data requirements for different businesses; at the same time, using virtual streams avoids the duplication of raw data, ensuring the timeliness of business operations while reducing the cost of copying and storing raw data.