1. A system for automatically provisioning a plurality of computing devices, comprising: a database system which stores a model for each of the plurality of computing devices, including identifications of the software components that are to be installed on said devices; a file system which stores software components that are installed on said computing devices during provisioning; and a plurality of agents which are respectively resident on each of said plurality of devices, and which communicate with said database system to obtain an identification of software components to be installed, and communicate with said file system to retrieve and install software components identified by said database system.