Cloud Computing and Edge Computing
Cloud computing is providing many benefits to its customers including faster deployment, lower maintenance cost and the ability to scale as needed. Additionally, AI/ML aspects of Cloud Computing are playing a prominent role in its adoption across different sectors.
During last week’s guest lecture, Montse Medina from PayPal(formerly Jetlore) explained how their cloud-based AI platform is providing predictive analysis of consumer preferences to retail clients. In the same class, professor Daniel Barreto mentioned how they built Haystack application, with minimal resources using AWS cloud, to bring live TV experience to mobile users. Several years back, Qualcomm attempted to capture mobile TV market using a technology called MediaFLO/FloTV. However, it did not succeed in getting the required number of subscribers for FloTV.  Now Cloud Computing along with AI/ML is helping companies like Haystack in creating a personalized TV experience to their users and thereby increasing subscribers.
Edge computing and IoT
IoT is a giant network of connected “things” and there will be nearly 26 billion connected devices by 2020 as per Gartner report.  All these connected devices will generate humongous volumes of data, and it is not prudent to store and process all of this data in the cloud. Furthermore, there are many IoT applications which cannot afford to entirely rely on the cloud because of latency, bandwidth and security issues. So edge computing will be helpful in these situations.
According to Wikipedia, edge computing enables analytics and data gathering to occur at the source of the data. Edge computing pushes applications, data and computing power (services) away from centralized points to the logical extremes of a network.  Edge computing is hugely beneficial for the industrial sector where actions need to be taken in a timely fashion based on AI/ML predictions and in the absence of reliable data connectivity. It is also beneficial in situations where the customer wants to preprocess and filter proprietary and sensitive data before sending it to the cloud.
Microsoft Azure IoT Edge
As mentioned by Dean Paron from Microsoft, they have a solution for edge computing called Azure IoT Edge. Azure IoT Edge has mainly three components: 
1 – IoT Edge modules are containers that run Azure services, 3rd party services, or your own code. They are deployed to IoT Edge devices and execute locally on those devices.
2 – The IoT Edge runtime runs on each IoT Edge device and manages the modules deployed to each device.
3 – A cloud-based interface enables you to monitor and manage IoT Edge devices remotely.
Customers can deploy various modules, like machine learning to image processing, on edge devices to suit their application needs. IoT Edge runtime also provides security features similar to Azure services. Edge device can also store the data offline and sync that to the cloud once the connection is restored. These features make edge computing very useful for industrial applications.
WaterForce, a New Zealand irrigation and water management company, has developed an interesting IoT solution called SCADAfarm to help farmers conserve water and electricity, reduce costs and increase yields. By using SCADAfarm farmers can monitor and control irrigation system easily from their mobile phone, saving hours of time spent in driving around the farm.WaterForce has developed SCADAfarm along with Schneider Electric on Microsoft’s Azure IoT platform.  
Amazon’s AWS Greengrass is also an edge computing solution and is very similar to Azure IoT Edge in terms of benefits. 
Cloud Computing vs. Edge Computing?
Edge devices can only execute a subset of cloud services whereas cloud plays an important role in aggregate data storage, analysis, and training of AI/ML model. So edge computing can only complement cloud computing but cannot supplant it.