What is edge computing and how do we employ it?
Edge computing is distributed computing that brings services, computation, and data storage closer to the sources of data and their users. It aims to decrease response times, save bandwidth, reduce congestion and make real-time applications possible. Specifically, edge computing aims to move the computation and data storage away from data centers, cloud, and main servers to the edge of the network, using smart devices, mobile phones, edge servers, and network gateways to perform tasks and provide services. By doing so, it is now possible to provide content caching, service delivery, persistent data storage, and IoT management resulting in better response times and transfer rates.
The first use of edge computing started with content delivery networks (CDNs) in the late 1990s that served web, audio and video content from edge servers that were deployed close to users. In the early 2000s, the edge servers evolved to host applications and application components such as dealer locators, shopping carts, real-time data aggregators and ad insertion engines. More advanced applications include connected and autonomous cars, smart cities, smart industry and home automation.
Edge computing benefits
Edge computing provides benefits for vital computer network challenges, such as bandwidth limitations, latency and congestion, but it also has several potential additional benefits:
Autonomy is useful where connectivity is unreliable or bandwidth is restricted, so edge devices can process the data themselves or store it until the connection becomes available and transmit it then. Also, processing data locally greatly reduces the amount of data to send to the main server and requires far less bandwidth and connectivity time.
Data sovereignty is keeping data close to its source and within the bounds of prevailing data sovereignty laws and not being sent across national and regional boundaries posing data security, privacy and other legal issues. This enables data to be processed locally, obscuring or securing any sensitive data before sending anything to the cloud or primary data center, which can be in other jurisdictions.
Security of data transmission can be provided by implementing computing at the edge. Any data traversing the network back to the cloud or data center can be secured through encryption, and the edge deployment itself can be hardened against hackers and other malicious activities even when security on IoT devices remains limited.
Edge computing challenges
Privacy and security becomes a challenge when data may travel between different distributed nodes through the Internet and some of them can also be resource constrained, limiting the choice of security protocols and methods. A shift from a centralized top-down infrastructure to a decentralized trust model is also required. On the other hand, privacy can be increased by keeping and processing data close to the user and thus minimizing the data transmitted to the main servers. This also shifts the ownership of collected data from service providers to the users.
Scalability is challenging when the scheduling of tasks on the edge has to take into account the heterogeneity of the devices, having different performance, energy and security constraints, also the highly dynamic conditions and the reliability of the connections compared to the more robust infrastructure of main servers.
Reliability is challenging when certain nodes become unreachable and the services they run should continue to operate without interruptions So, there is a need for detecting errors, failures, and accuracy of the data in edge services and also failover management that provides the service recovery.
Performance improves when computation and storage resources are nearest to the users. It also increases responsiveness and throughput of the applications.
Efficiency increases with the operational efficiency of the edge services by splitting processing into multiple steps and reducing the time needed for execution and data sent to other nodes or main servers.