How it works: Development and Test Smart Labs


Lets assume that your application consists of 4 virtual machines - a proxy/web server, two application servers and a database server. Lets say that these are running in your data center on VMware and have been configured to work with static IPs.

  1. Upload your VMware or KVM VMs

    Upload your VMs without making any changes. No changes to the application, network, configuration - nothing. Just upload exactly as they are. This step may take a while depending on the size of your VMs and your upload bandwidth. The VMs will then appear in your private library in Ravello.

  2. Drag and drop your VMs onto the application canvas

    Drag and drop the virtual machines that are a part of your application onto the application canvas. In our example you would drag and drop your web server, both application servers and the database server.

  3. Check the network configuration

    Ravello parses the network configuration from the VM file and automatically compiles a private network for you. Click on the network tab and check the network configuration. You can manually edit it if you need and make any changes that are required.

  4. Publish your application to any cloud

    Click publish and Ravello will ask you whether you want to cost optimize or performance optimize the application deployment. For most test scenarios, cost optimization is optimal. In that case, Ravello automatically selects the cloud for you and provides you with the best possible price.

  5. Create a blueprint

    Once your application is running in the cloud you can test it and if everything is working according to your requirements, click “create blueprint”. Ravello will then save a snapshot of your entire application environment - the state of the disks, memory and network.


Now every developer and test engineer in your team can log into Ravello and spin up an application from the blueprint. You can even connect Ravello to your Continuous Integration server so that the moment someone checks in code, Ravello spins up a copy of your application and runs your automated tests on a replica of the production environment.