1. A method for scaling computing resources for a plurality of network devices over a network, wherein one or more network devices is operative to perform actions, comprising: monitoring one or more performance metrics for one or more critical paths for one or more application instances, wherein the one or more performance metrics is external to the one or more network devices, and wherein the one or more critical paths is defined by one or more of: navigation between web documents that are required for one or more functions of the one or more application instances, sequence of actions that are performed on the one or more application instances, importance of actions that occur when the web documents are accessed by a user, web documents that perform operations that are critical to the one or more functions of the one or more application instances, web documents that have a higher availability requirement, or history of actions generated by the user interacting with the one or more application instances; employing the one or more critical paths to identify one or more resources that is internal to the one or more network devices, wherein the one or more critical paths is recommended based on one or more of a history of usage of the one or more resources by user's interacting with the one or more resources, or analysis of received data regarding the one or more application instances, and wherein one or more critical paths are determined based on a history of usage and a history of system resource impact of particular paths of actions generated by users interacting with cloud applications; monitoring one or more performance metrics for the one or more resources that is internal to the one or more network devices; monitoring data regarding the one or more application instances that is internal to a virtual machine that is hosting the one or more application instances, wherein the internal data is adjustably normalized to produce values for a defined range, and wherein the adjustment of the normalization of the internal data is tuned to one or more performance characteristics of each application instance, and wherein the tuning comprises one or more of extending one or more running average windows to smooth out a response to one or more usage spikes, or reducing a duration of the one or more running average windows to smooth out a response to one or more rapid changes in use of the one resource; generating one or more application scaling scores based on the one or more external performance metrics, the values for the defined range, and a determined application scaling threshold; generating one or more resource scaling scores based on the one or more internal performance metrics and a determined resource scaling threshold; when the one or more application scaling scores exceed the determined application scaling threshold, provisioning one or more additional application instances based on the one or more application scaling scores; and when the one or more resource scaling scores exceed the determined resource scaling threshold, scaling an allocation for the one or more resources based on the one or more resource scaling score.