1. A computer-implemented method comprising: registering, at a monitor, one or more controllers associated with one or more corresponding applications; receiving configuration information for the one or more corresponding applications, the configuration information including a reconfigurable aspect of the one or more corresponding applications and an indication of circumstances for reconfiguration of the one or more corresponding applications; generating, at the monitor, event information indicating at least a first change in an amount of at least one physical resource, a second change in a quantity of central processing units, a third change in a quantity of cache, a fourth change in a quantity of connections, and a fifth change in a quantity of files capable of being stored locally at a physical machine; and providing the event information to the one or more controllers to cause the one or more controllers to adjust at least the reconfigurable aspect of the one or more corresponding applications, the change in the amount of the at least one physical resource mapped to a corresponding change in the reconfigurable aspect.