Ravello Systems recently announced how Deutsche Telekom is leveraging the usage of its nested virtualization solution on a cloud-based telephony service.
According to Paul Sebastian, chief marketing officer of Deutsche Telekom, the Ravello's appliance helps Deutsche Telekom to spread their solutions globally, following the principles of flexibility and agility pursued by the company.
InfoQ spoke to Shruti Bhat, director of product marketing at Ravello Systems to get further detail on this.
InfoQ: How would you briefly describe Ravello?
Shruti Bhat: Ravello Systems was founded in 2011, and our founding team has deep expertise in virtualization, cloud, networking and storage technologies. Our founders, Benny Schnaider and Rami Tamir, are the creators of the KVM hypervisor, which inspired them to launch Ravello to bridge the gap in the hybrid cloud market. We are a nested virtualization provider and deliver a Software-as-a-Service (SaaS) for developers, devops and IT to use the public cloud to develop and test their on-premise applications. Ravello enables businesses to encapsulate their multi-tier VMware/KVM based applications and run them anywhere – on-premise or in any cloud – without making any changes whatsoever to implement a true hybrid cloud.
InfoQ: Ravello claims to have the industry’s leading nested virtualization solution. Can you detail on this concept?
SB: Enterprises don’t want to invest in more hardware and instead would like to use the cloud today, but face challenges because the cloud is different from their internal data center. The optimal cost scenario enterprises seek is to build their data centers for average work load and rent capacity as required in the cloud, but the environments are so different it is nearly impossible to actually achieve this. Instead of trying to use the cloud by do-it-yourself re-architecting of an application to run it in the cloud, laboring to extract the application from the OS, or spending valuable budget and time on full migration, we built the industry’s leading high performance nested virtualization solution that takes out the complexity for enterprises and creates a vehicle to move a full application seamlessly to the cloud and back.
To do this we at Ravello help enterprise IT Ops, developers, devops and QA teams take advantage of the unlimited capacity of the cloud, specifically enabling enterprises to development and test on replicas of production applications in the cloud.
Ravello’s nested hypervisor enables an enterprise to completely encapsulate a multi-virtual machine (multi-VM) application, including its compute, networking and storage, and run it on any cloud (e.g., Amazon AWS/EC-2, Rackspace and HP Cloud) without making any changes whatsoever.
Ravello overall consists of three technology components: (1) a high-performance nested hypervisor, (2) a software-defined network, and (3) a storage overlay. In addition, it includes a management layer that manages the technology components and provides the user interface and API.
InfoQ: Deutsche Telekom refers to big shift in needs as its cloud-based telephony system spreads globally. Do you have an example on how Ravello is helping them?
SB: Deutsche Telekom AG (DT) uses Ravello to develop and test software faster in its Hosted Business Solutions (HBS) division. The HBS division has its origins in a 2013 acquisition of the telecommunications startup ChooChee. Under its new name and as part of DT, HBS is tasked with the development and roll-out of a next-generation cloud-based telephony service targeted at small and medium businesses.
DT-HBS relied on Ravello for cost-effective, agile and continuous development as it prepared to offer and rollout its solutions in North America through T-Mobile. DT-HBS used Ravello to augment its internal development/test capacity. In its first implementation, developers were empowered to start-up, on-demand, their own (scaled down) copies of their application environment. This allowed for the freedom to not have to share development environments, so development teams experienced less waiting time, resulting in faster time to market for the application.
InfoQ: Private development environments are great and production-like ones are awesome for developers. Can you describe the configuration management for these local environments with Ravello?
SB: With Ravello, developers can create a blueprint of their application, and spin up as many instances as needed for development and test, on demand. Ravello integrates with continuous integration systems like Jenkins, so enterprises can connect Ravello to their CI system and run integration tests on replicas of production. For example, every code commit can be automatically tested on a replica of production. This means each time a new build is ready for testing, Ravello’s APIs can automatically spin up a few environments in parallel, execute the tests and shut down to release resources after the tests are completed. Since these temporary environments are created in the cloud, there is no infrastructure maintenance required.
InfoQ: Can you detail the pay-as-you-go model?
SB: With Ravello’s pay-as-you-go model, customers pay per application, not per VM. Customers don’t need to create/manage separate accounts with each cloud provider either – companies just need a single Ravello account. With the single account and the single billing feature, customers have the flexibility to use capacity from the growing list of public cloud providers (AWS, Rackspace, HP Cloud, etc.) and track usage across clouds.
With advanced cost-optimizations and cloud dashboards, we help customers to also save costs and get the best-fit public cloud for each application instance that is spun up.
InfoQ: You have a 10-person team and an application running 500 tests, how would you compare, in terms of architecture and cost, the typical scenario with the one using Ravello?
SB: If you have a 10-person team and an application running 500 tests, the first thing to consider is that typical application development and test cycles are very bursty in nature. Being able to provision an environment for each of the 10 developers would require a massive lab build out which would be highly underutilized when the project is not at peak cycle. Also, consider the true price of agility. If you want to run 500 tests, many of them being automated, the real advantage is in spinning up multiple instances of the application, running the tests in parallel and then shutting down those environments when not is use. The cost of building out such an ideal software lab would be extremely high both in terms of capex as well as the overhead of implementing the automation. Ravello makes this possible with built-in automation and keeps costs low by using the public cloud on demand.
InfoQ: Ram Akuka from Deutsche Telekom stated that "We simply uploaded our base image." Which are the VM technologies supported by your platform?
SB: Ravello supports VMware or KVM-based virtual machines. With DT-HBS, its private cloud runs on VMware vSphere and Apache CloudStack and its telephony application itself is a complex multi-tier application containing multiple VMs and various high-end physical network appliances, including appliances from F5 Networks, Brocade, Palo Alto Networks and Acme Packets (now owned by Oracle). All of these virtual appliances are also supported by Ravello.
InfoQ: Finally, can you explain how HVX, the hypervisor, works?
SB: HVX is a high performance hypervisor or Virtual Machine Manager (VMM) capable of running unmodified guests on top of already virtualized hardware. Conventional hypervisors such as VMware ESX, KVM and Xen are designed to run on physical x86 hardware and use virtualization extensions offered by modern CPUs (Intel VT and AMD SVM) to virtualize the Intel architecture. HVX, on the other hand, is a nested hypervisor that runs inside a virtual machine, where these hardware extensions are not normally available. Instead, HVX employs a technology called Binary Translation to implement high-performance virtualization that does not require these virtualization extensions.
To get started with Ravello, first users log-in through the Ravello website. Then, users take their VMware or KVM virtual machine images and upload them without making any changes. Next, users can drag and drop VMs to the application canvass. Ravello parses the network configuration from the VM file and automatically compiles a private network for users, but a user can check the network configuration and manually edit if desired. When ready, users click “publish” to the cloud of their choice, or for cost optimization cases, Ravello automatically selects the cloud for users and provides the best possible price. Lastly, once the application is running in the cloud, users are able to create a blueprint of the application – otherwise, save a snapshot of the entire application environment, including the state of the disks, memory and network.
By using Ravello, every developer and test engineer in a team can log into Ravello and spin up an application from the blueprint. Users can even connect Ravello to a Continuous Integration server so that the moment someone checks in code, Ravello spins up a copy of the application and runs automated tests on a replica of the production environment.