A system for creating a multi-region virtual overlay network for a software-defined wide area network, the system comprising: a plurality of network appliances (150, 250, 1315, 1320), each appliance (150, 250, 1315, 1320) of the plurality of network appliances (150, 250, 1315, 1320) having a plurality of network interfaces for transmitting and receiving data over at least two communication networks; and an orchestrator device in communication with each of the plurality of network appliances (150, 250, 1315, 1320), wherein the orchestrator device is configured to: process information regarding configuration of each network appliance (150, 250, 1315, 1320) of the plurality of network appliances (150, 250, 1315, 1320); characterized in that the orchestrator device is further configured to: dynamically assign each network appliance (150, 250, 1315, 1320) to one region from a plurality of regions in the virtual overlay network, creating at least two regional subnetworks on the virtual overlay network; dynamically assign each appliance (150, 250, 1315, 1320) within a regional subnetwork to a role of either a hub or a spoke for its region, creating a network topology for the region; create a first plurality of virtual tunnels on the virtual overlay network for each region, each of the first plurality of tunnels connecting each appliance (150, 250, 1315, 1320) within a region to at least one other appliance (150, 250, 1315, 1320) in the same region, in accordance with the network topology for the region; and create a second plurality of virtual tunnels on the virtual overlay network to connect at least one appliance (150, 250, 1315, 1320) within each region to at least one appliance (150, 250, 1315, 1320) in each other region, for inter-region connectivity. a plurality of network appliances (150, 250, 1315, 1320), each appliance (150, 250, 1315, 1320) of the plurality of network appliances (150, 250, 1315, 1320) having a plurality of network interfaces for transmitting and receiving data over at least two communication networks; and an orchestrator device in communication with each of the plurality of network appliances (150, 250, 1315, 1320), wherein the orchestrator device is configured to: process information regarding configuration of each network appliance (150, 250, 1315, 1320) of the plurality of network appliances (150, 250, 1315, 1320); dynamically assign each network appliance (150, 250, 1315, 1320) to one region from a plurality of regions in the virtual overlay network, creating at least two regional subnetworks on the virtual overlay network; dynamically assign each appliance (150, 250, 1315, 1320) within a regional subnetwork to a role of either a hub or a spoke for its region, creating a network topology for the region; create a first plurality of virtual tunnels on the virtual overlay network for each region, each of the first plurality of tunnels connecting each appliance (150, 250, 1315, 1320) within a region to at least one other appliance (150, 250, 1315, 1320) in the same region, in accordance with the network topology for the region; and create a second plurality of virtual tunnels on the virtual overlay network to connect at least one appliance (150, 250, 1315, 1320) within each region to at least one appliance (150, 250, 1315, 1320) in each other region, for inter-region connectivity.