Hi,
I work for a company (rfxtechnologies.com) that uses Bricolage to
manage various clients' web sites, at least one of which is quite
media-heavy. We want to use Amazon CloudFront as our CDN for almost
everything except HTML pages: images, PDFs, stylesheets, etc. We use
Amazon S3 buckets for storage, and I've done some of the work to
integrate the S3 mover into Bricolage for version 2.1.0.
Our problem is that when publishing a new version of a file, old
versions of that file are still cached at the CDN endpoints for quite
some time. Potential solutions:
(1) Set a short cache expiration period. Unfortunately Amazon only
lets us set it as short as one hour. Not good when a change must be
published ASAP.
(2) Use something called an invalidation request
<http://bit.ly/pSu8SH>. But you can only have 3 requests at a time
(each with up to 1,000 files) and each takes 15-20 minutes. Seems to
require us to build a second queueing system or graft invalidation
requests into our existing one. Again, not good for when a change
must be published ASAP.
(3) So now I'm looking to use some sort of versioning system on the
files we publish for distribution via CDN. (Remember, we're not using
the CDN for the HTML pages, just everything else.)
My questions are twofold:
(A) Can versioning be accomplished by simply adding support for
something like %{version} to output channel URL formats, or is it more
complex than that?
(B) Does anyone have any other thoughts on this whole thing?
Thanks in advance.
I work for a company (rfxtechnologies.com) that uses Bricolage to
manage various clients' web sites, at least one of which is quite
media-heavy. We want to use Amazon CloudFront as our CDN for almost
everything except HTML pages: images, PDFs, stylesheets, etc. We use
Amazon S3 buckets for storage, and I've done some of the work to
integrate the S3 mover into Bricolage for version 2.1.0.
Our problem is that when publishing a new version of a file, old
versions of that file are still cached at the CDN endpoints for quite
some time. Potential solutions:
(1) Set a short cache expiration period. Unfortunately Amazon only
lets us set it as short as one hour. Not good when a change must be
published ASAP.
(2) Use something called an invalidation request
<http://bit.ly/pSu8SH>. But you can only have 3 requests at a time
(each with up to 1,000 files) and each takes 15-20 minutes. Seems to
require us to build a second queueing system or graft invalidation
requests into our existing one. Again, not good for when a change
must be published ASAP.
(3) So now I'm looking to use some sort of versioning system on the
files we publish for distribution via CDN. (Remember, we're not using
the CDN for the HTML pages, just everything else.)
My questions are twofold:
(A) Can versioning be accomplished by simply adding support for
something like %{version} to output channel URL formats, or is it more
complex than that?
(B) Does anyone have any other thoughts on this whole thing?
Thanks in advance.