Cloud infrastructure has enabled a radical shift in how enterprises perform computing. In the centralized cloud computing model, all data travels from individual data sources to cloud computing platforms. This model, however, has in some ways had a negative impact on the end-user experience, exacerbated by the rapid pace of growth in the number of internet users and the amount of data that flows through the internet.
Edge computing can overcome many of these challenges and deliver a superior user experience for your consumers. In this article you will learn more about edge computing and why you need it, as well as how using Fauna can help you optimize your edge architecture.
What is edge computing?
is the concept of bringing computing power closer to the data source. This means that the data generated doesn’t need to be routed all the way back to centralized cloud computing infrastructure before it is processed. Edge computing enables developers to build logic at the edge to deliver a fast, secure, and scalable user experience.
Best practices for edge computing
Why do you need edge computing?
For example, say you run a video streaming service with all media and applications running in cloud computing servers in London. If a user accesses your service from Australia, the data from the user and from the server has to travel a long distance to reach the other party. This high latency impedes the user experience.
Similarly, when millions of users are sending requests to your centralized cloud computing infrastructure, the load on your London servers is enormous. The bandwidth and computing resources needed at the London location will be huge and often not feasible, because there is a limit to the number of users that can be served concurrently from a location. Additionally, it’s difficult to dynamically scale infrastructure at a single location.
Due to these constraints, a better solution is a computing model in which processing and data storage are distributed across geographical regions. Edge computing overcomes the many disadvantages of cloud computing.
Benefits of edge computing
Edge computing coupled with cloud infrastructure offers benefits for businesses of all sizes:
- Faster page loads: Since data and processing is much closer to the user, webpages, applications, and different types of media will load more quickly.
- Concurrent users: Since end users are served by multiple servers close to them, those servers undergo very little strain. Edge computing supports a large number of concurrent users by distributing content delivery and processing.
- Efficient computing: Data and processing requirements are decentralized, and infrastructure requirements at the edge are much less than with a centralized cloud model. The smaller infrastructure also makes this a much more energy-efficient model.
- Better data security: Data in edge computing is transferred over shorter distances than with cloud computing, which reduces the risk of spoofing attacks. Even if one edge is compromised, less information is exposed. That edge can also be easily cut off from the rest of the network.
- Reliability: The edge model is more reliable than the cloud computing model. Even if one of the edges fails, users can be automatically served from one of the other edges instead.
- Scalability: You can increase or decrease the number of edges in operation according to the demand. This gives you great flexibility and agility in dynamically scaling your infrastructure.
- Lower costs: Since data travels shorter distances, the cost of moving data around is lower. The ability to dynamically scale also helps to keep costs in check.
Edge computing with Fauna
The distributed nature of edge computing can make it incredibly beneficial for your organization, but it is also incredibly difficult to model, architect, and implement such an infrastructure at large scale. The challenge is that traditional relational databases and contemporary NoSQL databases are not designed to automatically handle the throughput requirements and distributed nature of edge computing infrastructure without significant configuration, operations and engineering overhead.
A purpose built distributed and serverless database natively supports the distributed nature of edge computing infrastructure. This can be accomplished with a solution like Fauna
, a distributed document-relational database. Fauna, which works locally or across region groups, provides a serverless operations model with simplified scalability. The database doesn’t need to be provisioned, sharded, or replicated, and developers can use Fauna to more easily build low-latency applications for distributed infrastructures.
Fauna offers several features that benefit edge computing systems:
- Database delivered as a secure cloud API
- Single global endpoint to access data
- ACID-compliant database
- Integration with edge computing vendors such as Cloudflare, Fastly, or Azion
Setting Up Fauna
To demonstrate how Fauna can help with edge computing, you’re going to set up a database to track room inventory across all the properties of a global hotel chain.
First, you need to complete the sign-up procedures
for Fauna. Once you see the Fauna dashboard, click one of the CREATE DATABASE
In the slide-out menu, provide a name for the database and choose a region group. This tutorial uses the name
hotel-inventory and Europe as the region group:
Once your fields are populated, click the CREATE button.
In the database, you'll create a
collection to store information on available inventory using Fauna Query Language
(FQL) from the Fauna shell, which can be accessed by clicking Shell
in the left-hand menu. Rather than being a general purpose programming language, FQL is the native API required to query the Fauna database. You can use the FQL cheat sheet
to learn more about FQL functions.
Running the query yields the following result:
>> Time elapsed: 56ms
Going line by line:
ref is a reference to the collection itself
ts is the timestamp of its creation in microseconds
history_days determines how long Fauna will retain changes in the collection documents
name is the collection’s name
The next step is to create a server key, which can be used to run apps on edge computing platforms such as Cloudflare, Fastly, or Azion. Go to the Security section of the dashboard and create a new key with the Server role:
After clicking Save, you should see your key:
With this database and secret key, you can move forward to work on the logic side of the application. Keep the secret key safe so no one else can use it to access the database.
Edge computing success stories
The following three case studies highlight how organizations are benefiting from distributed edge infrastructure.
is a conversational intelligence company with an advanced search engine powering next-gen voice assistants. The company serves clients with more than 100 million monthly active users. Serving such a large userbase could become cumbersome, which is why MeetKai uses Fauna as the backend data store
to push and pull logs and the personalization information of millions of users. This helps it deliver a mature voice recognition experience with minimal latency.
uses a globally distributed API and an open database to calculate carbon emissions in real time so that clients can monitor their sustainability operations. It requires a distributed serverless model
for lower emissions and low global latency. It uses the Compute@Edge platform from Fastly, and pairs it up with Fauna as the serverless database, so that responses to requests are delivered from the closest edge node to the user. This helps Climatiq keep emissions low and deliver products quickly. Using Fauna eliminates the time and effort that goes into spinning up and maintaining database infrastructure.
is a software consultancy firm with clients in the healthcare and financial technology industries. They use Fauna so that database maintenance is ops-free, allowing them to maintain low DevOps and quickly scale by focusing on applications and customer needs. The flexible permissions model and asset compliance of Fauna are critical features for Dhamira, because the tight integration of the permissions model with a GraphQL layer reduces the need for middleware infrastructure. The decentralized nature of Fauna also allows Dhamira
to move fast and logically with evolving client requirements.
Edge computing offers a fast, scalable solution for organizations dealing with ever-increasing amounts of data. It addresses the major drawbacks of cloud computing by processing data at a computing node closer to the data source. It also reduces the volume of data transmitted to cloud servers over a public network, which reduces an organization’s processing and storage requirements as well as costs.
In order to make the switch to a distributed computing infrastructure, you’ll also need a distributed database like Fauna
. A transactional document-database, delivered as a cloud API, saves you the trouble of managing your own database infrastructure. This frees you up to focus on your applications instead. To give Fauna a try, register for a free account
Anish Devasia is an electrical and electronics engineer who is enthusiastic about technology, heuristic problem solving, and philosophy.