André Brynildsen Brynildsen
Sep 9, 2011
  12895
(4 votes)

Virtual Path Provider for Amazon S3

Many of our customers have requested a better solution for tackling large campaigns that have high demand to both server capacity and speed. We considered several different cloud services before choosing the most popular one Amazon Web Services. This was largely because of their great API, documentation and community.

The goal was to create a seamless integration between Amazon Cloud and EPiServer CMS. The result was a Virtual Path Provider (VPP) for Amazon S3. The editor should have the same capabilities as the built-in Virtual Path Provider from EPiServer.

Amazon Simple Storage Service
The Provider is using Amazon Simple Storage Service (S3). S3 is Amazon’s cloud storage solution. It’s versatile, reliable, fast and scalable. For more information read http://aws.amazon.com/s3/ and http://en.wikipedia.org/wiki/Amazon_S3

Important thing to mention is that S3 doesn’t use the traditional file structure like folders and files, instead S3 uses “buckets” in which you store objects. You can think of a bucket as a separate hard drive where you’ll store your files.

Getting Started Guide” from Amazon is a good starting point.

Use Amazon S3 as CDN (Content Delivery Network)
AWS S3 is not a CDN. A CDN delivers files from a distribution of servers around the world. Visitors get access to file from the fastest resource available (most likely the closest server). Amazon S3 only has a few centers around the world and your bucket will be located in only one of these centers.

Amazon CloudFront is a service for content delivery. CloudFront is optimized to work with Amazon S3 and it’s very easy to set it up. With the “Getting Started Guide” you will get all the help you need to get started.

Thanks to my colleague, Frederik Vig, we have created a NuGet packet. You will find it on EPiServer’s NuGet feed.

Because of a reported bug in NuGet’s XML transformation (we need your vote to fix it) you’ll have to manually configure episerver.config for now. 

image


You’ll find AWS access key and secret key under “Security Credentials” located in your “Account”.


clip_image002


You can download the code from Coderesort.

Thanks to Coop Norge Handel for given us the opportunity to develop this provider and share it with the community.

Sep 09, 2011

Comments

Sep 26, 2011 09:46 AM

Just tried this module and it works like a charm! EPiServer + CDN/Cloud have never been easier.

Thanks for sharing!

Jan 3, 2013 09:55 PM

Hello,
I have installed the AWS S3 library from NuGet, but when i try to set the pathprovider for pagefiles i get the error:
""The VirtualPathProvider configured to handle page files must return directories that implement IPageDirectory"."


Any tip regarding this problem?

See my problem here:
http://world.episerver.com/Modules/Forum/Pages/Thread.aspx?id=64587&epslanguage=en

Please login to comment.
Latest blogs
Commerce 15 and CMS 13: Optimizely’s Next Step Toward AI-Powered, Graph-First Commerce

Optimizely is preparing to release Commerce 15 in mid-May 2026 , positioning this as a foundational shift—not just an upgrade. The direction is...

Augusto Davalos | May 7, 2026

The future of Content: Introducing Optimizely CMS 13

Optimizely In the rapidly evolving landscape of digital experience, the "monolithic vs. headless" debate is being replaced by a more sophisticated...

Aniket | May 6, 2026

Hide built in scheduled job from the admin UI

Ok so this probably goes into the not so useful section but late last night I got a veery strong feeling that all projects I am  involved with have...

Per Nergård (MVP) | May 6, 2026

Optimizely SaaS CMS Developer Certification Exam

The Optimizely SaaS CMS Developer Certification is an industry-recognized credential for developers and architects who build scalable, composable...

Megha Rathore | May 5, 2026

Piwik PRO Connector for Optimizely CMS — Now on NuGet (and Yes, It Speaks Both 12 and 13)

Analytics has spent the last decade living in another tab — and what's in that tab usually isn't the full story. Between consent requirements,...

Allan Thraen | May 4, 2026 |

A First Look at Optimizely Remote MCP Server for Experimentation

Optimizely just released a Remote MCP Server for Experimentation and I've been trying it out to see what it can do. If you don't know, MCP (Model...

Jacob Pretorius | May 1, 2026