1. A method, implemented at a computer system that includes one or more processors, for determining a new configuration of a virtualized network topology, the method comprising: identifying an existing configuration of a virtualized network topology that includes a plurality of physical elements, a plurality of virtual machines, and a gateway that is located on a first physical element included within the plurality of physical elements, wherein a second physical element that is included within the plurality of physical elements hosts both a first virtual machine and a second virtual machine, and wherein the identification of the existing configuration includes identifying a location of the gateway on the first physical element; identifying one or more properties of each of the physical elements; identifying how each of the physical elements is being utilized in the existing configuration, wherein the identification of how each of the physical elements is being utilized in the existing configuration includes: monitoring an activity level of the first physical element to detect a performance condition where the activity level of the first physical element is determined to be below a performance threshold such that the first physical element is determined to be under-utilized, and identifying communication characteristics arising from a detected communication between the first virtual machine and the second virtual machine; based on the identified physical element properties, the identified gateway location, the communication characteristics, and the identified utilization of the physical elements, determining, by the one or more processors, a new configuration for the virtualized network topology that is different than the existing configuration and that will later replace the existing configuration, wherein, after the new configuration replaces the existing configuration, the activity level of the first physical element will be above the performance threshold such that the first physical element will no longer be determined to be under-utilized; subsequent to determining the new configuration, identifying, by the one or more processors, additional physical resources needed to implement the new configuration; and indicating the additional physical resources needed to a user to allow the user to add the additional physical resources to implement the new configuration.