1. A method comprising: storing virtual network templates in a database, each virtual network template including data, settings, and network specifications that represent an abstraction of a network comprising a plurality of virtual machines (VM); receiving a configuration of a virtual system; and deploying the configuration in a virtual infrastructure to obtain a deployed configuration, the deploying comprising: instantiating VMs of the configuration; retrieving information from the database, the information including: the network specifications from the virtual network templates associated with virtual networks of the configuration, and network resources for the virtual networks; providing programming instructions for each of the VMs of the configuration according the retrieved information from the database; and executing the programming instructions to configure the VMs network interfaces with the corresponding network specifications.