A method for identifying a smallest M number of data centers, DCs, for K -connect survivability, the method comprising: generating a risk matrix associated with an aggregation DC included in an overlay network, wherein an aggregation DC collects data processed at DCs connected to the aggregation DC and outputs final results to users, 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, wherein the risk criteria comprises a network delay value associated with each of the DC-connection pairs or a risk frequency associated with each of the DC-connection pairs; 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 evaluating the risk vector includes: iterating over each SRG for a given DC-connection pair: summing, to the risk vector, values in the risk matrix associated with a given SRG for the given DC-connection pair and, when present, for all previously selected DC-connection pairs; and when all values in the risk vector are less than or equal to a difference of M minus K, selecting the given DC-connection pair; 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 are required to remain accessible to the aggregation DC during a risk event, and wherein the overlay network represents a physical network. generating a risk matrix associated with an aggregation DC included in an overlay network, wherein an aggregation DC collects data processed at DCs connected to the aggregation DC and outputs final results to users, 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, wherein the risk criteria comprises a network delay value associated with each of the DC-connection pairs or a risk frequency associated with each of the DC-connection pairs; 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 evaluating the risk vector includes: iterating over each SRG for a given DC-connection pair: summing, to the risk vector, values in the risk matrix associated with a given SRG for the given DC-connection pair and, when present, for all previously selected DC-connection pairs; and when all values in the risk vector are less than or equal to a difference of M minus K, selecting the given DC-connection pair; and when less than M number of DC-connection pairs are selected, incrementing M; and 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 evaluating the risk vector includes: iterating over each SRG for a given DC-connection pair: summing, to the risk vector, values in the risk matrix associated with a given SRG for the given DC-connection pair and, when present, for all previously selected DC-connection pairs; and when all values in the risk vector are less than or equal to a difference of M minus K, selecting the given DC-connection pair; and iterating over each SRG for a given DC-connection pair: summing, to the risk vector, values in the risk matrix associated with a given SRG for the given DC-connection pair and, when present, for all previously selected DC-connection pairs; and when all values in the risk vector are less than or equal to a difference of M minus K, selecting the given DC-connection pair; and summing, to the risk vector, values in the risk matrix associated with a given SRG for the given DC-connection pair and, when present, for all previously selected DC-connection pairs; and when all values in the risk vector are less than or equal to a difference of M minus K, selecting the given DC-connection pair; 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 are required to remain accessible to the aggregation DC during a risk event, and wherein the overlay network represents a physical network.