ShootProof Uses Amazon EFS to Deliver Photos Five Times Faster

ShootProof is an online platform for professional photographers that provides online galleries with print ordering, contracts, invoices and more—everything photographers need to run successful businesses. Tens of thousands of professional photographers depend on ShootProof to run their businesses every day.

Photographers and their clients using ShootProof expect to be able to download groups of digital photos within minutes of requesting the photos. As ShootProof grew, getting photos to customers quickly had become difficult because the company was using an aging photo-packaging workflow system to process and deliver photos. “Most of the processing time was spent using a PHP-based, single-threaded process,” says Brian DeShong, director of engineering for ShootProof. “We wanted to optimize this process to create a better experience for photographers and their clients.” During busy times of the year, demand on the system increased as thousands of new photos were requested for download. “We only had so much capacity in our system,” DeShong says. “Our customers sometimes had to wait up to an hour to receive a photo package they requested. That is not the kind of customer service we strive to deliver.”

ShootProof also wanted to offer its customers new capabilities, such as watermarking and photo resizing. “We wanted to add features, but the system was becoming slower,” DeShong says.

“We don’t want to manage storage layers. We want to spend our time creating new features and delivering the best possible service to photographers. We can do that because of AWS and Amazon EFS.”

Brian DeShong, Director of Engineering, ShootProof

  • About ShootProof
  • Based in Atlanta, Georgia, ShootProof provides online galleries, contracts, and invoices for professional photographers, who can use the ShootProof site to sell, share, print, and download digital photos. Tens of thousands of professional photographers use ShootProof every month.

  • Benefits
    • Delivers digital photo packages to photographers 5 times faster
    • Doubles performance of media packaging workflow system
    • Spends more time creating new features for customers
  • AWS Services Used

Using Amazon EFS for Managed, Centralized Digital File Storage

To fix its performance problems, ShootProof started to re-architect the entire photo-packaging workflow system using Amazon Web Services (AWS). “We knew we had to parallelize some of our procedures to process and build photo package files concurrently. To share the data across multiple servers, we realized we needed a central file store,” says DeShong. That led the company to implement Amazon Elastic File System (Amazon EFS), which provides scalable file storage and acts as a common data source for workloads running on multiple Amazon Elastic Compute Cloud (Amazon EC2) instances. “We talked through a few solutions, but none of them fit as well as Amazon EFS, because it had the best functionality and integration with our existing AWS environment,” says Robert Swarthout, cofounder of ShootProof.

By using Amazon EFS for centralized digital file packaging and delivery, ShootProof can deliver thousands of photos. Once the company receives a download request from a customer, it builds a photo package on Amazon EFS and uploads the files to Amazon Simple Storage Service (Amazon S3). Customers then access the files via a link provided by ShootProof. “We now write all of the photos and photo package metadata files to Amazon EFS. Instead of building the packages one at a time, we parallelized the package-building process so they are built concurrently,” says Swarthout. ShootProof also uses Amazon Aurora, a MySQL-compatible relational database, to track all photo and photo package files throughout the process. “By recording the state of the package-building process in our Amazon Aurora database, we get more visibility into what’s going on during the photo package creation process,” DeShong says.

Delivering Digital Photos to Customers Five Times Faster

By changing the process of packaging to utilize Amazon EFS, ShootProof always has enough throughput for its media-packaging system. “We parallelized photo processing and digital package creation, which doubled the speed of package creation and enabled us to get photos to photographers and their clients five times faster,” says DeShong. “Now, we can get photos to them just minutes after they request them. And the larger the photo package is, the better the system performs compared to the old system.”

ShootProof is improving its quality of service by delivering photos to customers faster. “Our customers don’t understand why the photo-packaging process would take so long. They just expect to receive their photos in a reasonable amount of time,” Swarthout says. “We are providing a better level of customer service by using Amazon EFS to speed up our processes. Since we changed our system, we haven’t had customers calling or emailing us because they’re waiting too long.”

Creating New Features Instead of Managing File Storage

Taking advantage of Amazon EFS, ShootProof has been able to grow its business with only three DevOps employees. “Amazon EFS just works. We don’t even have to think about file storage,” says DeShong. “We take pride in not having to hire additional people to manage our AWS environments, and using Amazon EFS for centralized file storage is one of the ways we’re able to make that happen.” Instead of hiring IT staff, the growing company has been able to increase staff in other areas to support business growth.

Rather than manage file storage, the ShootProof DevOps team can perform more value-added work. “We don’t want to manage storage layers. We want to spend our time creating new features and delivering the best possible service to photographers,” DeShong says. “We can do that because of AWS and Amazon EFS.”

Learn More

Learn more about Amazon Elastic File System.