This will generally depend on what server software you're using, how many players are online at any given time, your draw distance and what sort of plugins or mods you're using.
As far as RAM goes, we recommend you add 0.5GB of RAM per 10 online players, 0.5GB of RAM per 10 plugins and 1GB of RAM per 2GB of world file size. If you're running a modded server, we suggest adding at least another 2 to 3GB of RAM, as those are usually much more resource intensive.
When it comes to choosing CPUs, most hosts will usually balance their nodes so as to not experience any CPU bottlenecks. That being said, it's always best to look for newer, more powerful hardware. Try finding a host with public node stats, that way you can make sure they don't oversell any of their servers and that you'll be receiving every bit of the hardware you're paying for.
Storage will really depend on the size of your worlds and other user or plugin data. You should allow for a good bit of room for future expansion and multiple regular backups. Look out for SSD drives, preferably NVMe, as those will be much faster in reading and writing your world files.
Don't forget to check out the official Minecraft Server Requirements for more on the matter!