Storing user-uploaded files directly on application server local disk works fine in development, but completely breaks horizontal scaling. The moment your cloud infrastructure auto-scales to 3 instances, a user who uploads an avatar on Instance 1 will get a 404 Not Found whenever their subsequent request lands on Instance 2 or 3.