Best Practices for Effective Cloud Migration
Best Practices for Effective Cloud Migration
Cloud migration should be the goal for companies as they ultimately move away from data center infrastructures.
Join the DZone community and get the full member experience.Join For Free
Transformation in technology happens about every five years. Yesterday’s invention is obsolete tomorrow.
Today, the majority of customers are getting out of data centers and moving towards cloud services. Many CIOs see the cloud as a key platform for succeeding with their digital transformation. They are looking to modernize applications and migrate current business systems.
You may also enjoy: A Checklist for a Move to the Cloud
Enterprises are looking towards gaining competitive advantage through collaboration, process agility, and innovative business models, at low costs. Cloud solutions provide much-needed flexibility to enterprises to develop capabilities necessary to innovate and seize new business opportunities. Irrespective of the domain, the business community looks for better customer experience, business agility, mobile access, improved security and reduced cost.
To develop a cloud migration strategy, the following basic questions need to be addressed to help to meet enterprise business goals:
What applications, processes and infrastructure will be migrated to the cloud?
What is the goal?
Who owns the initiative, IT or business?
What is the funding model: capex, opex, or a chargeback mechanism?
Which cloud to migrate to: private, public, or hybrid cloud?
How to migrate to the cloud.
While the demand to move all enterprise applications to the cloud is increasing, not all applications are equally suited for migration to the cloud.
Challenges in Not Moving to the Cloud
Even today, enterprises centered on government, banking, and insurance are hesitant to move away from a completely on-premises application infrastructure to the cloud, include loss of control and difficult integration with existing infrastructure, especially with core applications. This may lead to serious implications, such as hindering the agility to respond to new opportunities.
Other consequences of not moving business applications to the cloud include higher maintenance and support costs for data center applications, as well as increased security risks and an inability to keep pace with new threats and protection measures. It has very limited capabilities for implementing modern applications, expanding mobility and supporting new technologies. Not adopting cloud may also result in an inability to capitalize on the potential business value of data and analytics because of inadequate storage.
This article focuses on best practices that can help enterprises to make the migration to the cloud more successful.
Enterprise IT assets are growing day by day based on the business domain, business strategy, and IT vision. Often, the development of applications done on silos of technology and in some cases, services are build redundant. Management of IT assets is costing more than the core domain business. This demands the assets within an enterprise be moved to the cloud with minimal effort and business benefit.
Many organizations are taking an incremental approach to cloud migration. It is very important to understand that with any migration, whether related to the cloud or not, there are one-time costs involved as well as a resistance to change among the staff members.
Some the imperatives leading for the cloud migration include:
- Consolidation of redundant IT resources and decommission plan for the legacy application/software resources, and a reduction of the datacenter footprint and consolidation of compute capacities;
- Modernization of applications to meet the business targets built on industry-standard technologies and software;
- A minimum investment in and maximum returns from IT to scale up IT resources on an as-needed basis and pay as you use;
- Achieve increased business performance as per market requirements and agility to changing business needs IT to change accordingly with minimal changes and investment;
- Reduce total cost of ownership of IT resources compared to business resources.
Assessing applications and workloads for cloud migration allows enterprises to determine what applications, processes, and data can and cannot be moved to a cloud environment and what delivery models (public, private, or hybrid) are supported.
Start with the lowest-risk applications, those with information services, minimal customer data, and other sensitive information or applications that take advantage of the cloud’s elasticity. The decision criteria may be refined as the assessment progresses.
Cloud Migration Best Practices
Enterprise cloud migration depends on certain parameters and the approach is a multi-dimensional involving a number of elements.
Change in Philosophy
In the cloud model, one of the best practices recommended is to “design for failure," a unique (but robust) approach. As part of this, create proofs of concept, where a small application is selected to validate the migration approach. Define the migration plan and migrate the application to assess the gaps and craft the master migration plan. Test the workload and estimate the resources like storage size, the number of VM’s required, network bandwidth, and security controls that an application requires for the migration. Design a framework to ensure that the cloud migration meets all the requirements and assures compatibilities for cloud journey. The POC helps the stakeholders understand the benefits of the cloud migration.
Move Group Identification
The identification of applications that can moved on to the cloud are called Move Groups. Move Groups are logical grouping of applications that can be transformed and migrated together to the cloud according to defined timelines. The Move Groups are identical to both production and non-production environments. The applications in scope should logically grouped together into Move Groups for transformation and migration within a defined timeline.
More than one Move Group may run in parallel and a Move Group may start after the completion of other. You may need to adapt various migration approaches depending on short- and long-term business/technical goals. These approaches are called the 6 Rs:
Re-hosting: This can be done using automated tools or manually, and is also a “lift-and-shift” of the applications
Re-platforming: Determine the new platform and modify the underlying infrastructure. No change to the existing architecture.
Replace: Moving to a different product, preferably a SaaS platform
Re-architecting: Redesign the application and infrastructure architecture using cloud-native features
Retire: Decommissioning of the application
Retain: Continue to use the application in its current state
This step helps to decide whether the application will run on a single cloud environment or multiple cloud environment. A single cloud provider leads to vendor lock-in, while moving the application to different cloud providers consumes more effort. The various models for using multiple cloud providers are:
- One application in one cloud: One category of applications runs in one cloud provider and another set in another. This approach gives increased business advantage and flexibility.
- Split application across multiple cloud providers: Parts of an application run in one cloud provider and other parts of it in another. This approach helps to leverage the advantages of each cloud provider.
- Cloud-agnostic application: These type of applications run on any cloud provider. The application simultaneously runs on multiple providers or split application load across providers. This model gives the flexibility to shift loads from one cloud provider to another
Automation provides the ability to build infrastructure as code and automatically deploy applications without any downtime. During the migration of multiple applications, organizations come across repeatable patterns that need to be automated. It will cut down on migration time, provide more consistency, and spread an automation-first thought process across teams so that they can see the real benefit of moving to the cloud. Adopt a migration factory that leverages remote delivery for scheduling and monitoring of jobs. This reduces cost of labor, time, and onsite professional services for the cloud journey drastically. In addition, check for the current set of tools/software used to support a cloud-based licensing model.
Conduct a data assessment of the candidate identified and complete a data migration from production to the cloud. Enterprises send the on-premises data sets to the cloud provider to be upload into the cloud. The host application in the existing customer data center remains and points to the data migrated in cloud. This is usually the best method to migrate large volumes of data in bulk. Plan for proper archival and backup strategy for the data. As a best practice, keep the dynamic data close to compute and static data close to the user. This can be done by leveraging traditional caching techniques.
Monitoring and Governance
Build a Cloud Center of Excellence with multiple cross-functional teams of people who are responsible for the development and management of cloud strategy, governance, and best practices for the enterprise. Organizations should adopt the Agile methodology and work in sprints to perform mass migrations in addition to providing continuous learning and improvement to the entire migration process.
Establish the migration architect role to lead the effort. The migration architect is a system architect-level position responsible for planning and completing all aspects of the migration. The core responsibility of migration architect includes defining the necessary refactoring required to make the migration successful, designing strategies for data migration, defining cloud-solution requirements, and determining migration priorities and production switchover mechanisms. This will eventually leverage the rest of the business units in enterprise to shift to the cloud technology, smoothly. In addition, the team consisting of operations, development, and design needs to be trained on the cloud and its design principles. The team also to be trained on migration to develop a template and automation around the migration.
A move to the cloud is inevitable. Migrating enterprise applications to the cloud results in a cost reduction or elimination, accelerates time to market, and drives additional revenue, freeing up resources to innovate and focus on the core business. In summary, the following are the recommendations from the author based on various customer engagements performed in cloud migration space:
- Choose the right cloud provider.
- Usage of right migration tools.
- Move to an Agile operating model.
- Maximize productivity with scalability and high availability.
- Always migrate development and testing environments on to the cloud.
- Always move core functions to private cloud and non-core to public cloud.
- Wherever possible, adopt a hybrid model.
- Transform architecture to scale-out and be enabled for dynamic API-based interaction.
- Bring cloud native capabilities to applications and transform to deliver real-time capabilities and work on actionable data.
- Drive cost by driving a higher level of automation and reducing projects and run costs.
- Have a skilled and knowledgeable staff ready.
Opinions expressed by DZone contributors are their own.