Content Delivery and Edge Computing

The CDN Approach

Foundation: DevOps

The core of the deployment is based on DevOps, which we include with every project. Templates and content are pushed to a private Git service, triggering a build and deployment pipeline. Pre-rendered web content resulting from the build pipeline is then pushed to a HTTP server.

Origin Server

Web content is hosted on a HTTP server that is hidden from public view by the CDN. This server is called the origin server from which web content is delivered to the CDN as the ‘point-of-origin’.

The server is set up with an orgin SSL / TLS certificate provided by the CDN, ensuring tight end-to-end security. Server-side we configure the HTTP to run without root privileges, which further insulates the system from potential compromise by hackers.

Delivery Network

Depending on the type of CDN and service tier, content is either pushed to a CDN when updated, or pulled from the origin server when needed. In the latter case users trigger CDN caching when visiting the website. If the CDN has content cache available it will send it to the user direcrly, othewise it will fetch it from the origin server on the user’s behalf. Users nearest to each datacenter of the CDN provider are essentially responsible for triggering caching, which effectively results in having copies of the website around the world to ensure faster delivery.

CDN also offer CDN push services, where the origin server actively pushes new content to the CDN, meaning users will always receive a cached version of the website. In effect this means that the orgin server will never really experience load. CDN push is indeed better than pull, but generally not available in free CDN tiers.

Edge Computing

Most CDN providers also offer Edge Computing as part of their service, which allows serverless functions to be educated in a datacenter closest to the user, allowing both pre-rendered and dynamic content to be delivered in a high speed and low latency fashion. This is ideal for smaller site functions and is generally available for free until a certain amount of load and traffic has become commonplace.

Frequently Asked Questions

Do CDNs help to deliver the entire website faster?

No. A CDN is designed to deliver ‘static’ files to users from the data center that is nearest to them. This includes HTML, CSS and JavaScript files as well as fonts, images, videos and the like. Dynamic content that is delivered on-demand and processed with the aid of a database cannot be delivered using conventional CDN technologies.

When using a DevOps based website solution the majority of content will be delivered through a CDN, but pages that feature dynamic content such as shopping carts, chat systems, customer portals and the like will not. These types of content can be accelerated as well, but require a different mechanism.

Does Coduity offer a CDN service?

No, we purposely avoid ‘reinventing the wheel’ by getting into the hosting business. We design solutions that are provider agnostic, which allow our customers to broker the best deal with any provider and helps them to benefit from ’economy of scale’.

Our solutions include design and setup on existing CDN platforms as well as helping businesses create their own custom CDN solutions from scratch. We can of course maintain CDN services on behalf of businesses as well.

Is it worth it to deploy a custom CDN?

Yes, but only for large deployments with specialised requirements. The most high performant CDN designs require access to a large pool of IP addresses which is rather costly. Alternative solutions such as those based on DNS are less performant.

In most cases it is best to work with an existing CDN provider as custom solutions may or may not require a large pool of IP addresses, but always require a fairly large number of (virtual) servers. There are scenarios where a custom CDN is warranted, but not for the majority of deployments. We will never suggest a solution that requires more resources than necessary unless it is absolutely unavoidable for the specific use-case.

Other Solutions

Let's start with a free analysis and a quote