A priority-based method of reducing power consumption of a distributed application comprised of a plurality of components in response to an indication that power consumption must be reduced, wherein the plurality of components are hosted by a plurality of computing elements that can each enter a power saving mode, the method comprising:
- detecting a need to reduce power consumption of the distributed application;
- identifying in priority order components having a lower priority;
- gracefully suspending all identified components on one or more of the plurality of computing elements;
- and
- signaling the one or more of the plurality of computing elements to enter the power saving mode.