First, you should connect all the nodes together in a single blockchain, so that even if there is some downtime of nodes or connections, they will all automatically reconnect and catch up with each other. And there's no extra setup for syncing - it will happen automatically.
I would recommend performing the mining on the nodes which are most reliably online and connected to each other – presumably this means those in the cloud. Bear in mind that the system will keep running fine so long as at least (mining-diversity * number-of-permitted-miners) of the permitted miners are online and connected to each other. So depending on your parameters, you can perform some mining in the local network as well.