You can use the Particle or not. You choose. The cloud has a lot of benefits but you don’t have to use it.
There is a local version of the cloud that you can run on your own server. Development on that is a bit behind the public cloud but some folks want all the control.
You can talk to your devices over TCP and UDP without the cloud. You have to work out the routing and security issues (if any) in this case.
I am not understanding your question about VPNs, but there is no inherent limitation on VPNs as long as your router can route the WiFi traffic from your devices.
In addition to the web IDE cloud compiler, there is a local Atom-based IDE that uses cloud compile and a full local toolchain based on GCC. You can flash code the device over-the-air via the Particle cloud or locally using USB.
And as always these days, @Moors7 Jordy beat me to it again!
Thank yopu everyone for the replies, that helped me a lot. The reason for a VPN tunnel is for security - particularlyy authentication. I would be interested in running a private cloud on my own server. As far compiling local that is something I would do. Thanks BKO…
Moors7 Thank you for the links and the info. I feel better now and more confident moving forward with this product.