Large Scale Cloud Migrations: Challenges and Recommendations
Organizations are rapidly migrating workloads to cloud to gain from economies of scale which public cloud can provide to customers
Join the DZone community and get the full member experience.Join For Free
Many enterprises today are adopting cloud in some form or another. While the adoption of cloud is rapid in certain industries like retail, other industries like financial services are taking a slower approach in moving to the cloud due to numerous compliance and regulatory requirements. Enterprises are looking at cloud to migrate their legacy infrastructure and realize the benefits of cloud such as security, scalability and most importantly cost.
Cloud migrations are complex and require proper planning and execution, almost certainly enterprises will face unexpected challenges during the migration process. To offset some of the challenges organizations can seek help through cloud provider's partner ecosystem or through professional services provided by the cloud provider.
In Spite of the complexity enterprises should invest in migrating their applications to the cloud as the long term benefits outweigh the short term risks/concerns.
Lack of understanding of the current estate - Enterprises have made significant investments in their data center environments over the years and before organizations start planning to migrate to the cloud it is essential to understand the current state. We often recommend organizations to undergo cloud assessments which would give them a clear view of their inventory and help them understand the level of effort required in the migration to cloud. Cloud assessments are also great to get an understanding of target cloud costs (approximately) post migration
No buy in from Application teams/owners - Enterprises which have a central IT practice often run into challenges of convincing the application teams to migrate to cloud. The reasons for these challenges can be multifold - application teams have spent years optimizing their stack in data centers and migration to cloud requires significant time and resource commitment. Central IT teams can work around these challenges by creating a migration factory and making available the necessary technical expertise to help application teams become comfortable with the migration and post migration phases
Taking on too much - Cloud migrations are complex initiatives which require careful coordination between a variety of teams. The long term economic benefit of migrating to the cloud may be a rapid enabler for enterprises to move their data centers to the cloud. It is essential to plan the scale of migrations and define the approach of migration ( think lift/shift or lift/shit and optimize) clearly to all stakeholders and engineering teams who will carry out the migration. I strongly recommend moving lower environments / environments which have a lower impact to business as the first candidates to move to the cloud. The lessons learnt during this process can vastly help to improve the migration process and lead to great success when migrating business critical workloads to cloud
Safeguarding Data during and after migration - During the assessment phase it is essential to classify data for each application into different tiers and creating controls which would prevent leaking of sensitive data during migration. Post migration security and application teams need to have robust monitoring and logging capabilities so that appropriate action can be taken in case of any malicious activity
Limited Investment in resource up skilling - It is important to skill your engineering and implementation teams with the knowledge required to run systems on the cloud. With the proper knowledge and tools required to run system at scale you are ensuring your business to succeed post the migration to cloud
Different Approaches to Migration
Rehosting/ Lift and shift - This migration approach requires the least effort as you are swapping your compute/storage with the compute/storage available in the cloud. The idea is to move the VM’s from on-prem to similar VM’s on the cloud. Fastest way to get applications running in the cloud, however, you may not realize cost benefits without doing optimization. Gives you the ability to provide immediate increase in capacity and availability based on business needs
Replatform - To gain higher benefits of cloud, enterprises may choose this approach. Usually this approach does not entail major architecture changes but leverages PaaS offerings on public cloud wherever possible. For example if you have a two tier application which is running on IIS with a SQL server backend, you may look to migrate this application to the cloud using managed services for databases and web servers.
Refactor - The most complex migration strategy but the one which has the ability to realize all the benefits cloud has to offer. Usually this approach is taken when organizations are looking to break their large monoliths into micro-services so that they can achieve better availability and can scale up/down each service rather than worrying about the whole application. This approach requires long term commitment and buy in from business. The initial cost of refactoring can be offset by long term operational savings
Organizations should also ‘sunset or retire’ resources which are no longer needed. Cloud assessments provide information about current inventory and how much usage has happened over a period of time. These metrics are usually powerful in identifying low/unused resources
Lastly, we want to leave the readers with top recommendations based on our experience with numerous cloud migrations
Understand total cost of ownership (cloud/on-prem) and migrations costs
Automate repeatable tasks and empower your engineers to identify the automation tool of choice
Have continuous engagement with security teams throughout the migration process. This will ensure you are not running into roadblocks during your migration
Understand and document compliance requirements during the planning phase of the migration. Depending upon the requirements have an actionable plan and strategy in place to meet compliance standards. Have regular checkpoints during the migration to avoid any pitfalls.
Understand data privacy requirements well before starting the migration. Ensure controls are in place to monitor data security pre and post migration
Establish a migration council with representation from your organization and selected cloud provider. This council should be empowered to make decisions and guide implementation teams during roadblocks so that proposed timelines are obeyed. It is recommend to have at least one executive sponsor oversee the migration council so that management approvals/support is easier to get
Have open lines of communications with application teams - ensure there is sufficient representation from application teams when their applications are migrated to cloud. Understand application dependencies and plan the migration accordingly
Build a robust landing zone on the cloud and create shared services to reduce operational effort
Identify and upskill teams with tools for logging, monitoring and security prior to migration. You do not want your teams searching for tools to maintain operational stability after the migration. If the organization chooses to extend current tool chain then plan accordingly
Plan hybrid connectivity as per use case - dedicated connectivity back to on-prem is usually required for large scale migrations
Run an agile process with enough opportunities to retrospect so that process can be improved in real time
Disclaimer - The content presented in this article are individual views of the authors
Opinions expressed by DZone contributors are their own.