1. A method of providing a template virtual machine, comprising: creating, on a physical server, a template virtual machine comprising an image of an operating system and software running on the operating system, the template virtual machine being without machine-specific identifiers; booting the template virtual machine into a virtual machine environment; sharing uniform code pages among other virtual machines that are running the same template virtual machine wherein the uniform code pages are shared in advance to booting a template virtual machine into a service instance and not dynamically, and wherein sharing comprises mapping a guest physical address space associated with the template virtual machine to uniform system pages that already have the uniform code pages resident; instantiating a state separated store on a differencing virtual hard disk to actively intercept system access to various configuration data stored in a registry and create state containers in the state separated store and to redirect to the state separated store during a service instance boot, each of the state containers including a precedence rank that indicates an order in which the state containers are to be layered in the state separated store; updating machine-specific identifiers of the template virtual machine; and booting the template virtual machine with machine-specific identifiers, via the state separated store, into a service instance to perform a function determined by the software running on the operating system such that uniform code pages representing the operating system and software running on the operating system are shared among virtual machines in the virtual machine environment.