Upswift platform designed to mainly support edge devices that are running on different and complex network environments: no Public IP, behind double-nat, under a firewall, cellular modem, unstable Wifi connection and etc.
The architecture based on robust client-server design:
Client The client-side is the edge device, running Upswift agent. Upswift agent is always communicating to the "outside world" as a client side - no open network ports or listening servers are needed. The client side agent will always "check" and "do" remote missions by sending keepalives to Upswift servers.
Server The server-side is Upswift servers. Upswift servers responsible to handle coming requests and responding to the devices in accordance.