1. A computer-implemented method for abstracting a virtual machine environment, comprising a plurality of virtual machines connected through virtual connections to form a virtual machine network; the computer-implemented method comprising: providing a GUI (graphical user interface); providing, via a processor, a graphical representation of the virtual machine environment through said GUI, wherein each virtual machine is shown as a separate component and wherein virtual connections between said plurality of virtual machines are shown to form a network; overlaying, via the processor, an abstraction over a hardware device, wherein an abstraction of the virtual machine environment is of both the hardware and software components of the virtual machine environment and wherein the plurality of virtual machines is operated by a single hardware device; managing, via the processor, said virtual machines through said abstraction, wherein said managing comprises communicating with each virtual machine of the plurality of virtual machines as a separate device, and altering at least one aspect of said virtual machine network by manipulating said graphical representation of the virtual machine environment; discovering, via the processor, a new virtual machine on the virtual machine network, using an auto-discovery mechanism employed by a Batch Service, without user input or intervention, wherein discovering comprises determining, automatically and without user input or intervention, an operating system of the new virtual machine; and adding, automatically and without user input or intervention, the new virtual machine to the virtual machine network, wherein adding comprises cloning one or more disks of a prototype machine; and aggregating a plurality of work units into a synchronous work unit.