CDN

CDN stands for content Delivery Network.

CDN’s are proxy networks distributed across the globe to generally serve static assets to users. These assets can include html/css/js, images, videos, and some dynamic content.

In general, without a CDN a user would visit your domain, this would trigger a request to download resources from the server and deliver it to their end. The user could be in Europe and the host server located in North America. This would produce a large RTT (round trip time). With a CDN however which could be located in Europe. The user would send a request, this request would go to the CDN server located in Europe. The CDN then would server the requested assets back to the user.

The advantages of CDN include:

  1. 1. Serving content close to servers reducing load and request times
  2. 2. Reduce requests from your servers generally freeing up compute and memory resources
  3. 3. Adding more redundancy and replication points for assets
  4. 4. Optimizing asset delivery based on the end users browser / device
  5. 5. Improved resistance against DDos attacked

Disadvantages / Considerations of CDN’s include:

  1. 1. Increased monetary costs to use the CDN
  2. 2. Added complexity of supporting resources to and from the CDN
  3. 3. Settings Appropriate cache expiration policy
  4. 4. Not all CDN’s providers support all types of assets
  5. 5. Need to set up a CDN fallback. Either a secondary CDN or your servers
  6. 6. External reliability on a third party vendor - no control over the CDN for support or service outages
  7. 7. Acces Blocking - some CDN’s are blocked in different geo locations due to political or legal issues
CAP Theorem
Checksum