Sunday, November 01, 2015

2015-11-01 Sunday - CDN Best Practices

This posting is a placeholder for resources I find interesting - related to CDN Best Practices - that may be useful to to others...

https://en.wikipedia.org/wiki/Content_delivery_network

I'm currently evaluating Amazon's AWS CloudFront as a possible CDN solution
http://aws.amazon.com/cloudfront/

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html

http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateDistribution.html

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web.html

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html

http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront


S3 limitation on creating directory structures for serving CDN content
 see Phil P's last response - Apr 24, 2013 11:56pm
- this invalidated an assumption I had of using a CDN release directory structure with S3 - but seems to state that it could be done with an EC2 instance as a custom origin.

I also noted this entry, re: Invalidation of paths is not (?) supported with wildcards...

A question I've raised on the AWS CloudFront forums

https://azure.microsoft.com/en-us/documentation/articles/best-practices-cdn/ 
"Versioning and cache-control You must consider how you will update static content and deploy new versions. The CDN does not currently provide a mechanism for flushing content so that new versions are available. This is a similar challenge to managing client side caching, such as in a web browser."
"Testing It can be difficult to perform local testing of your CDN settings when developing and testing an application locally or in staging."
"You cannot set up a CDN endpoint for an application deployed in Azure staging, or in the local Azure emulator in Visual Studio. This will affect unit testing, functional testing, and final pre-deployment testing. You must allow for this by implementing an alternative mechanism. For example, you could pre-deploy the content to the CDN using a temporary custom application or utility, and perform testing during the period it is cached. Alternatively, use compile directives or global constants to control where the application loads the resources from. For example, when running in debug mode it could load resources such as client-side script bundles and other content from a local folder, and use the CDN when running in release mode."

A lists of CDN Vendors...
http://blog.streamingmedia.com/2014/07/cdnvendors.html

Heroku's Fastly
https://devcenter.heroku.com/articles/fastly

Marrying CDNs with front-end optimization
http://www.webperformancetoday.com/2012/05/14/cdn-feo-front-end-optimization-web-acceleration/

No comments: