1. A method of sharing system resources comprising: receiving requests for resources; automatically costing bundling software in virtual machine (VM) images for said received requests; selecting a number of VM images with bundled software, selected said VM images having a higher bundle cost than any unselected said VM images; storing said selected VM images; receiving subsequent requests for resources; and selectively instantiating a VM from one or more stored VM images responsive to each subsequent request.