We are busy creating a server hierarchy manager (possibly not the greatest name). What this is intended to do is determine which of our servers is the best for doing work. We have identified the following points as the most important criteria which we would like to base our decisions on:RAMOSNo of coresWe had considered including architecture, however with the amount of RAM we will likely be using in our x64 servers the amount of RAM should be able to indicate the architecture too.Considering the example of having 3 servers available running on different operating systems, different amounts of RAM, different numbers of cores etc. how would we figure out which is the best server to designate as the primary server? What we have considered at the moment is creating a simple metric whereby each section (RAM, OS and cores) is represented by a value out of 1 (where 1 is our recommended requirements) and comparing the servers this way. Is this a good approach to the problem? Does anyone have any better ideas or know of any tools that can assist?EDIT: Let me explain further. These servers are basically just processing engines. They will all talk to the same DB. The scenario is this: We could remove or add servers at any time, say for example the primary, and the rest would have to figure out amongst themselves who the primary is. When the primary is readded the hierarchy should realise that there is a new primary again. We have the mechanism for this in place already. My question is with regard to the metric. In terms of determining what would be the best primary server, are there any other relevant factors to consider?
Server comparisons - Comparing servers based on their specs
server;performance;metrics
UPDATEThat being said i believe that cores is your major metric. Ram and OS might be useful but processing is a CPU job most likely. again this is application based and you will have a better answer than i do.as for the servers taking place the best solution I envision for you is a load balancer.  a cheap machine just to forward the traffic to your server pool. while the network will always connect to the same ip, lets say 192.168.0.1 this balancer will be forwarding to other online server. it's a pretty straight forward setup to archive on a unix server.  btw, this kind of questions would have better attention on https://serverfault.com/Let me know if u need any more help with it.old answerDifferent applications will need different types of servers therefore  servers can't be compared on that matter unless they will execute the  same job. It doesn't even come to a role spec. A Mysql server might need a lot  of ram or alot of CPU, both or even fast disks. Unfortunately i believe it's a terrible approach. What would be best  in my opinion is to list the services, their requirements and assign  em to compatible machines. The approach is not even related to the  most critic/important service gets the best machine. A secondary  service might need way more ressources than a primary...  lets say  search server vs the http server.You should get your technical team and involve em in this discussion  and if you believe they dont have the necessary expertise, depending  of the size of your business,  you should get a consultant on that.