Edge computing pushes the frontiers of computing, data and services to the extremes of the network, where these are actually needed. It facilitates the collection and analysis of data at its source.
The Internet of Things has brought technology to every household. Consumers see a lot of value in connecting things, and to make sense of the collected data for enhancing their life style. IoT is widely used in the industrial, automotive and commercial markets, as well as in emerging markets like 5G.
As per Gartner and other sources, the total number of connected devices worldwide today is around 20 billion. This number is expected to be 75 billion by 2025. With so many connected sensors and devices, users and businesses must be able to analyse the data they produce at the right location and at the right time. However, most of the data management and analysis happens in the public cloud today, which has severe limitations with respect to latency, governance and security. The IoT industry has over the past few years adopted edge computing (and fog computing) to overcome these limitations, by placing the storage and computing nodes at the Internet’s edge where the data source is.
Typical IoT architecture and limitations
Typical IoT architecture, as shown the Figure 1, processes the data from the sensors and devices in the public cloud. The IoT gateway, which is a dedicated physical device or a software program, is the connection point between the cloud and the intelligent devices. Its basic function is to pre-process data before sending it to the cloud. It can also autonomously control field devices based on data inputs by sensors. It connects the IoT devices to the Internet using IoT protocols.
When the public cloud is used as the data management and analysis platform for an IoT application, the major concerns are the latency involved and the cloud connectivity intermittence, especially for mission-critical and real-time applications like connected vehicles or other autonomous systems. Keeping sensitive data in the cloud is also not something many enterprises want to do. Further, when large volumes of data need to be stored in the cloud, data migration becomes costly.
Edge computing architecture
Edge computing solves the above limitations by bringing storage, analytics and intelligence close to the data source. It allows IT to retain sensitive information on-premise, while still taking advantage of the elasticity offered by the public cloud. The cluster of edge computing devices, which handles network switching, routing, load balancing, security and the audit trail, becomes the local ingestion point for data originating at various sources.
Figure 2 shows the 3-tier edge computing architecture. The first tier is a data layer that includes everything that is a data source. The second tier is the intelligence layer that spans across the public cloud and the edge layers, wherein the cloud layer does the heavy lifting and the edge layer deals with the production and real-time data sets. The third tier is the insights layer that presents accurate insights delivered by the intelligence layer to the users through rich dashboards.
Fog computing adds a layer between the edge and the cloud. It moves the computing activities to the processors that are connected to the LAN hardware (where the IoT gateway is), which is more distant from the edge devices like the sensors and actuators. Fog computing has the advantage of being able to connect to more devices and process more data; however, it requires more investment than edge computing.
IoT protocols and edge
A few transport-layer protocols that are widely used to form IoT communication links between the devices and the IoT gateway are Bluetooth, Wi-Fi, NFC (near field communication), cellular, Ethernet, Zigbee, LoRaWAN, WiMax, etc, to name a few. They differ in their range, ease of setting up, cost and bandwidth.
IoT data protocols define the syntax, semantics, synchronisation of data, and error recovery. A few widely used IoT data protocols are Message Queue Telemetry Transport (MQTT), Advanced Message Queue Protocol (AMQP), Constrained Application Protocol (CoAP), RESTful HTTP, Mosquitto (an Open Source MQTT broker), Extensible Messaging and Presence Protocol (XMPP), Data Distribution Service (DDS) for real-time systems, Lightweight Local Automation Protocol (LLAP), Lightweight M2M (LWM2M) and Simple Sensor Interface (SSI), to name a few.
Components of edge and the open source technology stack
The edge gateway (or the IoT gateway) processes the data collected from devices and sensors, and converts it into expected formats. It establishes a bi-directional connection between the IoT devices and the storage and analytics system. It protects information flowing in both directions, and prevents unauthorised control of the devices from the outside world. It also facilitates the devices’ life cycle management, the phases of which are shown in Figure 3.
The IoT solution consists of Web application interfaces such as Cockpit that provide an interface to administer and configure the devices for management and control. Cockpit can be implemented using front-end technologies like Angular and Node.js.
IoT back-end systems have various components for data ingestion (that use supportive frameworks based on the technology stack, such as Apache Camel and Spark Streaming), for orchestration and processing (that define the business logic and workflows like NiFi and Apache Spark), for modelling and analytics (examples include R, Python, Spark ML, Kibana, Elastic Search and TensorFlow), and for data storage (examples include MongoDB, MySQL, PostgreSQL, Redis, CouchDB and Cassandra).
Major cloud service providers like Azure and AWS have a rich set of technologies and services for aiding IoT, both in the cloud and in the edge. Azure IoT Hub, Azure API Management, Azure IoT Edge, AWS IoT and AWS API Gateway are a few examples.
A few open source technology tools, frameworks and projects for IoT systems are LFEdge, EdgeX Foundry, KubeEdge, HomeEdge, Kura, Kapua, Spring Boot, Eclipse Hono, Kaa, OpenIoT, DeviceHive, OpenThread, etc, to name a few. Roof Computing is a standard from IEEE to drive edge computing standardisation.
Open source security and IoT
More connections mean more pathways and back doors that can be exploited by hackers. Open source components are vulnerable to attacks as the developers of these components are not security professionals. In order to use open source for IoT on the edge, the software needs to be analysed end-to-end because the code on the device is no longer standalone. Once scanned, all vulnerabilities should be addressed to create robust systems.
Edge computing has enriched the IoT world by giving the users of smart devices a complete sense of control and security, thus improving the confidentiality, integrity and availability of IoT data. Edge can be compared to the hybrid cloud, which is very popular and is being increasingly adopted by enterprises moving their businesses to cloud. Edge services and infrastructure, too, will see increased demand in the coming years, not only in the IoT domain but also in other emerging markets.