This is a common question and everyone seems to have a pat answer; as if computers have a clear known life expectancy. The obvious answer is there is no single solution.
I’ve always been of the mind frame you should only change when you see a clear benefit on top of a need to change. What I mean by this is of course you would like to replace your machines continuously since there is always something better out there, but unless it also fulfills a second beneficiary need – I don’t believe you should change for change sake.
A clear example if you have a server that is running without any issues, but has been running for over 5 years, you may think you need to replace it just because of its age. There is also some “ancillary factors” such as warranty being expired, the Operating System seeing the support life cycle waning and perhaps even a gradual reduction in hard drive space.
Well these are all perfectly good reasons to change, but often I like to stack up several benefits to make it a clearer choice. Perhaps setting up the next system into the cloud where remote access to your files, backup and access from mobile device is optimized. Or perhaps upgrading with Exchange 2010 where you can have the option to connect Outlook from the inside and outside using the same HTTPS connection, giving a far more flexible system, or lastly maybe a virtual server where you can have amazing flexibility to increase and adjust your system as you go. These are just some examples of upgrading while stacking up the benefits for your client.
One hard line I will take is the Microsoft Support End Date. For example that date is set for Windows 2003 Servers is July 2015. Not that you actually need or use support from Microsoft, typically that is the last option and usually the most unpleasant one, but I think the Support End Date does put you in an odd situation where if something does fundamentally go wrong, you are pretty much on your own.
Now another preference I have is to replace workstations rather then servers. Clients sometimes are unsure what causes issues or slowness in their system in which I would say, it is usually the workstations they are using. The workstation is the machine that you do all your computing on; the server is usually just sitting on standby dishing out files and emails. Most CPU levels on servers are riding at lower then 10% – hence the advent of virtual machines to capture some of this unused resource.
The workstation however will make or break your productivity. My suggestion is always to get the fastest workstation with as much RAM. All newer operating system are backwards compatible to older servers and getting all the workstation up to date is a good way to clear the path for a new server when you need it.