The experiment was over.

“I want to get really aggressive.”

The target was every Shutterstock and Bigstock file. We had spent months researching MogileFS, talking to teams already using it, building test pools, and learning how it behaved.

Now I wanted the real content moving.

Image storage was not a side system at Shutterstock. It was the inventory. A migration touched uploads, downloads, previews, backups, contributor workflows, customer requests, and the assumptions built into years of application code.

Bigstock added another library and another set of paths through the same problem. The destination could be shared. The applications and migration histories were not automatically identical.

That made caution reasonable. It also made endless testing dangerous. At some point the old system kept growing while the new one remained a promising lab project.

“Let's chat Monday” was the entire next step in the email.

The meeting had a lot hiding inside it. How fast could we import without hurting production? How would we verify every object? Could both systems run together? What happened when a file existed in one place and not the other? How quickly could we stop if the numbers looked wrong?

We also needed boring progress numbers. Files attempted. Files copied. Files verified. Errors by type. Time remaining if the current rate held. A migration this large could not live in somebody's terminal window and a feeling that it was probably moving.

Aggressive did not mean reckless. It meant deciding that migration was now the work, not research adjacent to the work.

The library would not move in one dramatic moment. It would move file by file, check by check, until the new storage stopped being new.

Monday was for turning “aggressive” into a sequence the team could actually operate.

Time to start.

Archive