Introduction

An overview of Edgemesh and its technology.

Company Overview

Edgemesh was founded in 2016 with the goal of reinventing the way content is distributed across the internet. Since then, the product has seen many iterations and our mission statement has grown with us:

Edgemesh aims to bring traditional server side technologies designed to improve user experience to the extreme edge of the network (the end user device). This includes intelligent caching, load balancing and security features.

In a nutshell, Edgemesh is a decision making engine who's controller resides in between the browser and the network. In the next section we will get into more detail on the various components of Edgemesh.

Technology Overview

Definitions

  • Critical path: The critical path is defined as the user's direct access to content. Edgemesh will never get in the way of the critical path.

  • Asset Registration: The process of making a new asset available for edge caching. New assets are registered when a visitor of your site requests an asset and we can not serve it from local cache. This triggers a cache re-validation event for the asset, invalidating all stale copies globally.

Stack Components

  • Backplane: Edgemesh's back end service: Responsible for state management, cache invalidation, metric collection and making decisions for requests off the critical path.

  • Proxy: Edgemesh's client side proxy: Responsible for critical path decision making and implementation of Edgemesh's core features.

  • Client: Edgemesh's client: Responsible for instantiating Edgemesh and reporting performance metrics to the Backplane.

Caching

The Edgemesh caching engine is the primary source of performance improvement. Edgemesh's Proxy intercepts all outbound requests and implements a cache first strategy.

When the asset can not be served from cache, it is fetched from origin (your server), stored in cache and registered with the Backplane.

Optimistic Caching

Basic caching alone will boost performance significantly, but we took it one step further. Once the page has loaded, Edgemesh will call out to the Backplane for any assets that it should cache optimistically. The content selected for optimistic caching is determined by the Backplane's machine learning algorithm. It uses the global interactions of all your site visitors to determine what content is the most important to store.

The end result of optimistic caching is that your website's users will more often than not already have the content they want before they request it.

Cache Invalidation

Cache invalidation can happen in several ways.

  • Organic: Edgemesh uses the visitors of your site as crawlers. Any time a user registers a new asset, an integrity check is run against all existing instances of that asset. If the check fails then the asset is removed from all caches globally.

  • Cache-Control Header: The Edgemesh Backplane reads the Cache-Control header of the registered asset and will automatically re-validate the asset according to the directives set on the header. The benefit here is that if the asset has not changed, caches are not thrashed by useless deletes and re-population. Edgemesh will intelligently back off on cache re-validation to help reduce bandwidth spend.

  • Portal or API: You can manually purge the cache through the Edgemesh Portal or API services. This method should not be necessary. It only exists to provide consumer piece of mind.

Load Balancing

The Edgemesh load balancer opens up a world of possibility. Send your users to the closest server (when cache is not available) directly from the client rather than going to a server side load balancer and then to your service. Enable Multi CDN with the click of a button. You can serve content from Cloudflare, Google, Azure and configurable 3rd parties all with no changes to your DNS or server side infrastructure. You can also switch CDN providers on demand.

Load Balancing is currently available for enterprise customers only. A generally available release will be coming in the near future.

Security

Edgemesh passively scans all your site's content (original and third party) for known security vulnerabilities and reports them to you. We are capable of scanning bundled application code (javascript) as well. Hello single page apps!

On top of passive scans, we added a Firewall feature. This feature allows you to define a set of rules that each client on your site enforces. This is great for GDPR concerns. You could make a rule that says (pseudo) "Don't let any content from this site be uploaded to Facebook in Europe". While this can be circumvented, it demonstrates willful neglect of the protections you put in place and voids the user's GDPR protection.

Firewall is currently available for enterprise customers only. A generally available release will be coming in the near future.

Metrics and Analytics

Edgemesh collects anonymous, GDPR compliant performance metrics for every user of your site. Unlike google analytics we don't sample and we don't remove outliers. Instead, we capture everything and report median statistics with outlier events. All the metrics collected are available to query via one of our APIs. You can also visit the portal to see real time statistics displayed in easily consumable chart and configure your email report content and frequency.