The public cloud and edge computing are both technologies that supplement the traditional data center and help optimize resource utilization and management, but they aren't ideal for every organization or scenario. Use case plays a big factor in which deployment model makes the most sense for certain workloads, but before IT administrators can decide whether to use the cloud or edge -- or, more likely, a mix of both -- they need to understand the pros and cons of each.
Cloud computing basics
By now, most people are familiar with cloud computing: A platform is created where resources -- compute, storage and network -- can be applied flexibly to a workload in a highly virtualized manner to better meet the needs of modern dynamic workloads.
Advantages of cloud computing
Cloud has many advantages, including:
- Highly dynamic flexible resource provisioning. With the right configuration, cloud can flex the resources applied to a workload on demand. For example, a workload that has a sudden spike in its need for compute power can have this applied from virtual resource heaps. When the spike is over, the resource can be freed up and placed back in the heap, ready for the next workload's requirements.
- Highly virtualized. Again, in a well-architected cloud, the virtualization of the platform means workloads gain high levels of portability. An instance of an app can be moved from one part of the cloud to another, if required -- and this can be done rapidly. This improves availability and performance.
Disadvantages of cloud computing
Cloud also has its disadvantages, including:
- There still remains a resource ceiling. This is true, particularly in private clouds. No organization wants to run a platform where it's paying for too much spare resource capacity. The costs associated with poor resource utilization include not only the power requirements to keep everything running, but the overall size of a data center, the cooling required, licensing of operating systems and apps, maintenance and so on. Public clouds are most likely already managing hundreds of thousands of workloads, and so can better handle this aspect; private clouds only managing tens to hundreds of workloads might not have the resource headroom.
- Difficulties in dealing with more physical aspects of an environment. Although the virtualization of resources is a powerful plus for cloud, it can't be done when there is a dependence on the physical position or capabilities of a single asset.
- Public clouds aren't generally connected to the more physical needs of an organization through high-bandwidth links. Using a centralized cloud platform in an environment is generally a good idea. However, if that cloud has a dependence on a slow, lower bandwidth connection to access data from an environment, major issues such as data sawtoothing and packet collisions might occur when data loads are high.
Cloud in a modern IT environment
Objectively, cloud is a great idea, but it does hit some issues when looking at changes in the IT environment over the past couple of years. The main one is the burgeoning area around IoT. Here, devices are dotted around an organization's physical IT environment, carrying out a range of different tasks from simple measurements to complex actions against the requirements of, say, a production line or smart building. IoT devices are data-rich, as they tend to create a lot of data. This data tends to be chatty -- it isn't a continuous stream but created over a time series of events. Much of the data is useless; IoT devices tend to create data that is often just a case of stating that everything is OK. Such data doesn't need to traverse the network, but many IoT devices don't have the built-in intelligence to know this.
Herein lies the dichotomy: trying to fully manage an IoT environment through a full cloud platform isn't the optimal way of doing things. The problem is that for a cloud to deal with all the data created by these IoT devices, all that data must traverse the network to where that cloud capability resides. This then leads to latency in the data itself, along with what can be a major hit on the overall bandwidth of the cloud, even with the resource flexibility that cloud brings into play. Luckily, there is another option: edge computing.
This article is part of
Edge computing basics
The idea behind edge computing is to move all or some area of the data manipulation and analysis away from the center of an IT platform toward where the data is created, minimizing data movement, improving performance and placing required intelligence closer to the IoT devices themselves. As such, a special computing unit, known as an edge device, can be placed within the environment to capture, manipulate, analyze and make decisions on what actions should be carried out in what areas. Again, a good idea in theory, but problems arise in practice.
Advantages of edge computing
Edge computing advantages include:
- It places data intelligence closer to where it's needed. This means responses are improved, and with many IoT devices being actuators or other event-driven items, there is a need for as near real-time responses as possible in some situations.
- Minimizes data transfers across the broader network. This means more network bandwidth is available for more pressing data manipulation and analysis needs.
- Enables a more "onion skin" approach to data transfers to be enacted. Here, the edge device can capture and analyze the data coming in from a group of IoT devices and can filter out the obviously useless data. It can also see if there is anything that points to an immediate issue and send that data down for more detailed analysis to the centralized cloud or to another, more capable, edge device closer to the core.
Disadvantages of edge computing
However, edge computing also suffers from issues, including:
- Defining the edge. Cloud platforms have already muddied the definition of where the edge of an IT platform and its constituent parts lie. For edge computing, which deals with far more physical entities in the IoT device world, it might seem obvious that these represent the edge as they are end nodes. However, just how many IoT devices should one edge device be responsible for? What different types of IoT device should a single edge device be responsible for?
- False positives and negatives. With the majority of IoT devices being relatively dumb devices with little capability to analyze or manage their own devices, the edge device must take over responsibility for this. However, edge devices must be cost-effective; an edge device that looks after, say, 10 IoT devices can't cost thousands of dollars. Therefore, edge devices might suffer from deficiencies in their capabilities, leading to poor data analysis and event initiation. Users must be careful of how they choose their edge devices.
Choosing between edge and cloud
For the majority, it isn't a choice between cloud and edge computing; it's more that both are required to manage a modern environment. The idea is to have the resources where they are most needed. For cloud-optimized workloads, this can generally be anywhere within the virtual cloud itself.
For IoT, where the physical location of that device is a major concern, and there is a need for resource capture, filtering and analysis to be as close to the physical devices as possible, edge computing is a better option. However, the data that feeds from an edge computing network will generally feed into the main cloud environment for deeper analysis and event processing.
Fog computing and edge cloud
Those looking into edge computing in a cloud world might also come across the term fog computing -- this, essentially, brings the two concepts together as more of a single concept. Edge computing devices are placed as close to the actual need as possible, but with close integration to the main centralized cloud platform.
Another term you might see is edge cloud, which means different things to different people; many see it as being the same as fog computing. For others, it's more of a fully integrated and optimized total infrastructure platform that relies on the underlying network constructs for managing data flows and analysis. However, edge cloud and fog computing are similar concepts.