Legacy software, developed before the advent of cloud services, traditionally store data on dedicated or leased out data centres. It provided complete control over storage solutions. And with control came enhanced security and better services to the customers. With the evolution of cloud, organizations started questioning the wisdom of having dedicated or shared data centres. Managing data centres is a full-fledged task in itself, which was not the core competency of most of the organizations maintaining them.
As the saying goes, things are best left to experts. Cloud storage provided companies with storage solutions without having to invest time, resources and money in establishing, maintaining and upgrading their own storage facilities.
The key driving factors in opting for cloud migration include:
- Reduced infrastructure establishment and maintenance costs
- Minimum upgradation costs
- Availability of latest technologies at all times
- Faster response time
- Focus on product development
- Reduced operational risks
Main phases of cloud migration process
Cloud migration has a complexity of its own which can spiral out of control if not done properly. The processes for cloud migration must be established before the first step towards migrating IT portfolio to the cloud. Any such process should have these five overarching phases.
Phase 1: Migration preparation and business planning
Cloud migration must never be undertaken just because it is the latest technological trend and experts believe that it reduces costs considerably, without affecting the quality of products or services. Organizations need to build their own case for cloud migration depending on their unique business and IT portfolio.
Having a sound business plan for cloud migration enables teams involved in the actual process to prepare themselves. It brings all the stakeholders on the same page and the cloud migration process runs smoothly till the end. This is essential because migrating to the cloud is not a one- or two-day process but a long drawn one depending upon the number of applications to be migrated, their architecture, how old or new they are, etc.
Phase 2: Portfolio discovery and planning
Once everybody concerned agrees that cloud migration needs to be undertaken, full portfolio analysis of applications, environments, interdependencies and desired business outcomes must be done. Organizations also need to build their own migration strategies according to their business goals and priorities.
Making a list of portfolios and its characteristics make it easier in the later phases to decide which applications need to be migrated and how. Migration is bound to affect your business, so it needs to be carefully planned.
Detailed portfolio analysis enables migration teams to draw a cloud migration strategy best suited for each scenario.
Phase 3 / Phase 4: Designing, migrating, and validating applications
Till phase 2, the focus is on overall portfolio analysis and migration strategy. Now the focus shifts to individual applications that need to be migrated. Each application must be designed, migrated and validated in line with the cloud migration strategy.
This is an iterative phase as a continuous improvement approach must be adopted. Teams must learn from the migration of each application and improve upon the migration strategy for the next one accordingly. The more a team adopts and implements this iterative approach, the better are the migration outcomes.
Phase 5: Modern operating model
Once a few applications are migrated to the cloud, the cloud becomes your new and modern operating environment. Ideally, you should already have an operating model in place but practically you can learn from the first few migrations to develop one. You need to optimize this model to achieve your business goals, turn off the old systems and move towards the modern operating model.
Cloud migration cannot be done in a day, and this is for a reason. As applications get added to the cloud environment, you need to accelerate the migration process and keep tweaking it to achieve maximum output. If you try to optimize the environment after shifting all the applications to the cloud, it will become a near-impossible task and the desired outcome will also not be achieved.
6 Recommended strategies for cloud migration
It is essential to have a cloud migration strategy in place before undertaking the cloud migration process. The strategy must be drawn up after complete applications portfolio has been analysed. Each application must have a separate strategy depending upon its design, dependencies and outcomes. Usually, the strategies adopted for cloud migration of each process is a combination of these strategies.
Rehosting is typically undertaken in case of large legacy migrations where the organization needs to scale the migration process quickly. Rehosting makes it easier to adopt new architecture and optimize the application to take advantage of cloud technology. This is because shifting to the cloud is usually the hardest part of the whole process. After the migration is complete, everything else can be taken care of by the tools provided by cloud hosting or cloud migration partners. Most cloud hosting partners provide the necessary tools for automatic rehosting of your applications.
This involves tweaking the existing applications to take advantage of cloud hosting optimizations without changing the existing architecture. This is usually done by moving to tools and services available to you after the migration. Taking advantage of cloud services enables you to focus on outcomes rather than how those outcomes are actually achieved.
Legacy applications may have a different or old set of frameworks and architecture as compared to cloud-hosted applications. Many organizations choose to upgrade or replace the current one with modern, cloud compatible ones.
Repurchasing could turn out to be a major investment in the cloud migration process. So, it must be undertaken after due diligence. However, a careful analysis reveals that the cost of repurchasing is usually more than recovered quickly.
Refactor / Re-Architect
The approach to developing non-cloud-hosted applications is different from cloud-hosted ones. Sometimes organizations might decide to upgrade, modify or completely change application architecture to add cloud-native features that help scale and improve performance. A cost-benefit analysis must be undertaken before any such decision because rearchitecting can be expensive.
While migrating to the cloud, organizations get to take stock of all their applications and identify the ones that are not used at all or very less frequently. They may, in turn, decide to retire these applications and focus instead on the more frequently used ones. Retiring the old or unused applications helps in reducing cost because cloud hosting operates on the pay as you use basis.
During planning for migration, you may also decide to retain some of the applications in the old environment itself. This could be because of any of these reasons:
- Very complex for cloud migration. Once you gain experience of cloud migration, you may decide to migrate them later.
- Very critical to the business. Migration may impact the availability and functionality of applications however small the duration. Companies may choose not to migrate applications that are so critical that they cannot afford any downtime. Once other applications are running in the cloud, an alternate strategy can be devised for migrating these critical applications.
- Recently upgraded application. In the case of applications that were upgraded recently, organizations might choose not to invest in them again so soon.
Best practices for a successful cloud migration
In the case of cloud migration, no one size fits all solution is available. The strategy and approach depend upon many factors like application architecture, application criticality, business goals, resources available, etc. Here we discuss some best practices for successful cloud migration.
Before the cloud migration actually begins, you must know which IT assets you own currently and which of them will be part of the migration process. This will help you in assessing license management costs, estimating the time required and planning for resources to be allocated.
A detailed strategy outlining how the cloud migration operations will actually take shape must be available to all the people involved. Setting up cloud architecture and access management team is a good idea to monitor the cloud migration progress.
Cloud migration stage
When it comes to actual cloud migration, it is a good idea to start small and simple. Start with a single small application that is easy to migrate. As you gain experience in migration you can start migrating the more complex or larger applications.
Cloud migration is a transformational phase for the whole organization and all the people involved should approach it as such. Look towards automating as many processes as possible and continue with automation culture even after the migration process is complete. This will enable you to take maximum benefit of cloud hosting.
To make things easier for you, your team and your customers, take maximum advantage of fully managed services provided by cloud hosting partner. The increase in cost, if any, will be more than compensated by the time and effort you will save.
Post cloud migration stage
After the cloud migration of all the applications is complete, you must promote DevOps and Agile mindset within the teams to focus on achieving business goals. Most of the cloud hosting providers have cloud-native tools and cloud support services for monitoring and maintaining applications. Take full advantage of these tools and services, and do not shy away from developing your own customized solutions based on them. Upskilling and retraining the team members must go on through the migration process but it becomes even more important in the post cloud migration stage.
Key challenges in cloud migration
Cloud migration strategy must include details about tackling the key challenges associated with it. Here we discuss some typical challenges involved in cloud migration. The intensity of each would depend upon the individual scenario.
Complexity of migration
As discussed earlier, when it comes to cloud migration there is no one size fits all solution available. You need to analyse your requirements and find a partner who will be able to handle the complexity of migration. If you can find a vendor who has done cloud migration for a similar business, it would be a great fit.
Legacy software has a tendency of being hydra-headed because they have been developed over a long period of time, components being added as and when required. You need to be aware of all its components and their interdependencies for a successful migration. You might need to have a separate migration strategy for different components.
To take maximum advantage of cloud hosting, organizational changes need to be made both in terms of technology and mindset. You need to ensure that besides training in the new technology, team members are willing to adopt the mindset required to use cloud-native tools and technologies. If the team members are not willing to adopt the DevOps and Agile processes synonymous with cloud, your cloud migration may not be as successful as envisaged.
Despite the explosive adoption of cloud in the past decade, cloud security remains a bone of contention. It remains one of the major reasons for many enterprises refraining from migrating to the cloud.
Your cloud migration strategy must list all the potential vulnerabilities and the plan for managing them. The most important step here is to ensure the trustworthiness of your cloud partner. Once you are sure of the intent of the service provider, these are some of the things that you must take note of:
- Security practices of the cloud service provider
- Security regulation compliance
- Where the data is actually stored
- Encryption of incoming and outgoing data
The beginning of any business partnership is always positive, otherwise, it would have not happened in the first place. However, it makes sense to consider the scenario where the vendor is unable to fulfil all your business requirements, whatever the reasons. You must know beforehand what your strategy should be if that is the case. You should not stick with a vendor just because migrating from one vendor to another is a complex process and sometimes not at all possible.
You must discuss with your vendor how it will help you in case you want to stop using their services. Read agreements carefully and get the vendor to include clauses for helping you in case the partnership does not go as planned. Also, try not to become so dependent upon the vendor that you have to stick to it just because you cannot manage without it.
The cloud vendor is providing you with critical service and breakdown of those services is a realistic scenario. You must look at the past performance of the vendor and their most critical outages. You must discuss with the vendor the steps they have taken to ensure that there is no breakdown and services.
Cloud migration has the potential to impact your business in more ways than one and transform it completely. When choosing to migrate your applications and services to the cloud, the emphasis should be on optimizing performance and adopting a cloud-native approach to development like continuous integration/continuous deployment, DevOps and Agile.
You can use the frameworks, strategies and challenges discussed here to develop your own cloud migration plan. Remember that none of them needs to be implemented in the order listed here. They should be customized to your unique business requirements so that you achieve a seamless and easy cloud migration.