My setup is two Mac Mini's on the same OS and Server app version
MM1 = Mac Mini Server 1 (Primary)
MM2 = Mac Mini server 2 (Secondary)
DNS = MM1 shares a zone with MM2. MM2 provides DNS if MM1 is down.
DHCP = MM1 handles 80 percent. MM2 handles 20. It's a common 80/20 split. Some do 50/50. I personally like 80/20. That means if any new clients connect while MM1 is down, I have 20% reservations available out of the pool of IP Addresses.
Caching = MM1 and MM2 both are primary caching servers. If MM2 has a file, MM1 will grab it, or vice versa.
Open Directory = MM1 is the OD Master. MM2 is the OD Replica.
Everything else is a primary service. If such fails, then I restore from backup. Getting a Mac Mini is pretty easy these days. Most Apple, Best Buy, Micro Center, etc sell them and have them in stock.
If there is a hardware failure, essential services like DNS, DHCP, and OD are still available. You can either 1) wait for hardware repair
2) buy an extra Mac Mini configured the same. When one craps out, make this the permanent replacement and restore from backup. Then when the repaired one returns, test it in a lab, and power it off after and use it as a spare when either of the other two craps out
3) if you don't have a configured one, then just buy an off the shelf one, and use it temporarily while the other gets replaced. Then power off and store when needed.