The Unifi controller can be run as software on a Windows or linux box. It doesn't need to be running all the time, either, although it's somewhat useful. Cloud key just does the same job. The USG, as others have pointed out, is getting old; any router/firewall will work, just add a switch for extra ports if needed. Of course, Unifi plays nicest with more Unifi, but you can mix - I run a Sophos firewall, Zyxel switches and Unifi APs.