1. A computer-implemented method for identifying a smallest M number of data centers (DCs) for K-connect survivability, the method comprising: acquiring, via an application program interface, network information of a physical network; generating, using the acquired network information of the physical network, a risk matrix associated with an aggregation DC included in an overlay network representing the physical network, wherein the risk matrix indicates which of N number of DC-connection pairs are associated with which of L number of shared risk groups (SRGs) in the overlay network, wherein a DC-connection pair represents a connection in the overlay network to a DC from the aggregation DC; sorting the DC-connection pairs according to a risk criteria; setting M equal to K+1; iterating over each value of M: evaluating, in an increasing sorted order of the risk criteria, a risk vector for each of the DC-connection pairs to determine whether a DC-connection pair is selected, wherein the risk vector is based on the risk matrix and on previously selected DC-connection pairs; and when less than M number of DC-connection pairs are selected, incrementing M; and identifying the M number of DCs included in the M number of DC-connection pairs selected, wherein K represents a minimum number of DCs that remain accessible to the aggregation DC; and allocating, after a failure at one or more of the M number of DCs, virtual machines at the K number of DCs to compensate for a loss of virtual machines caused by the failure at the one or more of the M number of DCs.