Cloud migration continues to be a popular move among enterprises. It is, however, a complicated process. In fact, 75% of participants in a recent survey from Dimensional Research stated that their cloud migration projects take a year or longer, and a majority reported migration projects are running late and over budget -- not what you would like to experience.
But even so, 96% of survey respondents reported migrating at least some applications to the cloud. Once you make the commitment to the cloud, it's relatively hard to reverse it, as I discovered in reading "Crucial Steps for a Successful Cloud Migration," by Issy Ben-Shaul, CEO and cofounder of Velostrata, provider of software solutions for accelerating cloud migrations.
You Still Have Responsibilities
It is nearly impossible to move everything to the cloud. You will be responsible for the network on your premises, the connection to the Internet, the devices that your users employ, application licenses, software updates, and probably security. This means that your IT operations may be modified, but they will not be eliminated. With a cloud migration, some of your IT engineers may now be tasked with contract management since you are working with external systems and services.
Complexity Encountered
In another survey conducted by Morgan Stanley and reviewed in the Velostrata white paper "Overcoming the Challenges of Cloud Migration," over 90% of CIOs reported that the cloud migration did not meet their expectations. Complexity was the primary contributing factor. Application migration is indeed a complicated task that requires careful consideration of multiple elements, the white paper states, including:
- There are complex system configurations that depend on external systems and services such as databases, file shares, load balancers, and security.
- Bandwidth to the cloud is a perennial issue. Is the on-premises Internet bandwidth allocated for the migrated applications enough to support the application's requirements?
- Is the application "chatty" (require a lot of interactions with the user) and latency sensitive?
- Where is the traffic generated? If users are remote from the region in which the application service is deployed, will they be limited?
- You need to analyze the billing to ensure that you do not over or undersize your service since it can dramatically impact cloud costs and thereby reduce or eliminate your ROI.
- Don't forget the operations cost to you as well as the post-migration configuration management. You may have to expand your management tools or buy new ones.
- You will probably be migrating a large amount of data while still providing live services to users without interrupting their application use.
- Don't forget that once you choose a cloud provider or providers, you may experience vendor lock-in where you cannot move to another provider or back to your own premises easily.
- As always, you need to consider the security and compliance requirements that the cloud will or will not deliver.
- You are managing service-level agreements that may not mirror those that you deliver within your on-premises system.
Approaches to Cloud Migration
How you migrate to the cloud depends a lot on what you have, what you want to move, and what you want to deliver. There are three common approaches to cloud migration:
Lift and Shift
Applications are migrated to cloud infrastructure as a service (IaaS) "as-is" without modification. This means moving the data center function to an alternate off-site location. IT still controls the operations, management tools, and processes. This is usually the least complex approach.
Lift and Shift with Minor Configuration Changes
This is an advanced variation of the "Lift and Shift" approach. The applications are moved to the cloud, but some of the cloud-native operations and configuration management tools are employed. IT will have to learn how to use the cloud tools and phase in processes and cloud-native tools such as auto-scaling and database as a service. Gartner refers to this approach as "Cloud-Enabled Virtual Automation." This approach increases the complexity.
Refactoring
Refactoring is the process of changing a software system to improve its internal structure in a way so that users do not see any alteration to the external behavior of the code. Applications are re-coded, re-architected, and re-factored to use cloud services. Usually, few applications are migrated. The data is migrated into cloud-native databases. This approach is delivering the least amount of cloud support since most of the functionality resides on premises.
Cloning in the Cloud
You will need to move application software to the cloud while still running the on-premises applications. Testing the workload functionally as well as the full traffic load is mandatory. This testing allows you to detect any problems early before you commit to moving to the cloud.
Once this testing is completed, you can run the application in the cloud. Think about the cutover procedures and how you get your users to migrate to the cloud in such a way that they are not impacted in their work. During this time, you must monitor the performance of the cloud operations to ensure that it at least meets or exceeds what you delivered on premises.
The final step is to disconnect the on-premises systems and software, and rely on the cloud services and functions. This may be your first application cloud migration project, so any procedures you develop should be documented and refined to ensure that you can use them again in the future and deliver successful cloud migrations every time.
Learn more about Cloud Communications at Enterprise Connect 2018, March 12 to 15, in Orlando, Fla. Register now using the code NOJITTER to save an additional $200 off the Early Bird Pricing or get a free Expo Plus pass.
Related content: