If we have many Raspberry Pi how can we keep the Pi's connected to a central server and can reverse connect to the server .
Devices are behind NAT .
Whats Open Source Packages or Docker Images can we use .
for remote desktop what works on iot and raspberry type devices
Just passing by real quick....
ZeroTier – Global Area Networking comes to mind
besides this what other alternatives do we have
There are multiple similar services to ZeroTier. You could also set up your own VPN. You could also set up a tunnel via SSH (ssh from the Pi to the server and add a tunnelled port to the ssh config.)
Whatever you do, remember that your Pi is likely to be less well protected than your server. So a point-to-point VPN into your server might be a pretty dreadful idea. Consider having a DMZ to coordinate incoming IoT traffic with additional inner protection to your inner network and servers.