UPDATE: On 11/11/2014 Ravello announced "Direct Upload" to enable a VM to be uploaded and run on AWS or Google directly from VMware vCenter™
By using nested virtualization you can run your existing multi-VM applications (from your VMware or KVM environments) on top of AWS or Google cloud without modifying the VMs or networking. Ravello provides nested virtualization as a service to make this easy. This means your vmdk will be running on top of EC2 as-is keeping your VMware tools, OS patch levels etc intact. With Ravello importing a virtual machine image is as easy as uploading an object to AWS S3. Ravello also lets you upload your existing custom ISO files and launch your virtual machines on AWS or Google Cloud by attaching a CD-ROM device, provides instant console (VNC) access etc
AWS does provide a tool to import your existing VMware ESXi™ images to EC2 but it requires a VM conversion from vmdk to AMI format. This means you will lose your VMware tools, specific OS patch levels and existing networking configurations. Also, with AWS, you generally have an EBS volume as the root device, however with Ravello you have the option to import your existing VM as well as attach an ISO as root device. Importing your existing VM as-is into AWS is very useful, especially for dev & test since you need to test on environments that are identical to production. Complex networking including static IPs, multiple subnets and VLANs stays the same. No conversions or cloud migrations are required, thus ensuring your cloud-based dev & test environments are replicas of your on-premises production.
This two-post series on using the Ravello user interface to export your VM from your vCenter console managing your VMware vSphere™ ESXi environment and then import it to AWS EC2 or Google Cloud includes: