1. A method comprising: on a virtualization platform, creating a first runtime instance of a virtual appliance; wherein the virtual appliance comprises an image file that includes a pre-configured operating-system environment packaged with a solution stack of software components; wherein the solution stack of software components are selected software components of a reference architecture comprising a plurality of software components; responsive to satisfaction of at least one performance criterion, dynamically scaling-out the solution stack to one or more additional runtime instances of the virtual appliance such that, in total, more physical resources are provisioned to the solution stack; and wherein the dynamically scaling-out comprises distributing, based on scaling rules, a subset of the solution stack to each of the first runtime instance and the one or more additional runtime instances; wherein the scaling rules define a plurality of explosion levels; wherein, for each explosion level in the plurality of explosion levels, the scaling rules specify a total number of runtime instances, a particular subset of the solution stack that should be distributed to each runtime instance, and provisioning requirements for each runtime instance; wherein, for each runtime instance of the first runtime instance and the one or more additional runtime instances, the distributing comprises: activating software components of the solution stack distributed to the runtime instance; and deactivating software components of the solution stack not distributed to the runtime instance.