Benefits of Edge Deployment
Updated: Mar 18, 2020
In this post we will: (1) define what we mean by Edge Deployment, and (2) present several benefits of Edge Deployment. But first let's start with the Cloud.
Benefits of the Cloud
Note, we focus here on end-user services available in the Cloud, not on Cloud as a platform for building services from scratch.
There is no denial that services available in the Cloud have many benefits given their enormous popularity. That is why Voicegain Speech-to-Text Platform is available both in the Cloud and at the Edge. Among the benefits of Cloud services are:
Ease of Use - All it takes to start using Cloud services is to create an Account and use web portal to configure security tokens, and the Web APIs and other functionality can be immediately accessed.
No Maintenance - the provider of the Cloud services take care of all of: software updates and patches, backups, resources, etc.
High Security - again the provider spends one time effort on securing the Cloud services for all of the tenants. Although Cloud is potentially more exposed, but the provider can devote more resources to address security in a systematic way.
High Availability - Cloud provides redundancy of the virtual platform and often geographic distribution. Geographic distribution provides more resiliency to network wide outages, etc.
Scalability - Cloud provider takes care of the growing demand for resources.
Lower Sys Admin, DBA etc. costs - This is largely related to the No Maintenance point.
What is Edge Deployment?
Before we discuss the benefits of Edge Deployment let's define what we mean by it.
Edge Computing is defined broadly as all computing outside the cloud happening at the edge of the network, and more specifically in applications where real-time processing of data is required. Edge of the network, in turn, is usually understood as within the "last mile", that part of the network that physically reaches the end-user's premises.
What we call Edge Deployment is a deployment of Edge Computing (in our case specifically Speech-to-Text services) on customer premises (on-prem). Compute resources are provided by the customer but the entirety of the deployed application and services it provides is deployed and managed from the Cloud . These services run in virtualised environment (in our case Kubernetes).
Benefits of Edge Deployment
Edge Computing on-prem for Speech-to-Text services has many advantages:
Low Network Latencies & High Network Reliability - With Edge Computing processing of speech audio is brought close to where the audio originates. For example, all processing can be done in the same location where the Telco phone lines terminate for an IVR application. If the speech processing were to happen in the Cloud the audio data would need to be sent over Internet which would introduce additional latency, jitter, and would make the service susceptible to occasional incidents on wide internet like trunks overloaded by DDoS attacks, fiber cuts, etc. One can avoid some of those issues by deploying more reliable network connectivity to the Cloud, e.g., Google Cloud Interconnect, but that comes at the cost and still does not solve the basic reality of extra latency.
Lower Bandwidth Cost - Some Speech-to-Text applications generate a lot of data, e.g., Call Analytics application that processes 100% of the calls. Edge Deployment allows for putting processing resources right next to where the data is generates, e.g. right at the Call Center.
Data Privacy and Control - with all the incoming and generated data confided to the Edge Computing on-prem environment and none of it going to the Cloud, the customers can apply their own security protocols to protect the data.
Lower Computing Resource Cost - real-time Speech-to-Text processing requires GPU resources. While such resources are readily available in the Cloud, one has to pay a premium for them. Provisioning own GPU hardware on-prem for use by Edge Deployment opens opportunity to reduce the cost of the entire application. Certain applications, like training the DNN Acoustic Models can be run much more efficiently on local hardware than in the Cloud.
Does Edge provide some of the benefits of the Cloud?
You may ask - what about the benefits of the Cloud, mentioned upfront? Do I get some of these with the Edge Deployment?
The answer is (qualified) "yes", and specifically:
Ease of Use - Edge Deployment is fully managed from the Cloud. Deployment of the entire application stack takes a few mouse clicks.
No Maintenance - Voicegain takes care of managing the components of the application - all the application components will be automatically updated and/or patched. The customer still needs to take care of the hardware and the Kubernetes cluster. We are working on an Appliance version of Edge Deployment where Voicegain will take care also of those components. In the Appliance version all the customer needs to provide is rack space, network connectivity, and power.
High Security - The same core application is deployed for all our customers and we have made sure that it is secure. In case of any new vulnerabilities found, they will be automatically patched. The network entry and exit points from the Edge environment are well defined and the customers can provide additional network security for these.
High Availability - Running on Kubernetes platform our application has been designed with high availability in mind - there are multiple instances of each services, and Kubernetes takes care of failover in case of hardware node failure. Because of the ease of deployment, it is easy for our customers to deploy multiple Edge instances, for example, to achieve geographic distribution.
Scalability - Again, thanks to the underlying Kubernetes platform, new processing resources can be added by adding new hardware nodes to the Kubernetes cluster, they will be automatically taken advantage of by the Voicegain application.