Method and system for migration of multi-tier virtual application across different clouds hypervisor platforms

A method and system for migration of multi-tier virtual application across different clouds hypervisor platforms. The principal object of the embodiment is to provide migration of multi-tier virtual application from one vendor to another vendor cloud platforms. Another object of the embodiment is to convert entire multi-tier virtual application of a source vendor cloud platforms, along with the virtual machines, configuration and properties into a format suitable for a destination vendor cloud platforms. Another object of the embodiment is to verify the migrated application after completion of conversion and migration.

The present application is based on, and claims priority from, IN Application Number 2853/CHE/2012, filed on Jul. 13, 2012, the disclosure of which is hereby incorporated by reference herein.

TECHNICAL FIELD

This application relates to multi-tier application migration across different cloud computing hypervisor platforms.

BACKGROUND

With advances in hardware virtualization and computing along with availability of high capacity networks, cloud computing is emerging as the future of computing technology. Cloud computing provides access to third party software and services on web and generally has a pay as per usage basis system. End users access the cloud applications using appropriate application programming interfaces.

There are several vendors providing cloud platforms. Even though cloud computing provides end users with a lot of advantages, the lack of interoperability between different cloud vendors restricts end users from using services of other cloud vendors. Each vendor, currently in the fray, have their own formats and data model for the application deployment and management in cloud, leading to vendor locking and prohibits user from using cloud services of other vendors. Also due to lack of standardization in cloud computing, each vendor cloud operates and stores applications and data in different manner. The technology used in each vendor cloud platform is also different. Users find it difficult to process/migrate/share applications between two clouds. Although migration tools are available for migrating virtual machines from one hypervisor or cloud to a destination hypervisor or cloud, complex multi-tier applications may not migrate completely as completely different formats may be used in the destination hypervisor or cloud and applications may be running on multiple virtual machine with different properties and configurations.

SUMMARY

The principal object of the embodiment is to provide migration of multi-tier virtual application from source cloud platform, along with the Application configuration and properties into a format suitable for a destination vendor cloud platform.

Another object of the embodiment is to verify the migrated application after completion of conversion and migration.

Accordingly, the embodiment provides a method for migrating at least one application from a source cloud to a target cloud using a migration server, the method comprising of creating a source application package by the source cloud, wherein the source application package comprises of all virtual machines and configurations associated with the migrating application; exporting the source application package by the source cloud to the migration server; converting the source package application into a target application package compatible with target cloud by the migration server; sending the target application package to the target cloud by the migration server; and launching and verifying the migrated application by the migration server.

Also, disclosed herein is a migration server for migrating at least one application from a source cloud to a target cloud, the migration server comprising of a virtual machine migration tool for migrating virtual machines; a mapping table for finding equivalence of Application Properties and Configurations format elements between source and target clouds; and conversion tool for constructing the source applications package into a target application package compatible with target cloud.

DETAILED DESCRIPTION OF EMBODIMENTS

FIG. 1illustrates a broad block diagram showing the system used for application migration between clouds, according to the embodiments as disclosed herein. The users106of the source cloud104identify applications to migrate to the target cloud. The virtual machines and configuration associated are packaged together and sent to the migration server101. With the help of VM Migration tool102, the Migration server101converts the virtual machines associated with the application. Migration Server101extracts the application configurations. Database103is used for storing the extracted application configurations. The migration server101is connected to the source cloud104and target cloud105. A mapping table in the migration server101is used for matching the corresponding properties in the target cloud105. The application exported from the source cloud104gets migrated to a format compatible with target cloud105and a target application package is created, which is then opened in the target cloud105. The application is opened and verified.

FIG. 2illustrates a block diagram showing the components of a typical two-tier application in the cloud, according to embodiments disclosed herein. The application201comprises of a Web VM204, and a DB VM203along with application configurations202. Users can access the application using Web VM204, and the DB VM203contains all the application data stored by user.

FIG. 3illustrates a block diagram showing all the blocks of the system used for application migration between clouds, according to the embodiments as disclosed herein. The application to be migrated is selected from the source cloud. The virtual machine associated with the application and all application level configurations are gathered together. The entire application is exported to a logical container and the exported application is transferred to the migration server as a package called source cloud application packages304. In the migration server, the virtual machines, virtual machine application properties and application configurations302are extracted from source cloud application package. The next step in the method is migrating of the virtual machines. A VM Migration tool307is used for migrating the virtual machines to the target cloud. Configuration convertor301is used to convert and migrate the application configuration compatible to target cloud. The migrated305virtual machines along with the migrated application configurations303are used to construct corresponding migrated application package in the target cloud platform. The migrated application package is used for launching405the application in the target cloud105.

FIG. 4is a flowchart describing the method of migrating an application from a source cloud of one vendor to a destination cloud of another vendor, according to the embodiments as disclosed herein. The method beings by identifying (401) the application to be migrated. The virtual machine associated with the application and all application level configurations are gathered together. The entire application is exported (402) to a logical container. The exported application is transferred to the migration server as a package. In the migration server, the virtual machines and, application properties are extracted from the exported application. The next step in the method is migrating (403) of the virtual machines and its configuration. A VM Migration tool is used for migrating (404) the virtual machines to the target cloud. After virtual machines migration, migration of application level properties is done. From the application package, application level properties are extracted. Once the properties are extracted, corresponding properties in the target cloud are identified and transferred to the target cloud application. The migrated virtual machines and the migrated application properties are then used for constructing (405) the application in the target cloud. Finally, the application is launched (406) in the target cloud and verified. The various actions in method400may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some actions listed inFIG. 4may be omitted

FIG. 5illustrates a computing environment implementing the application, according to embodiments disclosed herein. As depicted the computing environment501comprises at least one processing unit502that is equipped with a control unit503and an Arithmetic Logic Unit (ALU)504, a memory505, a storage unit506, plurality of networking devices508and a plurality Input output (I/O) devices507. The processing unit502is responsible for processing the instructions of the algorithm. The processing unit502receives commands from the control unit503in order to perform its processing. Further, any logical and arithmetic operations involved in the execution of the instructions are computed with the help of the ALU504.

The overall computing environment501can be composed of multiple homogeneous and/or heterogeneous cores, multiple CPUs of different kinds, special media and other accelerators. The processing unit502is responsible for processing the instructions of the algorithm. Further, the plurality of process units may be located on a single chip or over multiple chips.

The algorithm comprising of instructions and codes required for the implementation are stored in either the memory unit505or the storage506or both. At the time of execution, the instructions may be fetched from the corresponding memory505and/or storage506, and executed by the processing unit502.

In case of any hardware implementations, various networking devices or external I/O devices may be connected to the computing environment501to support the implementation through the networking unit508and the I/O device unit507.