January 19, 2022

IoT and Edge Computing: A Paradigm Shift

DevOps

We’re hearing a lot of talk about the term Edge Computing mentioned in the context of IoT (the Internet of Things). But what exactly is Edge Computing? And what does it have to do with IoT?

This article will delve into all things IoT and Edge Computing and discuss the implications of this new architecture for system performance testing.

Table of Contents:

What is IoT Edge Computing?

IoT Edge Computing is when Edge Computing brings the computing power and critical system of cloud computing closer to the edge of the IoT Network. Instead of in a central cloud, the data is stored and handled locally.

Why IoT Edge Computing?

Background: The Challenges of Cloud Computing

To understand what Edge Computing is and what problem it aims to solve, we need to first understand cloud infrastructure and its shortcomings. Over the past decade, we’ve seen an outburst of usage of cloud computing as a standard platform in the IT infrastructure. The cloud is a central computing resource used for hosting software services and databases.

Massive cloud platforms are being provided by the big names in IT: Amazon, Google, Microsoft, and IBM. But there are many mid-sized cloud service providers, as well as private cloud solutions.

Cloud computing also facilitates relatively new concepts such as SaaS (software as a service), PaaS (platform as a service), and IaaS (infrastructure as a service).

The problem with cloud computing is that it is a centralized resource that cannot cater to applications requiring high bandwidth or very low latency (like real-time applications). In a cloud environment there is always a risk of downtime and performance issues. 

The Solution: Edge Computing

There are many benefits to using cloud infrastructure, but the negative issues have consequential implications on the IoT world. IoT devices are sometimes part of mission critical systems. For instance, if an IoT device is used to take temperature readings or monitor water pressure in an industrial complex, then any delay in response time could be catastrophic.

That’s why there is a trend to bring the computing power and critical system functionalities closer to the edge of the system – the device.

That’s what Edge Computing is all about. It’s not about removing the cloud infrastructure from the back end of the system. That will remain for data analysis, storage, AI, and reporting. But in addition, an edge gateway server will be set up on the premise or its near vicinity. 

On the edge server, the critical computational functions, analytics, data filtering, and pre-processing functionality required by the data generating edge device are all placed. The closer proximity and the dedicated servers provide lower latency and increased throughput. 

In 2014, Cisco nicknamed Edge Computing as “Fog Computing”, as a play on “Cloud Computing”. Quoting from a definition of Edge Computing provided by Cisco:

“The Edge Computing model shifts computing resources from central data centers and clouds closer to devices. The goal is to support new applications with lower latency requirements while processing data more efficiently to save network cost. An example use case is Internet of Things (IoT), whereby billions of devices deployed each year can produce lots of data. When data is processed at the edge instead of the cloud, backhaul cost is reduced.” (from the Cisco website here).

What Do Edge Computing Servers Look Like?

Well, they come in all kinds of sizes, but the shape is usually a box, as you may have guessed! As an example, here is a Dell edge server that weighs 1 kg, the Dell Edge Gateway 3001, used in a car assembly plant and connected to the production monitoring system. 

Illustration of small edge server from Dell’s website

At the higher end of the spectrum, the HPE Edgeline EL8000 Converged Edge System is a large system weighing 25kg, with a lot of computing power. Granted, you don’t measure servers by their weight! But these measurements are only given here for an indication of size. Edge Servers aren’t limited in size and some implementations are essentially mini data centers.

Example Edge Computing Server for IoT

The following illustration shows the connectivity between the elements of an IoT system. At the bottom level you have an assortment of edge devices of various sorts. Surveillance cameras, drones, smartwatches and more. All are connected by wifi to the middle tier, which can be one or more edge servers, depending on the scale of the solution. Finally, all the edge servers are connected by WAN to the back-end cloud server.

illustration of the connectivity between the elements of an IoT system

Moving to IoT + Edge Computing: A Paradigm Shift

What’s interesting to note about IoT and Edge Computing is that it is a major paradigm shift. In the history of computer system development, there has always been a flux between centralized and decentralized systems. The popularity of cloud computing in the past decade was a shift to an off-site centralized data center. But now with Edge Computing, there is a fusion of centralization (on the cloud) and decentralization (with edge servers). 

