1. A method for deploying a software image on a target computing machine, the software image comprising a target operating system and one or more software programs, the method comprising: injecting a virtual disk into the software image, the virtual disk being set as a primary bootable device of the software image and storing a configuration operating system, a scanner, and a configurator; and in response to receiving a request to provision the target computing machine with the software image, instantiating the target computing machine, the target computing machine: identifying the virtual disk in the software image, booting the configuration operating system stored in the virtual disk, the configuration operating system mounting the software image as a storage device, launching the scanner stored in the software image, and launching the configurator stored in the software image, the scanner identifying each software program comprised in the software image, and the configurator downloading, from a repository external to the software image and for each software program identified by the scanner, a configuration logic for configuring the corresponding software program, applying each configuration logic against the software image to configure each software program identified, and booting from the target operating system.