The technology landscape has been evolving at a very fast pace. The average lifespan of technology has shrunk by a factor of 60% - from 100 years since the invention of landline connection to its adoption by 90% population, to 15 years for mobile phones to reach similar adoption levels.Further, this rapid adoption has also led to innovations going out of favor and losing relevance. This obsolescence of technology is visible not only in consumer technology, but also in the enterprise domain, where the speed of technology adoption has accelerated and led to cloud service providers growing by over 20% YoY, at an annual run rate of over USD 20Bn. Further, new age domains like Internet of Things (IoT), have opened up new markets for cloud computing and accelerated the growth of cloud.
While technology use cases like IoT have become possible because of innovations like cloud computing, acceleration and growth of IoT depends on further technology evolution. Hence, new technology paradigms like cloud edge computing and fog computing are taking shape. Before proceeding further, let’s define them.
Edge computing is the concept of bringing computation and storage close to the data source. This is done to eliminate the latency associated with large scale data transmission to the central computer hub of cloud infrastructure and enable quick decision making.
Fog computing is defined as a standard to achieve the concept of cloud edge computing and is characterized by the use of a repeatable structure at the edge to reduce dependence on centralized cloud infrastructure.
The above definitions group edge and fog computing together, and define that their computing has been conceptualized to reduce dependence on cloud technologies. Apparently, edge computing seems to compute with cloud technologies. Thus, we need to differentiate cloud computing from edge and fog.
What is Cloud Computing?
Cloud computing is the concept of utilizing scalable compute, storage, and network infrastructure, on the basis of demand, using an orchestration layer. This was conceptualized to support IT infra requirements for enterprise customers and reduce the time required to set up the infrastructure. However, over the years, this has evolved from IaaS to SaaS to serverless computing.
Though cloud computing has many benefits, scalability and flexibility being the most important ones, technology paradigms like edge computing have provided an alternative to the dependence on cloud for every compute requirement. Meanwhile, several news articles have already started writing epitaphs on cloud computing. However, cloud being an underlying technology for many of the innovations that we see today, it seems to be in enviable position, and so are leading cloud service providers like AWS and Azure. However, there are still some instances where the industry is looking at reducing the reliance on cloud computing and leveraging edge computing. Contrary to popular belief, the reason behind such inclination has more to do with certain use cases rather than hostility towards cloud technology.
Why is the industry adopting edge computing?
Adopting edge computing essentially means adding compute and storage infrastructure at edges close to the source of data. This leads to overall increase in cost of deployments; however, more plausible business reasons are leading to the adoption of edge computing, as stated below:
Figure 1 Computer Vision for Quality Inspection
- Transmission latency: One advantage of IoT adoption is the availability of real-time data from the field devices, and reason on top of that by processing and analyzing it. The speed at which analysis is done is of utmost importance to maintain the quality of production. In many scenarios, this data is not only the sensor readings, but also rich media like images and videos. Such use case include using image analytics for quality check for PCB manufacturing or image analysis-based property and assets monitoring. (Refer to my previous article to read more about it).If the data from sensors is collected at a high frequency and the time latency associated with transmitting it is very high, it will defeat the purpose of real-time data analysis.
- Long term Importance of data: Often, large amount of data that is transmitted to the cloud, is used for analysis only once. Such data doesn’t provide much insight and it is not possible to leverage the same in the future for additional analysis. Hence processing such data at the edge and transmitting only the data insights can help in saving the cost of data transmission and storage.
- Cost of data transmission: Cost of data transmission is sometimes the most critical factor determining the adoption of edge computing for certain scenarios. This is especially important for use cases where data is collected at high frequencies and cost of such data transmission is very high. One such use case is ATM monitoring, which aims at reducing security incidents and providing alerts and alarms in a timely manner to the central control room. In such scenarios, the industry is moving towards adoption of edge computing to make analysis and decisions at the edge, and only transmit alerts and notifications related to security incidents to the central hub.
Is this adoption at the expense of cloud computing?
There is no doubt that the above mentioned scenarios showcase how edge computing is gaining traction in the industry to solve business problems. However, it doesn’t mean that in the absence of edge computing, cloud computing services will be the next best technology. Certain use cases were made possible only because of the availability of low cost compute at edge. For example, in cold chain monitoring solution, any adverse changes in temperature should be able to trigger corrective action at the edge level, as any delay in decision making, due to communication delays to cloud compute, can lead to degradation in quality of goods transported. That would defeat the purpose of proactive monitoring solution. Hence, in such scenarios, the decision making is done at edge and results of analysis, notifications, and actions taken are transmitted to the cloud infrastructure for future analysis.
We have discussed a number of scenarios above, where edge computing has eliminated the need to transmit large quantities of data to central cloud instances and decision making is done close to the data source. Although such deployments empower edge and enable decision making, this architecture has made many use cases feasible. Further to support such scenarios, it becomes important to keep the results of the analysis at edge, in the cloud, so that root cause analysis, and corresponding actions can be audited in future. This leads to better utilization of cloud computing services in scenarios which were not considered feasible earlier, providing better scope for cloud adoption.
Though technologies have their own shelf life before they start declining, cloud computing is a relatively new and evolving technology which will continue to grow as new markets and use cases are explored. We might continue to read more about the myth that cloud and edge computing are competitors while in reality, these technologies complement each other.