In the concept of Edge Computing, besides the edge server there is also an edge device. Any device that has an embedded microprocessor and does any analytical computation can constitute an edge device. For instance, a video camera that filters the frames and only uploads those that have movement in them can be called an edge device. In general, most IoT devices have some additional computing capabilities other than just gathering data from sensors and transmitting them to the servers via the internet. 

5G Telephone Networks

It is impossible to discuss Edge Computing without mentioning 5G. 5G is the next generation of cellular wireless technology. It has many benefits, including speeds 10 – 20 times faster than 4G, low-latency, greater bandwidth, and better reliability. The reason 5G goes hand-in-hand with Edge Computing is that IoT devices generally use mobile/wireless to connect to the network. Additionally, IoT devices require ultra low-latency (< 1 ms), so only with 5G can these goals be met. So 5G is a vital supporting technology for Edge Computing as explained here: 

“Mobile Edge Computing (MEC), a key technology in the emerging fifth generation (5G) network, can optimize mobile resources by hosting compute-intensive applications, process large data before sending to the cloud, provide the cloud-computing capabilities within the radio access network (RAN) in close proximity to mobile users, and offer context-aware services with the help of RAN information. Therefore, MEC enables a wide variety of applications, where the real-time response is strictly required, e.g., driverless vehicles, augmented reality, robotics, and immerse media.” IEEE Access, “A Survey of Multi-Access Edge Computing in 5G and Beyond: Fundamentals, Technology Integration, and State-of-the-Art”, July 3, 2020

Standardization and Commonality

Edge servers are customized solutions for different use cases. However, most edge servers need to be connected to the cloud infrastructure, deploy code, and provide manageability. Several open-source solutions have been developed to fill this gap. StarlingX, ONAP, Akraino, and Edge Foundary are some of the products used for controlling and managing the Edge Computer infrastructure, with features including:

  • easy deployment
  • low touch manageability
  • rapid response to events 
  • fast recovery
  • automation of new services 
  • complete lifecycle management
  • scalability
  • security needs
  • fault management
  • adaptor for all kinds of IoT devices

It's important that there are common frameworks for Edge Computing. The heterogeneous implementations of edge servers are a burden for programmers and DevOps. Also, adapting QA testing tools to this environment is not a simple task. Therefore, the strive to develop standardized tools and use common conventions is imperative for the success of Edge Computing. 

How to Test IoT Edge Computing Systems

As mentioned previously, the Edge Computing architecture is a major paradigm shift that is predicated on the booming IoT market. It is a mix of centralized and decentralized systems where additional hardware is added in the middle-tier.

Therefore, testing such a complex system is a double effort. First you need to test the “Edge Device to Edge Server” leg of the system. Then, you need to test the “Edge Server to Cloud” leg of the system. Compounding the effort is that currently there is no common architecture used by Edge solution providers. In a very in-depth synopsis of the current state of Edge Computing written by OpenStack, they say:

“Defining common architectures for edge solutions is a complicated challenge in itself, but it is only the beginning of the journey. The next step is to be able to deploy and test the solution to verify and validate its functionality and ensure it performs as expected. As the edge architectures are still in the early phase, it is important to be able to identify advantages and disadvantages of the characteristics for each model to determine the best fit for a given use case.”

Simply speaking, Edge Computing is a continuously developing technological solution and the product roadmapping isn’t completely clear. Performing testing of these systems is doable but will remain challenging for quite some time in the future. 

Bottom Line

IoT is driving the need for Edge Computing because of its need of low latency. Edge Computing is bringing the cloud closer to the edge. Edge Computing is not a replacement of the cloud, but both reside in a symbiotic relationship. Although various organizations are developing tools to manage this new infrastructure, there is currently a lack of standardization.

Without a doubt, Edge Computing will continue to grow and become more prevalent. There is still much that needs to be understood about these systems as they become adopted by different verticals in the IoT ecosystem. 

BlazeMeter is dedicated to helping customers implement the appropriate testing methodology for their IoT solutions. BlazeMeter offers a cloud based SaaS application used for functional testing, performance testing, and API monitoring. Many plugins are available by BlazeMeter to integrate with other systems such as CI/CD pipelines and APM monitoring systems. IoT customers from various sectors are using BlazeMeter for their testing needs. Please reach out to us at sales@blazemeter.com for more information on our IoT solutions.

START TESTING NOW

 

Related Resources