DEV Community

Cover image for How We Saved Big and Simplified Our Image Pipeline: Adopting bunny.net on DEV

How We Saved Big and Simplified Our Image Pipeline: Adopting bunny.net on DEV

Ben Halpern on June 16, 2026

Hey everyone, Ben here. If you’ve been following the journey of DEV and our open source project Forem, you know we’ve always been obsessed with we...
Collapse
 
francistrdev profile image
FrancisTRᴅᴇᴠ (っ◔◡◔)っ

Good stuff :D

Collapse
 
hacksore profile image
Sean Boult

I've always wondered. when I upload an image to the thumbnail or body and delete it do y'all clean it up?

I have a feeling so many services end up storing images that no longer get served, I could be wrong though.

Collapse
 
gamya_m profile image
Gamya

Really fascinating to see this from the infra side! 😊 As someone who mostly thinks about images in terms of "does the asset show up on screen," this was a good reminder of how much invisible cost and complexity sits behind something as simple as a post cover image.
The edge scripting fallback for broken images is such a nice detail too—turning a jarring "broken image" icon into something on-brand feels like exactly the kind of polish that's easy to overlook until you've been burned by it at scale. Appreciate you sharing the actual numbers and architecture behind the decision, not just the "we switched and it's better" version! 🌸

Collapse
 
newtorob profile image
Rob

This is the kind of infra simplification more teams should talk about. Image pipelines quietly become cost and reliability problems: origin load, resize latency, cache fragmentation, storage duplication, and 2am operational ownership all add up.

Collapse
 
janeori profile image
Jane Ori

You broke external images in the process and could save even more by unbreaking them.

Right now they're pinging the CDN which obviously doesn't work because they're external.

github.com/forem/forem/issues/22908

Collapse
 
michael_salinas_472fbf6c1 profile image
Michael Salinas

Thank you for sharing such an excellent post. I really enjoyed reading it.

I’m a Python Full-Stack Engineer with over 10 years of experience designing and building scalable software solutions for clients across a variety of industries. Along the way, I’ve learned that successful projects depend not only on strong technical execution but also on creating real business value.

With my recent contract completed, I’m exploring new opportunities to collaborate with professionals who value innovation, practical problem-solving, and long-term partnerships. I enjoy discussing ideas that combine technical excellence with sound business strategy, creating outcomes that benefit everyone involved.

I believe every connection has the potential to become something meaningful. If you're interested in exchanging ideas, exploring opportunities, or simply connecting with someone who enjoys building impactful technology, I'd be happy to hear from you.

Wishing you success in your future endeavors, and I look forward to connecting.

Collapse
 
catmac profile image
Cat Mac

Smooth Sailing, this should be a new standard to get out of sluggish sites and high storage costs.

Collapse
 
hemantsajnani profile image
Hemant Kr Sajnani • Edited

Can we bring in our CDN? so use Bunny APIs to optimise images and use CloudFront to distribute?

Collapse
 
lee_ae8f0cb6ec6f43 profile image
John Lee

The Perma-Cache strategy is a massive win. Offloading egress and origin traffic to the edge like this is the smartest way to scale while keeping costs sustainable.