Not every organization can mirror a production environment internally to test apps in development, but new cloud application deployment tools may offer a workaround.
Cloud application deployment tools, such as Ravello Systems Inc.'s Cloud Application Hypervisor and CloudVelocity's One Hybrid Cloud software, take different approaches to encapsulating applications and their dependencies for deployment in the public cloud. These tools are ideal for companies looking to spin up exact copies of their infrastructure in the public cloud for test, development, quality assurance (QA) or training purposes.
Ravello Systems' product uses nested virtualization to "trick" the VMware hypervisor into thinking it runs on hardware, when actually there is another hypervisor between vSphere and a public cloud's virtual machines (VMs). It also creates a "blueprint" -- composed of a snapshot of the entire multi-VM app, state of the disks and network -- for a running application.
CloudVelocity creates a native image in the cloud based on the operating system kernel and encapsulates multiple systems representing the application's dependencies on other services -- including Web servers, database servers, load balancers, storage and networking -- while preserving IP addresses and subnets; it then moves that "blueprint" into the public cloud.
Both products sync changes made to the original application with the copies of the environment they make, assisting with test and dev procedures.
For example, Ravello's application deployment tool has helped ScanCafe Inc., a photo-scanning service provider based in Foster City, Calif., develop an SMS application that provides text notifications for its service using Amazon Web Services, despite a complex production infrastructure spanning continents and internal and external systems.
"The main benefit that I got was accountability with my developers because they can't say, 'Well, I couldn't test this because that infrastructure is used by that other guy who's done those changes [that] affect my thing,'" said Laurent Martin, chief technology officer of Foster City, Calif.-based ScanCafe Inc. "Now everyone's got their own environment."
In early beta stages, the blueprinting process for Ravello took as long as five hours, but the correction of a bug in the software shortened it to 10 to 15 minutes, Martin said.
Multiple identical, synced copies of a production application environment have been beneficial at Menlo Park, Calif.-based ScaleArc Inc., maker of the iDB SQL traffic management engine.
"We need the ability to set up easily and tear down complete end-to-end application environments, including the front end that we'd hit from a load share perspective, to the application framework and then the database," said John Vastano, vice president of global customer support and services for ScaleArc.
This need sprang initially from a desire to train customers and partners on ScaleArc's software. CloudVelocity allows a multi-VM application to be spun up based on an internal application infrastructure and then replicated to the public cloud.
So if there are 12 students, 12 application environments can be set up and made consistent with the internal application without having to "re-plumb" all the connections among them, Vastano said.
Vastano said ScaleArc will also probably use CloudVelocity for QA during the application development process.
"One of the things we're working with our engineering leadership on is getting a handle on how we can scale that up efficiently for both dev and our QA organization," Vastano said.
Pricing for both CloudVelocity and Ravello is calculated according to different multi-tiered formulas for each. CloudVelocity has two-tier pricing, consisting of an initial $15,000 cost to encapsulate up to 50 servers; after that, it's a per-server cost of $2,000.
Ravello's product is priced per hour and fluctuates based on whether users want cost or performance optimization performed on the public cloud. A 10-virtual-machine application with each VM allocated two virtual CPUs and 8 GB of RAM would cost $2.50 per hour, assuming basic networking and cost optimization. These costs include the underlying public cloud infrastructure used by Ravello's Software as a Service application.
Applications as a Service emerge in the cloud
Despite important technical and use-case differences between Ravello and CloudVelocity, each of their products represent part of a new generation of cloud computing tools that focus on encapsulating applications for deployment on many clouds, rather than creating individual cloud infrastructures from the server up.
"[As an industry] we've never really focused on managing applications in the cloud," said Bernd Harzog, analyst with Austin-based The Virtualization Practice LLC. "We're about to solve that problem, which is why you find all these startups that are addressing applications."
Other companies that fit into the broader Application as a Service category include AppZero Corp., ElasticBox Inc. and VMware's vFabric Application Director.
Dig deeper on Cloud development and testing