1. A computer-implemented method for dynamically resizing a cloud computing environment to optimally accommodate a workload, comprising: creating a data structure on a computer storage device and populating the data structure with data related to a set of current resources of the cloud computing environment that are allocated to the workload, the cloud computing environment comprising a defined set of cloud computing resources, the data comprising a location of the set of current resources and a current status of the set of current resources; analyzing current users and expected users of the cloud computing environment to determine a location of each of the current users and the expected users; determining if a mismatch exists between the set of current resources and resources required for processing the workload based on the location of the set of current resources and the location of each of the current users and the expected users; responsive to the existence of a mismatch, identifying, based on a required service level and cost minimization, a set of peripheral resources capable of alleviating the mismatch, the set of peripheral resources being resources initially outside of the defined set of cloud computing resources of the cloud computing environment; resizing the cloud computing environment based upon the identification of the set of peripheral resources, the resizing comprising adding the set of peripheral resources to the defined set of cloud computing resources of the cloud computing environment to optimize a distance between the location of each of the current users and the expected users and the set of peripheral resources; and processing the workload using the resized cloud computing environment.