If you don't want to read all of this, the TL;DR is below...
Background: We're a medium-sized eCommerce store which operates parallel to several brick and mortar stores under the same brand. We're switching from an older open source shopping cart to one of todays eCom beasts: Magento.
We have an existing relationship with an ISP who will do our hosting. They colo our existing web server for our current site, and have suggested that we use their new-ish virtualized server environment (read: VMs) for the launch of our new system.
I am the in-house developer and have been working with these VMs for a few months now, but keep encountering performance problems. I've raised my concerns multiple times and finally got some people to listen, but now I've been asked to help define some "hard numbers" or metrics/KPIs that will tell us whether the servers will perform fast enough for us come launch time.
Questions / TL;DR: How do you know what to purchase for servers for a new project? Is it driven by gut instinct/experience or do you have some sort of formula you use?
I imagine the most general answer is "it depends" on the platform, application, expected usage, etc. But that's exactly what I'm looking for? What do I need to know? Where does it all fit into the calculations? How did I get into this mess???
If it's for a product you've never used, then any formula that you've used in the past for other products will be meaningless. You're changing too many variables.
Thoughts :
I agree with mfinni. Additionally, your biggest KPIs (ick, C-Level speak) are usually Disk IOPs and Processor MIPS/Horsepower. Virtual Environment usually suffer from poor performance because the hosting provider failed to account for one of those two adequately.
Contact Magento Commerce; you should be able to give them a rough idea of your inventory, sales expectations, and traffic; they should be able to spec out a machine that can easily handle those requirements.