1. A method for determining co-locatability of a plurality of virtual machines on one or more physical infrastructures, wherein the plurality of virtual machines host a plurality of workloads, the method comprising: identifying, by a processor, variability of the plurality of workloads running on the plurality of virtual machines from time series data; determining, by the processor, workload capacity threshold of the plurality of workloads based on one or more service requirements; selecting, by the processor, two or more candidate virtual machines among the plurality of virtual machines for co-locating based on the variability of the plurality of workloads running on the plurality of virtual machines; determining, by the processor, total capacity required by each pair of the plurality of workloads running on the two or more candidate virtual machines at a given time period to meet the one or more service requirements based on the workload capacity threshold; identifying, by the processor, an optimal sharing point for each workload of the pair of the plurality of workloads running on the two or more candidate virtual machines with respect to another workload of the pair based on the required total capacity of the pair; and colocating, by the processor, the two or more candidate virtual machines on the one or more physical infrastructures based on the optimal sharing point.