I work for a company of about 50 people. Our two servers (identical) are custom built with these specs:
Xeon E3-1270 V3
Intel Entry Server Board
32 GB DDR3 ECC
2x 256 GB SSD RAID1 (for System)
4x 1TB SSD RAID10 (for Hyper-V VMs)
Windows Server 2012 R2 as Host and VMs
Each server hosts two VMs (2x AD + file sharing + roaming profiles, 1x SQL server for testing, 1x other (not important).
We perform daily backups using the built in Windows Backup on iSCSI targets hosted on a QNAP NAS (2x 2TB RAID1).
The servers don't have a lot of load and we never had any problems. Most of our data is stored in the cloud (VS Online, SharePoint).
But I wonder if it's sensible continuing this setup or if it's better to switch to professional server hardware, namely one big machine.
So what are the pitfalls and what should I do about them?
Sounds like you're already using decent hardware. What's wrong with it? It's not too old right? Keep your stuff in warranty or close, if you don't want to feel too concerned (not everyone shares my opinion on this).
If you have stuff setup to be redundant and good backups, you're doing pretty good. One server = single point of failure, no matter how good it is, that would make me uncomfortable. There's a lot you can do on a budget by making smart decisions around how stuff is implemented software/hardware/infrastructure/support wise.
If you don't have precautions/things in place, maybe you should be worried. If one system dies, are it's services are gone? How will that effect business? How fast can you recover?
Pitfalls? Depends. You didn't provide too much info. Cheap drives can fail or be slow. Cheap cases can overheat. Cheap fans can fail. Cheap SATA/SAS/RAID controllers can screw up or not perform as expected. Cheap power supplies can die or if not redundant, leave you without power. Motherboards can do wonky things. Systems without remote consoles (ILO, etc...) can be a pain to manage. Cheap network cards can have cheap drivers or screw up. Lots of little unforeseen issues can occur. On the other hand, you can get cheap as hell entry level stuff that performs amazingly. And more expensive stuff can be wonky sometimes too.
I've seen it all, in decent* server grade, lower end server, workstation and consumer grade equipment. Higher end stuff seems to do better in the long run (way past warranty). But if you can't afford it? Or you can only afford one server and can't implement proper redundancy?
There's nothing essentially wrong with dual servers running with Xeon's, ECC memory and RAID. Unless you have a problem with it.
Assuming your VMs are redundant (and this is tested as working with one node off), you are probably relatively immune from an hardware related outage by virtue of having two mirrored nodes.
Without knowing more, I wouldn't recommend dropping down to a single (newer) box unless an outage of the entire node isn't a major problem at your company.
That said, it would be helpful to know some extra details about your environment... such as, how how long you've had these machines, are they in a purpose built environment (clean, dry room with a rack & AC etc). As you are probably aware, well looked after equipment lasts longer!
Generally speaking, there's nothing necessarily wrong with using less 'professional' hardware, it just doesn't come with the same guarantees or reliability as more expensive kit, and these risks need to be weighed against your budget.
Since your storage backend is all-flash, your hardware is totally OK for the mentioned workload. The only concern I have regarding your configuration that your VMs are split and running on a single server instead of being mirrored/synchronized between servers especially if they are identical. Thus I would strongly recommend you to use some software-defined storage (virtual SAN) that will let you join both servers into a single cluster and making your virtual machines immune to possible hardware failures.
Possible options are HP VSA http://www8.hp.com/us/en/products/storage-software/product-detail.html?oid=5306917 or EMC Unity VSA https://store.emc.com/us/Product-Family/EMC-Unity-Products/EMC-Unity-VSA/p/EMC-Unity-Virtual-Storage-Appliance which is free but as far as I know not allowed for production. Since you are using Hyper-V a perfect option for you would be to use StarWind Virtual SAN https://www.starwindsoftware.com/starwind-virtual-san that runs natively on top of windows and allows you to seamlessly create a fully-functional Microsoft Failover Hyper-V cluster using only directly attached storage.
I would also recommend using VEEAM B&R https://www.veeam.com/vm-backup-recovery-replication-software.html that has a free version or Bacula http://blog.bacula.org/ to backup your VMs instead of using native Windows 2012 Server Backup since it is known for causing issues when trying to recover your VMs.
In small deployments, it is generally better to have multiple (at least 2) cheaper machines than one expensive one. Or in other words, in small deployments it is better to be wide than tall. The reason is that this way you have some redundancy for a limited increase in cost. Two 3000,- servers might be able to do the same thing as one 5000,- server, but if the expensive server fails you are boned. If one of the cheaper ones fail you at least have half of your VMs still running, and it can probably run the other ones as well, it's just going to be slow.
Something you should look into is to not manage these servers individually, but somehow cluster them together. Your virtualization solution should be able to create a failover cluster so that it doesn't matter on which host a VM lives, if the host dies, the VM is automatically migrated. This also reduces micro management and means that in the future, you can just add a new server while keeping the old ones running, until it is no longer economical to do so. This decision usually comes down to power consumption or space limitations.
If you want to grow more, you probably want to migrate from on-server-storage to a SAN. This way, your servers become pure computing nodes, and their health doesn't really matter to the VMs.
as long as you don't have any problems on your network and on your back up system you can continue with this setup but for future it is better to have Professional server to be 100% HEALTY.