Edge computing is a strategy to increase responsiveness of services that run on the Internet. Edge computing shifts data and processing logic closer to the end user’s device.
Why Is Edge Computing Needed?
Edge computing is a solution to address the following limitations of the Internet, which affect the performance of services that run over it.
- Bandwidth: The amount of data that can be transmitted over a connection per second. Bandwidth is determined by the type of wire (or lack of one such as for wireless connections) and network connecting devices (routers and switches).
- Latency: The time it takes to send (and receive) data between two points on a network, or over a series of “hops”.
- Congestion: The loss of data over a network connection due to increased loads on routers and switches. For the end user, this is perceived as longer load times or timed-out requests.
How Is Edge Computing Implemented?
Some strategies to implement edge computing include the following:
- Processing information on devices is one strategy. How does it work? The device will send data selectively, which reduces demand on bandwidth. Examples of “smart” devices include live-streaming video cameras that stream video over a network only when movement is detected, or sends frame deltas (the pixels that are different in successive frames).
- Another way to implement includes copying data to servers closer to the user to reduce latency, such as a ‘globally distributed’ datastore. These are made up of servers running at strategic, geographical locations and might be offered by a cloud provider. This implies setting up synchronization between the centralized database and the servers at the edge.
- Finally, you can lend the above two approaches by placing data and processing logic on “edge” servers close to the end users. This strategy is used to run Split at the edge, where feature flag evaluation performance is instant.