1. A method comprising: storing virtual network templates in a database, each virtual network template including network specifications that define 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 execute the programming instructions to configure the VMs network interfaces with the corresponding network specifications.