What is claimed is:1. A method comprising:at a first network device, including a memory, one or more processors and two or more communication ports:communicating with one or more remote hosts to obtain, at the first network device, contact point information of one or more other network devices, the one or more other network devices including at least a second device associated with the first network device as a peer device in a private network, wherein the contact point information of the second device includes one or more peer uplink identifiers, each respective peer uplink identifier corresponding to a respective peer device uplink of the second device;establishing, from a first port of the first network device, a first private network data tunnel from a first uplink of the first network device to the second device, based on the contact point information of the second device and a first uplink identifier associated with the first uplink;establishing, from a second port of the first network device, a second private network data tunnel from a second uplink of the first network device to the second device, based on the contact point information of the second device and a second uplink identifier associated with the second uplink, wherein the first and second private network data tunnels are concurrently active, wherein the first private network data tunnel is associated with a first link type and the second private network data tunnel is associated with a second link type different from the first link type, and wherein the first link type is a public network connection and the second link type is an MPLS link; andselectively routing data from the first network device to the second device across the first private network data tunnel from the first uplink to the second device and the second private network data tunnel from the second uplink to the second device, the first uplink being a different uplink than the second uplink.2. The method of claim 1, wherein the contact point information provided to the first network device depends on a role associated with the first network device in a network topology and one or more roles of the other network devices in the network topology.3. The method of claim 2, wherein at least one role is a hub and at least another role is a spoke.4. The method of claim 1, wherein selectively routing the data includes:routing a first portion of the data that satisfies a selection criterion via the first private network data tunnel; androuting a second portion of the data that does not satisfy the selection criterion via the second private network data tunnel based on a routing criterion.5. The method of claim 1, further comprising:forwarding network traffic destined for a third party destination over a public network.6. The method of claim 1, wherein one of the remote hosts is a cloud-hosted management server.7. The method of claim 6, wherein the cloud-hosted management server is operative to store and provide configuration information to the first and second network devices.8. The method of claim 6, further comprising transmitting status information of the first network device to the cloud-hosted management server.9. The method of claim 6, further comprising transmitting network traffic information from the first network device to the cloud-hosted management server.10. A first network device comprising:a memory, one or more processors and two or more communication ports, the memory coupled to the one or more processors, the memory storing instructions which when executed by the one or more processors causes the first network device to:communicate with one or more remote hosts to obtain, at the first network device, contact point information of one or more other network devices, the one or more other network devices including at least a second device associated with the first network device as a peer device in a private network, wherein the contact point information of the second device includes one or more peer uplink identifiers, each respective peer uplink identifier corresponding to a respective peer device uplink of the second device;establish, from a first port of the first network device, a first private network data tunnel from a first uplink of the first network device to the second device, based on the contact point information of the second device and a first uplink identifier associated with the first uplink;establish, from a second port of the first network device, a second private network data tunnel from a second uplink of the first network device to the second device, based on the contact point information of the second device and a second uplink identifier associated with the second uplink, wherein the first and second private network data tunnels are concurrently active, wherein the first private network data tunnel is associated with a first link type and the second private network data tunnel is associated with a second link type different from the first link type, and wherein the first link type is a public network connection and the second link type is an MPLS link; andselectively route data from the first network device to the second device across the first private network data tunnel from the first uplink to the second device and the second private network data tunnel from the second uplink to the second device, the first uplink being a different uplink than the second uplink.11. The first network device of claim 10, wherein the contact point information provided to the first network device depends on a role associated with the first network device in a network topology and one or more roles of the other network devices in the network topology.12. The first network device of claim 11, wherein at least one role is a hub and at least another role is a spoke.13. The first network device of claim 10, wherein selectively routing the data includes:routing a first portion of the data that satisfies a selection criterion via the first private network data tunnel; androuting a second portion of the data that does not satisfy the selection criterion via the second private network data tunnel based on a routing criterion.14. The first network device of claim 10, wherein the instructions when executed by the one or more processors cause the first network to forward network traffic destined for a third party destination over a public network.15. The first network device of claim 10, wherein one of the remote hosts is a cloud-hosted management server.16. The first network device of claim 15, wherein the cloud-hosted management server is operative to store and provide configuration information to the first network device.17. The first network device of claim 15, wherein the instructions which when executed by the one or more processors causes the first network device to transmit status information of the first network device to the cloud-hosted management server.18. The first network device of claim 15, wherein the instructions when executed by the one or more processors cause the first network device to transmit network traffic information from the first network device to the cloud-hosted management server.19. A method comprising:at a first network device, including a memory, one or more processors and two or more communication ports:communicating with one or more remote hosts to obtain, at the first network device, contact point information of one or more other network devices, the one or more other network devices including one or more second network devices corresponding to a network site associated with the first network device as peer devices in a private network, wherein the contact point information of the one or more second network devices includes two or more peer uplink identifiers, each respective peer uplink identifier corresponding to a respective peer device uplink of the one or more second network devices;establishing, from a first port of the first network device, a first private network data tunnel from a first uplink of the first network device to one of the one or more second network devices, based on the contact point information of the one or more second network devices and a first uplink identifier associated with the first uplink;establishing, from a second port of the first network device, a second private network data tunnel from a second uplink of the first network device to one of the one or more second network devices, based on the contact point information of the one or more second network devices and a second uplink identifier associated with the second uplink, wherein the first and second private network data tunnels are concurrently active, wherein the first private network data tunnel is associated with a first link type and the second private network data tunnel is associated with a second link type different from the first link type, and wherein the first link type is a public network connection and the second link type is an MPLS link; andselectively routing data from the first network device to the one or more second network devices across the first private network data tunnel from the first uplink to the one of the one or more second network devices and the second private network data tunnel from the second uplink to the one of the one or more second network devices, the first uplink being a different uplink than the second uplink.20. The method of claim 19, wherein the one or more second network devices corresponding to the network site comprise second and third network devices and wherein the network site is a hub in a hub-and-spoke network.21. The method of claim 19, wherein the contact point information provided to the first network device depends on a role associated with the first network device in a network topology and one or more roles of the other network devices in the network topology.22. The method of claim 21, wherein at least one role is a hub and at least another role is a spoke.23. The method of claim 19, wherein selectively routing the data includes:routing a first portion of the data that satisfies a selection criterion via the first private network data tunnel; androuting a second portion of the data that does not satisfy the selection criterion via the second private network data tunnel based on a routing criterion.24. A first network device, comprising:a memory, one or more processors and two or more communication ports; the memory coupled to the one or more processors, the memory storing instructions which when executed by the one or more processors causes the first network device to:communicate with one or more remote hosts to obtain, at the first network device, contact point information of one or more other network devices, the one or more other network devices including one or more second network devices corresponding to a network site associated with the first network device as peer devices in a private network, wherein the contact point information of the one or more second network devices includes two or more peer uplink identifiers, each respective peer uplink identifier corresponding to a respective peer device uplink of the one or more second network devices;establish, from a first port of the first network device, a first private network data tunnel from a first uplink of the first network device to one of the one or more second network devices, based on the contact point information of the one or more second network devices and a first uplink identifier associated with the first uplink;establish, from a second port of the first network device, a second private network data tunnel from a second uplink of the first network device to one of the one or more second network devices, based on the contact point information of the one or more second network devices and a second uplink identifier associated with the second uplink, wherein the first and second private network data tunnels are concurrently active, wherein the first private network data tunnel is associated with a first link type and the second private network data tunnel is associated with a second link type different from the first link type, and wherein the first link type is a public network connection and the second link type is an MPLS link; andselectively route data from the first network device to the one or more second network devices across the first private network data tunnel from the first uplink to the one of the one or more second network devices and the second private network data tunnel from the second uplink to the one of the one or more second network devices, the first uplink being a different uplink than the second uplink.