We are excited to introduce Couchbase Edge Server—our lightweight, local-first, data platform designed to power your edge computing applications. With features like local data storage, upstream and downstream offline-first data sync, and seamless RESTful data access, the Couchbase Edge Server delivers efficient, reliable, and low-latency applications at the edge.
Couchbase has long been a leader in providing robust offline-first data sync solutions, with its embedded Couchbase Lite database for mobile and desktop applications, along with App Services/Sync Gateway for seamless data sync (collectively known as Couchbase Mobile). We are now expanding the range of edge use cases that can be deployed with our existing mobile solution, to fit the unique demands of certain edge applications, which may be deployed at scale in resource-constrained environments.
The launch of Couchbase Edge Server bridges these gaps, establishing Couchbase as the most comprehensive database platform tailored for edge applications.
Purpose-built for the edge
When developing Edge Server, we didn’t simply scale down Couchbase Server and Sync Gateway to fit a smaller form factor. Instead, Edge Server was purpose-built specifically for edge environments.
Built on the proven Couchbase Lite Core engine—the same engine that powers the Couchbase Lite embedded database used in millions of mobile, desktop, and custom embedded hardware applications for business-critical offline-first use cases—Couchbase Edge Server is ready to meet your production needs today.
Here’s how Edge Server fits in with the rest of the mobile stack.
Edge computing application requirements
Edge Server offers the traditional advantages of edge computing topology, such as low-latency local data access, bandwidth optimization, business continuity, and improved data privacy. These benefits are now accessible even in highly resource-constrained environments:
Deployable in highly resource constrained environments
There are edge deployments with severely limited storage and compute resources for running a fully distributed local database and sync solution. For instance, take an in-flight seatback meal ordering and entertainment system (IFE) serving hundreds of airline passengers. This system must operate reliably in real time, even at 37,000 feet with no internet connectivity, using only a single-board computer with 1GB of RAM. Deploying a Couchbase Server and Sync Gateway, which demands significantly more storage and compute capacity, is simply not feasible in such scenarios. Edge Server addresses this challenge with its lightweight design, allowing deployment on hardware with minimal resource requirements, as low as 1GB of RAM.
Lightweight, cost-effective solution at scale
Edge deployments can scale to hundreds or even thousands of locations, often requiring only a lightweight edge database solution to serve a handful of local clients at each site. Deploying a distributed,”enterprise-class” data platform and sync solution designed for high-volume local data access, performance and scale at every edge location is often an overkill and can be prohibitively expensive.
For instance, consider a large retail chain with thousands of locations, each running a couple of local point of sale (PoS) systems that need to operate in disconnected mode. These scenarios are well-suited to a simple edge database solution like Edge Server, which effectively supports these sorts of localized use cases without the complexity and cost of a full-scale database platform.
Flexible data access & offline-first data sync
Some edge applications require straightforward data access through off-the-shelf HTTP clients, while others demand real-time offline-first data synchronization with edge clients. For instance, consider an event check-in application where attendees scan digital tickets on their mobile devices at venue entrances. The check-in process at each gate must be extremely fast to ensure tens of thousands of attendees can enter the event on time.
Edge Server offers flexible solutions for such scenarios, supporting simple data access patterns through a RESTful interface. Additionally, the scan events need to be synchronized across the venue’s servers to maintain consistency via a robust WebSocket-based data sync protocol. This protocol has reliably powered business-critical Couchbase Mobile deployments for over a decade.
Edge Server architecture
The diagram below shows the foundational elements of Couchbase Edge Server:
Administration
-
-
-
- During startup, Edge Server is configured using a JSON-formatted configuration file. Additionally, the server provides a RESTful interface for managing replications, accessible exclusively to users with the admin role.
-
-
REST Data Access API
A RESTful interface enabling any HTTP client, including browser applications, to:
-
-
-
- Perform CRUD operations on documents
- Execute SQL++ queries
- Subscribe to and receive real-time updates on document changes
-
-
Downstream data sync with edge clients
-
-
-
- Couchbase Lite applications running on mobile and desktop edge clients can synchronize data with a local Edge Server using a WebSocket-based replication protocol.
-
-
Upstream data sync with remote Couchbase Server
-
-
-
- When Internet connectivity is available, the Edge Server can synchronize data with a remote App Services using a WebSocket-based replication protocol.
-
-
Edge Server Sync
-
-
-
- Edge Servers can directly sync data with each other over web sockets. This is useful when there are multiple Edge Servers that need to be kept in sync at the edge or one can setup Edge Server in a primary-backup configuration.
-
-
Security
Edge Server is designed with a secure by default approach, incorporating the following features:
-
-
-
- All data access from edge clients requires authentication, either via Basic authentication with username/password credentials or certificate-based authentication using mTLS.
- All communications are encrypted using TLS.
- Data synchronization and query execution are disabled by default and must be explicitly enabled.
- For convenience, the Edge Server provides a CLI mode to generate anonymous self-signed certificates for use with the server. These certificates ensure encrypted communication over TLS, even if server identity validation is skipped.
- Edge Server also supports a CLI mode for generating Bcrypt passwords, allowing configuration of edge client users who are authenticated to access and synchronize data.
-
-
Prebuilt Database
-
-
-
- Edge Server can be configured to create a local database that either synchronizes data from a remote App Services instance or loads data from an existing local database.
-
-
Supportability
-
-
-
- In addition, Edge Server supports operational logging to facilitate debugging and troubleshooting as well as Audit Logging capability.
-
-
Edge deployment topologies
Edge Server supports deployment in various topologies at the edge, enabling a broad range of use cases. In each of the cases, the Edge Server can, optionally, sync data with remote Capella App Service/ server in the cloud.
Topology 1
Read/write data or listen for data changes from Edge Server over a RESTful interface from any HTTP client:
Topology 2
Deploy edge clients in a mixed configuration, with HTTP clients accessing data through the REST API and Couchbase Lite clients supporting offline-first data synchronization:
Topology 3
Deploy multiple Edge Servers at the edge, each serving a subset of local clients. Configure the Edge Servers to synchronize data with one another, ensuring eventual consistency across all local clients.
This topology can also be leveraged to deploy Edge Servers in a primary-secondary configuration for High Availability (HA):
Resources & next steps
Watch our overview video and see more resources below:
Here are links to few helpful resources to get you started:
-
- Download and try Edge Server for free today. Upgrade to Enterprise License when you are ready to deploy your app in production
- Access on DockerHub for containerized deployments
- Explorer Edge Server and its Use Cases
- Read the developer Documentation
- Watch the Couchbase Edge Server Explainer video
- Install the Sample App
Acknowledgements
Special thanks to Jens Alfke for his significant contributions to the product and to Mark Gamble for his contributions to this post.