When the Internet of Things concept emerged, technology experts and amateurs alike envisioned it as a global ecosystem of interconnected devices that scavenge data, exchange it over wired and wireless networks, and act upon it, making our lives simpler.
Years on, these sci-fi dreams have become a reality. IDC reckons there will be 55.9 billion connected devices by 2025 — up from just 6.4 billion IoT units in 2016. But the question remains, how will we keep the Internet of Things up and running, providing a reliable infrastructure for billions of endpoints, many of which have found a permanent home in mission-critical applications like patient monitoring and traffic management?
Before your startup taps into IoT software development, you should wrap your head around IoT architecture design because, at the end of the day, it's appropriately designed architectures that hold the components of cyber-physical systems together.
Table of Contents
What is IoT Architecture Exactly, and What Components Does It Incorporate?
Understanding IoT Architecture Layers
Service and Application Support Layer
Why IoT Architecture Design Can Make or Break Your Project
Let's go back to the Internet of Things definition. To monitor the temperature inside a connected cryotherapy unit or open and close curtains at a custom schedule, an IoT solution needs several functional elements:
- Applications, which range in form and complexity from bare-metal firmware running on devices to web and mobile applications that allow users to configure and manage IoT products
- Infrastructure, aka the service and application support tier, enabling data acquisition, storage, and analytics, as well as the business logic and updates of IoT applications
- Network, over which data is sent between connected devices, central hub, applications, and the infrastructure tier
- Things — i.e., electronic devices or non-electronic objects enhanced with sensors
These components comprise the four IoT architecture layers. Let's dig into what's happening at each of them and when it might make sense to add a fifth layer to your IoT deployment.
Despite being a decade old, this document prepared by the ITU Telecommunication Standardization Sector (ITU-T) provides the most accurate IoT reference architecture.
But this IoT architecture layer may also include embedded systems connecting a gadget's hardware components, embedded device interfaces, web-based consoles, and cloud dashboards visualizing sensor data.
IoT applications can communicate directly with the device or the cloud and on-premises servers, depending on the requirements imposed on a connected solution.
In the previous section, we referred to the service and application support layer of the Internet of Things architecture as infrastructure — and this is by no means a coincidence.
Since most IoT products are low-power, memory-constrained devices lacking data storage and processing capabilities, the service and application support tier is where the Internet of Things magic happens.
In particular, this IoT architecture layer is responsible for the following functions:
- Data aggregation. By 2025, the amount of data produced by the global IoT device base could reach 79.4 zettabytes. That is 79.4 billion terabytes of information. If a terabyte of data were a kilometer, one zettabyte would equal 1,300 trips to the moon and back. Given that some IoT solutions (think intelligent CCTV systems in airports and stores) send their status data to the server every couple of seconds, that does not come as a surprise. But since only some of the device-generated data needs to be analyzed on the spot, the lion's share of information ends up in data lakes, home to unstructured data. The information that requires immediate attention is cleansed and sent to data warehouses. Therefore, the primary function of the IoT architecture data aggregation layer is to assess what information the system needs right here and right now to perform a particular task and where it should store sensor data.
- Data abstraction. IoT devices might need additional data from other IT systems within your IT infrastructure and third-party services to make better-informed decisions. The abstraction tier takes care of that, bringing miscellaneous data into a unified format.
- Data analytics. Last but not least, the infrastructure layer interprets sensor readings. For this, IoT solutions can use the traditional if-then approach or activate machine learning algorithms, which spot not-so-obvious data patterns and enable connected devices to act independently, thus making them truly smart.
An IoT architecture's service and application support layer also helps you issue application updates and security patches, troubleshoot the system, and conduct IoT solution testing remotely.
The primary function of the network layer (aka the transmission layer) is to forward the information collected by IoT endpoints to gateway devices, servers, and applications. The networking tier also interconnects devices within an IoT deployment.
For these purposes, data and network protocols are used. The former category spans the AMQP, MQTT, CoAP, and DDS technologies, while the latter includes the Bluetooth, BLE, Wi-Fi, and Zigbee protocols, among others.
The choice of an appropriate connectivity tech stack depends on your IoT product requirements, such as security, the amount of data traversing the network, expected user base size, integrations with third-party solutions and services, and the environment where you will deploy the cyber-physical system.
Check out this article about IoT communication protocols and their use cases to select the appropriate connectivity technologies for your project — or book a free consultation with the Expanice team if you need professional assistance with IoT architecture design.
The fourth layer of the Internet of Things architecture, labeled as "things" in the introductory part, comprises actual hardware — i.e., sensing and actuating devices.
Sensor-equipped devices collect environmental data, such as temperature, pressure, humidity, and light intensity, and convert it into electrical signals suitable for computer analysis.
Upon processing the sensor data, the infrastructure tier issues commands to actuating devices, which force IoT solutions to perform certain activities, such as turning off the lights in an empty room or closing the blinds at night.
Remember the mysterious fifth IoT architecture layer we mentioned earlier? It's time to update our reference IoT architecture scheme and explain in what cases an additional tier could come in handy!
The edge layer helps reduce data latency and improve IoT systems' security, availability, and reliability.
In an IoT architecture, the edge term refers to local servers, gateways, and other nodes located closer to sensing and actuating devices. The idea of introducing an intermediary layer between IoT devices and infrastructure underpinning their business logic revolves around optimizing the amount of data sent to servers and speeding up analytics.
Essentially, the edge layer functions as the data aggregation component, deciding what information requires an immediate analysis and prompting connected devices to act on it without "consulting" the server. Then, the edge layer of the IoT architecture aggregates the rest of the data and bulk-uploads it to cloud or on-premises servers at preset intervals.
Besides optimizing infrastructure costs, the approach helps improve the performance of advanced IoT systems, such as connected medical equipment and vehicles.
The errors made in the Internet of Things architecture design come at a high price. They can entail long-term implications, such as higher infrastructure costs, security risks, and deteriorating device performance.
These issues, as a rule, become more prominent as your product goes live and accumulates a significant user base.
For instance, when creating a software ecosystem for a smart curtains management system, we planned for user base growth early in the development process.
The Expanice team created an AWS IoT Core-based infrastructure using spot instances instead of ordinary ones and configured an automatic deployment mechanism transferring the IoT solution infrastructure to vacant AWS instances in mere minutes.
By designing a resilient and scalable IoT cloud architecture, Expanice helped the customer grow their business while keeping down infrastructure costs.
We further tapped into the Amazon ElastiCache service to implement status data caching. By setting up the system to send status data to the cloud every two hours, we helped the customer reduce AWS infrastructure expenses by 66%.
Besides cost reductions, taking a holistic approach to IoT architecture design will help you:
- Identify potential security risks and enable the right security mechanisms to protect sensitive data
- Effortlessly scale your cyber-physical system either horizontally or vertically by enhancing it with novel features or incorporating more nodes
- Break down silos between different systems within the IoT infrastructure, improving its overall performance
- Provision for future integrations, creating a proper IoT solution (as opposed to closed proprietary ecosystems)
- Improve system maintainability and knowledge transfer, making it easier to switch vendors and establish strategic partnerships
For more tips on IoT architecture design, check out our custom IoT product development guide or contact us! We'll be happy to architect and engineer your solution — and provide expert maintenance services once your product hits the shelves.