Cache-by-directory: How FoxyCart uses Verizon to manage thousands of accounts

As a certified PCI Level 1 Service Provider serving thousands of merchants around the world, FoxyCart’s requires reliability, scalability, and flexibility in its infrastructure. With these goals in mind, a CDN isn’t just a nice thing to have, but rather a critical piece of the solution.

Though the credit card details involved in submitting ecommerce transactions require an incredibly strict adherence to security protocols, the overwhelming majority of file requests FoxyCart’s systems see are for small assets like javascript and images. And though cloud hosting and virtualized environments have significantly brought down the cost of serving static content, FoxyCart saw three significant benefits to moving their small files to a CDN:

  • Dramatically reducing load on the main application systems. Since these main servers handle the highly sensitive payment details, they require significant expense to secure and maintain.
  • Avoid creating another server environment. FoxyCart’s sysadmins were able to avoid creating and maintaining another high-availability environment with multiple geographic points of presence, saving time, stress, and money.
  • Significantly improving pageload times. For e-tailers, faster pageloads translate into more sales. A CDN is the only way to accomplish this.

With those advantages in mind, FoxyCart set out evaluating every CDN available, and quickly discovered a unique challenge: FoxyCart serves different assets per account, based on version and features. These javascript files are automatically generated, and though they generally don’t change, they do need to change when an account is updated.

“We needed to be able to purge the CDN’s Customer Origin cache by directory, not by individual filename or by an entire storage. Every CDN provider agreed that this approach was the only sensible solution for our situation of managing thousands and thousands of automatically generated files for thousands and thousands of FoxyCart users”, says Brett Florio, CEO of FoxyCart, about challenge his team was facing when selecting the right CDN to deliver their solution.

Most CDN Origin Storages did not offer cache-by-directory, and hence, would have left FoxyCart with two inefficient solutions:

1. Create individual Origin Storages per FoxyCart user

Though theoretically possible, it would require significant efforts to implement, and it would still suffer from delays in provisioning.

2. Purge the entire cache on every file change

With hundreds of individual FoxyCart account updates daily, this would effectively eliminate the benefit of having a cache (and thus, a CDN with Origin Storage functionality) in the first place.

With Verizon Digital Media Services (formerly EdgeCast), FoxyCart was able to leverage an Origin Storage purge-by-directory functionality, offering FoxyCart with the most effective way to serve automatically generated files through a CDN.

“Thankfully, we found Verizon. It not only was the only CDN provider that offered the flexibility in their API that we required, but it also has responsive support and unparalleled reliability”, says Brett Florio.

With Verizon’s Origin Storage, a cache purge API request can be sent every time FoxyCart needs to update a file. Only Verizon Digital Media Services allowed FoxyCart to use this approach without purging the entire cache every time one file is changed by syncing FoxyCart’s origin with Verizon’s Origin Storage — serving the updated files from Verizon’s edge servers according to the cache and expire headers FoxyCart specifies.

“Once we found Verizon Digital Media Services, we were able to get things set up with a few days worth of work. We nearly immediately transferred 90% of our traffic to serve through Verizon’s CDN, that traffic was served about 30% faster than we’d ever managed, and at about 20% the cost of our previous systems. There wasn’t a single downside with choosing Verion Digital Media Services. Three years later, it remains one of the best decisions we’ve made,” says Brett Florio.

About FoxyCart

The goal at FoxyCart is to rethink ecommerce, not rehash it. Launched in 2007, FoxyCart is a flexible, secure, hosted e-commerce platform (PaaS) built for web professionals to integrate with their existing systems and workflows. This allows more rapid and custom deployments at a fraction the cost of rebuilding the e-commerce wheel.

It’s like a power drill compared to the turnkey, all-in-one ‘utility knife’ approach taken by most systems. The latter is fine if you’re installing a light switch, but if you’re building a house you need the best tool for each specific job. FoxyCart is that tool, allowing easy, fully customized and integrated PCI compliant e-commerce to be added to existing systems like CMSs, CRMs, accounting, inventory, marketing, analytics, or beyond.

×