1. A computer-implemented method for maintaining network-related services, comprising: receiving, by one or more computer systems of a computing resource provider, information relevant to an operation of at least one network-related service operating on network traffic received through a network gateway operated by the computing resource provider on behalf of an entity different from the computing resource provider, the at least one network-related service being implemented by a virtual computing system on a subset of the one or more computer systems, the network gateway enabling network traffic between the entity different from the computing resource provider and a public network; detecting, from the received information, a demand relating to the network-related service; determining a current capability of the one or more computer systems with respect to the network-related service; determining, based at least in part on the demand and the current capability, that the demand is greater than or less than the current capability of the one or more computer systems to provide the network-related service; determining an optimization plan for improving the network-related service based at least in part on the detected demand, the determined optimization plan comprising at least one change selected from a group including a change to a number of virtual machines of the one or more computer systems that are provisioned and a change from a first type of virtual machine currently being used by the network-related service to a second type of virtual machine, the second type of virtual machine having a greater ability to meet the demand; and reconfiguring the subset of the one or more computer systems in accordance with the optimization plan.