After much frustration, I found Ravello Systems. Their product was the answer I needed. I signed up for a demonstration. The interface was elegant, clean, and easy to learn. Their API made scripting deployments easy and they could import directly the VMWare and KVM images I was already using. Within minutes my servers were deployed with nested virtualization in the cloud, ready to run OpenStack Icehouce. They deploy using Amazon EC2, Google Cloud, or Rackspace depending on your selection of price or performance. You pay for what you use and when you are done you spin the services down. Companies can replicate their own application environments in Ravello for DevOps and training without risking production environments or incurring the infrastructure costs of a bare metal DevOps environment.
The deployment was easy. I created local Ubuntu 14.04 Server and CentOS 7.0 virtual machines on my own local CentOS 7 desktop. I installed the basic server packages, 2 vCPUs, 2 NICs, and 4GB RAM each. Both were installed without LVM on ext4 partitions with a simple boot 512MB, swap 1024MB, and root fills the remainder scheme on 20GB qcow2 images. I installed Canonical's cloud-init package on both. For CentOS 7 add the EPEL repository to install cloud-init. I then added the needed repositories for my applications and powered off the VMs. From the host I sealed the images with virt-sysprep and shrank them with virt-sparsify. The resulting images were less than 600MB each. I then used the Ravello API commands to upload the images like this:
ravello import -u MY_RAVELLO_USERNAME --nic --cpus 2 --memory 2048 --name CentOS7 centos7-cloud.qcow2"
ravello import -u MY_RAVELLO_USERNAME --nic --cpus 2 --memory 2048 --name Ubuntu14 ubuntu14-cloud.qcow2"
ravello-set-svm --image CentOS7 --username MY_RAVELLO_USERNAME --password MY_RAVELLO_PASS
ravello-set-svm --image Ubuntu14 --username MY_RAVELLO_USERNAME --password MY_RAVELLO_PASS
Ravello really saved my project. Being able to replicate a production OpenStack environment in the cloud for rapid application development is a game changer. No longer will companies have to invest in bare metal test environments to replicate production. Agility and elasticity are the greatest selling points of cloud deployments. Ravello Systems just changed the DevOps world by allowing rapid replication of local VMWare and KVM DevOps environments with little to no modification.