1. An article of manufacture comprising a non-transitory computer readable storage medium having computer readable instructions tangibly embodied thereon which, when implemented, cause a computer to carry out a plurality of method steps comprising: identifying at least one virtual machine super template to be created via analyzing at least one existing template in a repository and a user-defined combination of software; creating the at least one virtual machine super template by installing the user-defined combination of software to be within the at least one virtual machine super template; creating multiple patches for multiple target virtual machine templates, wherein each of the multiple patches comprises a distinct patch between the at least one virtual machine super template and a corresponding one of multiple target virtual machine templates, wherein each patch comprises a cacheable component that includes (i) a fixed set of instructions to un-install software from the at least one virtual machine super template that is not required in the corresponding target virtual machine template and (ii) a fixed set of instructions to add software to the at least one virtual machine super template required in the corresponding target virtual machine template that is not present in the at least one virtual machine super template; caching (i) the at least one virtual machine super template and (ii) each of the multiple patches in a searchable repository; receiving a request for a user-requested virtual machine template; analyzing the request and the searchable repository to determine a given patch from the multiple cached patches will optimize service time for the request; fetching (i) the at least one virtual machine super template and (ii) the given patch from the searchable repository; creating the user-requested virtual machine template by implementing the given patch to (i) un-install the software from the at least one virtual machine super template that is not required in the user-requested virtual machine template and (ii) add the software to the at least one virtual machine super template required in the user-requested virtual machine template that is not present in the at least one virtual machine super template; and caching the user-requested virtual machine template in the searchable repository.