Why view-distance and simulation-distance matter
view-distance controls how many chunks are sent to each player's client; simulation-distance controls how many chunks are actually ticked — entities moving, crops growing, redstone running — around each player. Both default to 10 in server.properties. Raising either one increases RAM and CPU load roughly with the square of the distance, since you're covering a wider square of chunks, not just a wider radius in one direction.
Sizing storage for the long run
World size is the one variable that only grows over time. Budget for backups on top of the live world — TickHosting keeps automated backups on every paid plan, which roughly doubles the storage footprint of an actively-played server compared to the world alone.
Next step
Once you have a target RAM figure, use the Java Arguments Generator to get the matching JVM startup flags, or the RAM Calculator for a quicker player-count-only estimate.