Everything about EDGE Computing

Edge computing is a distributed computing paradigm in which computation is largely or completely performed on distributed device nodes known as smart devices or edge devices as opposed to primarily taking place in a centralized cloud environment. Edge computing is a method of optimizing applications or cloud computing systems by taking some portion of an application, its data, or services away from one or more central nodes (the \”core\”) to the other logical extreme (the \”edge\”) of the Internet which makes contact with the physical world or end users. This approach uses the resources that may not be continuously connected to a network such as laptops, smartphones etc.

There are several examples where it\’s advantageous to do so. For example, in industrial Internet of Things applications such as power production, smart traffic lights, or manufacturing, the edge devices capture streaming data that can be used to prevent a part from failing, reroute traffic, optimize production, and prevent product defects. GE’s recent Minds + Machines seminar was a very good forum that discussed this topic at length.

An edge device could also be an ATM (the bank wants to stop fraudulent financial transactions); a retail store that is using a beacon to push in-store incentives to a mobile app; a smartphone; a gateway device that collects data from other endpoints before sending it to the cloud, etc. When data analysis is done at the edge of a network, that\’s known as \”edge analytics.\”

Advantages

Possible advantages of edge computing are:

  1. Edge application services significantly decrease the volumes of data that must be moved, the consequent traffic, and the distance the data must travel, thereby reducing transmission costs, shrinking latency, and improving quality of service (QoS). Computation offloading for real-time applications particularly benefits from shortening the distance between the user and the server.
  1. Edge computing eliminates, or at least de-emphasizes, the core computing environment, limiting or removing a major bottleneck and a potential single point of failure.
  1. Ability to ride the same cost curves] and improvements by exploiting of the same architecture and fundamental underlying computing technologies as publicand private clouds. Cost accounting models based upon how shared resources are billed in fee-for-service clouds (time sharing) often expressed by the phrase \”as a Service\” should not be confused with the common architectural basis of centralized Clouds, Edge Clouds, and increasingly Edge nodes as well. Ultimately all IT systems, distributed or not, must provide viable services regardless of how or where they are implemented. Different cloud computing paradigms share common distributed systems architectures and technologies forming three modes defined by distance from the edge: Centralized Clouds, Edge Clouds, and Edge nodes. Taken collectively, these paradigms are known as fog computing, a term defined by Cisco Systems.

Challenges

  1. Edge computing must be designed to work in the face of sporadic availability/connectivity of edge compute nodes, since edge nodes may only have power available sporadically.
  1. Edge computing requires applications to be built for horizontal scalability. Generally the recommendation to build applications that follow the 12-factor application guidelines.
  1. Edge computing requires operations to be able to deploy to a distributed set of edge nodes, coordinate cross-node state and storage, or handle inconsistent state gracefully.

Grid computing : Edge computing and grid computing are related. Whereas grid computing overlies network structure to serve a primary function, such as a particular application, edge computing involves that part of the Internet most directly in touch with sensing or altering the adjacent physical world. Edge and grid computing both link closely related systems and storage, but edge computing connects with the physical world as a point of emphasis, while grid computing interconnects strictly on a functional basis.

Applications

Edge computing is a method of optimizing applications or cloud computing systems by taking some portion of an application, its data, or services away from one or more central nodes (the \”core\”) to the other logical extreme (the \”edge\”) of the Internet which makes contact with the physical world or end users In one vision of this architecture, specifically for Internet of things (IoT) devices, data comes in from the physical world via various sensors, and actions are taken to change physical state via various forms of output and actuators; by performing analytics and knowledge generation at the edge, communications bandwidth between systems under control and the central data center is reduced. Edge computing takes advantage of proximity to the physical items of interest and also exploits the relationships those items may have to each other. Another, more broader way to define \”edge computing\” is to put any type of computer program that needs low latency nearer to the requests.