Patent attributes
An execution environment provides a plurality of components that support execution of an application, wherein the plurality of components and the application are hosted by a plurality of nodes arranged in one or more clusters. The execution environment monitors runtime behavior of the application and the plurality of components, and generates a scaling event based on a comparison of the runtime behavior to one or more scaling policies. The execution environment automatically scales at least one of the application or a component of the plurality of components if the scaling event does not violate a constraint, wherein the scaling comprises adding a new node to at least one cluster of the one or more clusters or removing a node from at least one cluster of the one or more clusters based on the scaling event.