Content Delivery Network or CDNs ensure that customers have content delivered to them from the datacenter that is nearest to them, instead of having to wait for data to be moved around the world. In this day and age, lightning fast download speeds and page load times are a crucial element in keeping customers satisfied.
Larger CDN providers serve content from hundreds of locations around the world, often including Edge Computing services in the mix. Edge Computing allows serverless functions to be executed in the nearest data center, which helps to overcome the latency differences in loading pre-rendered and dynamically generated content.
Coduiy develops websites and applications with advanced content delivery in mind for public facing resources. With our unified approach to software development and infrastructure design, we ensure every project is optimised for peak performance and future growth. We maintain a single quality standard for all projects and deployments.
For highly specialised deployments we also offer custom CDN solutions. In these cases we design and deploy a private CDN from scratch to meet customer requirements. Most projects are best served using one of the major CDN providers, most of whom offer excellent free tiers to get started for both content delivery and edge computing alike.
The CDN Approach
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.
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.
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.
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?
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.