There are four major considerations you need to take into account when designing the hardware for a Retain system:
Network Bandwidth
CPU Requirements
Planning for Disk Storage
RAM
VM Configuration