Photobucket is one of the net’s classic image and video hosting services. With over 10 billion images hosted, naturally, they have some serious image processing requirements, and they needed a simple, flexible solution. It also wouldn’t hurt if they ended up with some big savings along the way — enter imgproxy.
Photobucket processes tens of millions of images a month: “We do 1,000 requests a second. It’s pretty typical,” explained Scott Curry, CTO at Photobucket. He said that Photobucket uses imgproxy primarily for optimizing images on the fly. Use cases include resizing, getting thumbnails or poster frame images out of videos, and getting image info for every image request to populate metadata on the platform.
Additionally, Scott says, Photobucket needs to get the most lightweight version possible for a particular person on a given device at a particular moment: “resizing for the device, file type conversation are super common use cases, as well as quality optimization — to get things to perform faster for mobile, in particular.”
Photobucket switched to imgproxy from another service they had been previously using and saved big, “we saved over 60% when we first adopted imgproxy, moving from a service that optimized on the fly using an edge compute service.”
After using the open source version, they decided to implement Pro for specific features, like blurring, watermarking, and video thumbnails. Scott identifies the primary motivators for the move: “Trust of the open source version, Pro features, and support.”
We saved over 60% when we first adopted imgproxy, moving from a service that optimized on the fly using an edge compute service.
Scott Curry, CTO at Photobucket
With this, another big cost reduction milestone came: “We saved an additional 20% when moving from x86 to ARM processors, with the help of the imgproxy development team adding support for ARM64 architecture.”
This wasn’t the only imgproxy feature implemented upon Photobucket’s request, “We’ve asked and had quite a few things added over the last couple of years.” For instance, “We were able to abandon using FFMPEG for getting thumbnail representations of a video”, and Scott adds, “Getting HEIC support for Apple devices and getting embedded thumbnails out of HEIC files led to big performance improvements for us.”
He concludes, “It’s really fully featured and really highly performant and efficient, and the developer responsiveness and support are the things that we embrace the most about imgproxy.”