We've got a weird set of requirements. Disk space and RAM aren't really much of an issue. Here's the planned configuration:
City + DB: Large server with lots of storage and bandwidth. CPU not as important.
Lot (1..n): Minimal storage (5gb), cpu very important to simulate lots. Since all lots run the same content, we only need about 2 GB RAM to sufficiently hold all game content and a reasonable number (100?) of runtime lots.
I'll likely go with digital ocean for a while. Will likely be on the $20 per month plan per lot server, which would mean 8 cores at $80. It's certainly worth looking into at which point dedicated solutions become a better idea, but because the lot servers are horizontally scalable we should utilise that as much as possible.
I'll run city and lot on the same server initially. I can't make any significant investments myself, so scaling past a single $20 a month server would need a donations setup.