S3 looks like a folder. The resemblance holds right up to the moment it matters.
There are no directories. Every path is one flat key with slashes in it, and listing a "folder" is a prefix scan across the keyspace — a design decision that shows up at scale. There are no in-place edits either: changing one byte means uploading the whole object again. And eleven nines of durability promises the bytes will still be there, which is a different promise from the request succeeding right now.
Past those surprises, three habits pay for themselves. Match the storage class to the access pattern — Standard for hot and unpredictable, Infrequent Access for rare but instant, Glacier for archival, Intelligent-Tiering when nobody knows. Let lifecycle rules move objects as they age, because most of the saving lives there rather than in any one decision. And hand clients a presigned URL so gigabytes go straight to the bucket instead of through our servers.
When something borrows a familiar shape, the danger isn't what it can't do — it's assuming it behaves the way the original did.
