Recent Post

99.5% of Our Transformations Were Uploads: The Nightly Sync That Cost Two Credits a Month

On weekends, our users mostly go home. Delivery requests to Cloudinary drop by 90%.

Transformations, the line we pay the most for, drop by 5%.

That gap held every week from July to October, and it’s the whole story.

Read more

88 GB of Files Nobody Points At: Archive First, Purge Later, and the Hibernate Hook Underneath

A quarter of the original files on our two Cloudinary accounts have nothing pointing at them. 88.6 GB, about 222,000 files, and the part of it we can count in the database grows by roughly 700 rows a day.

None of them can be identified by looking at the file. You have to look everywhere else.

Read more

‘Deleted 500’ Every Night for a Year: The Clean-Up That Never Left Page 1

Every night at 1 AM, for about a year, a scheduled job logged the same line: Deleted 500 export files from US Cloudinary tenant. Five times in a row, then it went back to sleep.

Over that same year, about 10,000 export files, 26 GB, piled up in the folder it was supposed to be emptying. Nobody complained, because nothing was slow.

Read more

Your Index Has Three Jobs. A Sort Can Break One of Them.

I showed a colleague a query reading 109 documents to return one, and the index it was supposed to be using. He looked at both and said the obvious thing: “that’s not even the same index. It’s got four fields, your query filters on three completely different ones.”

Read more

Two Billion Documents a Week to Produce a List of Numbers

One query. Seven days. Here’s what it cost.

Read more

JaVers From First Principles: How Automatic Audit Logging Actually Works

Somebody asks who changed this invoice’s status last Tuesday, and from what. Your application has to be able to answer, and nobody wants to hand-write that logging on every setter.

Read more