July 3, 2023
Image processing, for real: imgproxy helps real estate projects grow
Here’s another place imgproxy has a perfect home: applications focused on real estate often adopt imgproxy for their image processing needs! Real estate projects require a vast collection of property photos, and these all need to be resized for different platforms while maintaining a brand identity. And, as with the case we’ll discuss below, if we suppose a project involves user-generated content (for instance, if agencies and individual landlords or sellers can self-publish photos) the security of image uploads also becomes critical.
Imobiliare.ro is Romania’s leading and most popular real estate platform, and it invites both real estate agencies and private individuals to publish their offers. Launched in 2000, the portal has 1.9 million unique visitors per month, serves over 2,500 corporate clients, and includes the largest base of offers from all real estate categories at the national level.
The company has built its own ecosystem that offers several products beyond the real estate platform and its mobile version: it offers applications for market analytics and communication tool for the real estate brokers and developers community. This requires a lot of images to process: they store about 3TB of images and process 4.5M uncached requests per month: primarily resizing and watermarks.
Imobiliare initially used ImageMagick to work with this amount of photos. But moving forward, the Imobiliare engineering team discovered its slow work and faced a lot of reported vulnerabilities. So they started to look for a faster, safer, and more performant solution. Their second goal was to migrate any old images stored within their previous on-premise infrastructure to a newer cloud-based image processing infrastructure they built on top of AWS’s ECS service.
The team had already heard about imgproxy since it used libvips at its core — the popular library the Imobiliare team explored and tested. They decided to start with the imgproxy Pro version as they needed its “customized watermarks” feature to protect and brand their images.
The team runs imgproxy on ECS containers with a build/deploy pipeline configured in place. But since their infrastructure is constantly changing for purposes of scaling and better performance, they shaped autoscaling rules that add or remove tasks depending on the average load (a.k.a. uncached traffic.)
The number of Imobiliare.ro users constantly grows, so the infrastructure to support their portal and apps costs a lot. But by using imgproxy, they’ve managed to achieve improved service availability, which takes the same engineering resources as before — so they didn’t have to extend them.
Whether your infrastructure is changing to support your successfully growing projects, or you just need safe and blazing-fast image processing, we’ll be happy to give you a hint.