{{announcement.body}}
{{announcement.title}}

Choosing the Right Cloud Migration Approach

DZone 's Guide to

Choosing the Right Cloud Migration Approach

Learn more about how to migrate to the cloud and what to do when you're there.

· Cloud Zone ·
Free Resource

packing a bag

A guide to packing up and migrating to the cloud.

In recent times, almost every company has become a technology company out of necessity. The fear of being left out, and giving an advantage to their competitors, has led them to adopt ways to become flexible, scalable and innovative.

One such means is by migrating to the cloud. With about 2.5x quintillion new bytes of data being generated every day, it is only reasonable that the companies adapt to a solution that is comparatively speedy, less costly, and not limited to an on-premise infrastructure.

But the criticality of cloud migration lies in not just preparing for the short term benefits of the cloud in terms of speed, scalability, and cost savings, but essentially laying the foundation of a greater strategy:

To be able to respond more quickly to changes in the market, scale your growth, and drive innovation in the long run.

You may also enjoy:  A Guide to Cloud Migration

Additionally, there could be several reasons for a business migrating to the cloud, summed up as follows:

  • To increase the productivity of their workforce
  • To streamline their data handling and consolidation, particularly if they are preparing for an acquisition, divestiture, or have experienced infrastructure sprawl over the years
  • As a part of their digital transformation program to completely re-imagine their business using modern technology
  • To improve their bottom line by a considerable reduction in costs

Cloud migration is a way to ensure that enterprises will continue to grow with ease and be able to leverage the most out of emerging technology. It is undoubtedly a better choice against investing in an aging and expensive infrastructure that can’t keep pace with the rapidly changing technology advancements.

How to Go About It

As seen above, cloud migration offers a variety of organizational benefits. But leveraging this requires careful planning. You need to map your organizational goals and the workloads that support them to those cloud features that will help further those goals.

Based on the type of migration you want to perform, and the specific resources you want to move, the method of going about a cloud migration varies. Some common elements, however, would include evaluating performance and security requirements, choosing a cloud provider, calculating costs and making any necessary organizational changes.

With proper assessment of your needs and goals, your organization will be able to create a solid migration plan that meets both short and long term objectives of your business.

Approaches to Cloud Migration

Coming to what approach you want to adopt for your migration, it largely depends on your needs. We take a look at the “5 Rs of cloud migration” from Gartner, which constitute all the options for migrating your applications to the cloud.

Rehost

Also known as the lift-and-shift approach, rehosting is the process of moving your existing physical and virtual servers to a solution based on Infrastructure-as-a-Service (IaaS).

The key benefit of this approach is that systems can be migrated quickly with no modification to their architecture. The process is fast, less resource-intensive and more cost-effective than the on-premises. However, it doesn’t let you get the most out of the cloud-native features like elasticity. It is also comparatively costly compared to other migration approaches.

Refactor

Refactoring is the process of running your applications on the infrastructure of your cloud provider, also referred to as Platform-as-a-Service (PaaS).

This means that developers can reuse the frameworks, languages, and containers in which they’ve already invested. But for applications or workloads that can be refactored to leverage cloud capabilities, they will be able to take advantage of some cloud-native features offered by the PaaS infrastructure for reduced costs and increased scalability.

The disadvantages of this approach include transitive risk, missing capabilities, and framework lock-in. It is the most time-consuming and resource-intensive of all approaches, but is also the most cost-effective.

Organizations looking to modify their applications and infrastructure can take this approach, as this will give them the full advantage of cloud-native features as well as maximize their operational cost efficiency in the cloud.

Revise or Replatform

In this approach, applications are moved to the cloud with a small amount of up-versioning. This could include adding one or two functionalities to it, or completely re-architecturing them before they could be rehosted or refactored and eventually deployed to the cloud.

It is a difficult process since modifying a large codebase could be both time-consuming and expensive. An example would be taking a complex, monolithic Python-based application and moving it to Google App Engine.

While a slower migration path than rehosting, this approach offers a solid middle ground between rehosting and refactoring, allowing workloads to take advantage of base cloud functionality and cost optimization, without the level of resource commitment required for refactoring.

Rebuild

In this scenario, an application is re-architected, original coding is discarded, and it is re-built on a PaaS infrastructure. Rebuilding the application allows you to take advantage of more advanced and innovative features from your cloud provider to improve your application even further. A major drawback of this option, however, is vendor lock-in.

For example, you may rebuild your application so that it is completely serverless. By using technologies such as AWS Lambda, API Gateway, DynamoDB, S3, and others, you could run your application without having to manage servers for yourself. This sort of cloud-native application would be inexpensive to operate and highly scalable. However, it also means that you’re locked in to using a particular cloud vendor. This isn’t intrinsically bad, but it is a factor that you will need to consider.

Replace

This approach allows you to completely replace the existing application(s) with software delivered as a service (SaaS). As a result you can avoid IT development costs, and also minimize the amount of services and applications that you need to manage. Problems in accessing data, unpredictable data semantics, and vendor lock-in are however some cons of this approach.

Your team should have a deep knowledge of the infrastructure and applications that your business runs on in order to fully understand the complexity, challenges, and costs involved, and identify which approach works best for you. It could even be a combination of two or more approaches, the byline being whatever suits your purpose.

In summary:

APPROACH

Advantages

Disadvantages

Rehost

Fast, less resource-intensive and more cost-effective than on-premises

Not much cloud native features, more costly than other migration approaches

Refactor

Cloud native features, cost-effective, increased scalability

Involves transitive risks, framework lock-ins, and is the most time-consuming and resource-intensive approach

Re-platform

Solid middle ground between rehosting and refactoring

Time consuming, expensive

Re-build

More innovative features, inexpensive to operate, highly scalable

Vendor lock-in

Replace

No IT development costs, fewer management of applications required

Problems in data accessibility, unpredictable data semantics, and vendor lock-in

Cloud Migration Best Practices

To ensure a smooth and efficient migration process, here are some best practices you should follow:

Map Out a Migration Strategy

You need to figure out your business motives, and use cases for moving to the cloud, and accordingly, frame your migration strategy. It could be rehosting, refactoring, or any other, and even a hybrid one depending on your objectives and requirements.

Create a Cloud Governance Framework

This is an important practice particularly in respect to the compliance and security concerns in an organization. A good cloud governance framework with clear, policy-based rules, roles, responsibilities, plans, and a decision framework is critical to help organizations prepare for a secure cloud adoption. It should take into account the inherent risks of trusting data and apps to third-party services, as well as define ways of doing things - so that your company can migrate to the cloud with minimal risk and maximum value.

Optimize the Network

While moving to a public cloud, you might consider optimizing your network since the default used network is too slow and maybe not secure enough to meet your business goals.

Dedicated network connections by third-party service providers like AWS and Azure might be one good solution. And even if a dedicated connection is not necessary, it is still worthwhile to pursue a better, faster service from your Internet Service Provider given that moving to the cloud encompasses users transitioning from accessing data or apps locally via gigabit-speed local network connections to much slower internet connections.

Train Your Staff

Migration to the cloud often requires a skilled staff, so it makes sense to train staff in your chosen cloud platforms as early as possible. A series of training sessions designed to get employees across different teams up to speed in cloud concepts might be a good way to start with.

Software Licensing

One real concern for enterprises undergoing cloud migration is whether their existing licenses for on-premise software extend to the cloud. Some software vendors operate a Bring Your Own Software and License (BYOSL) program that gives enterprises express permission to migrate their applications to the cloud. Other vendors specify usage rights per number of concurrent users.

A solid approach to manage this would be to document all enterprise applications and closely study their licensing rules in relation to cloud computing. And in circumstances where it is unclear, talk to the vendor to see if existing licenses you have purchased can be updated for the application to be used in the cloud. Software Asset Management (SAM) tools can prove useful in reducing risks, costs, and complexities associated with extending license management to the cloud.4

Automation

Another best practice, automation is a requirement for cloud migration in order to ensure efficiency, minimize disruptions, and automate repeated patterns where possible. Automation not only speeds up the process of migration, it also lowers both cost and risk.

Monitor Cloud Usage

You should monitor cloud usage from the outset if you want to avoid adding your company’s funds to the statistic of 35 percent of cloud budgets that are wasted. A centralized dashboard that identifies running instances across different cloud services can really help you out here.

Monitoring for compliance and security is also crucial, and you’ll ideally want to collect logs from apps, systems, databases, and network touchpoints to ensure information security requirements are being met.

Leverage Service Provider Support

Lastly, while researching for cloud service providers in your migration, you need to factor in the level of support you will have. A good support team can provide a critical ally during any cloud migration project. Cloud support staff are experts in the particular service they work for, and they should be able to promptly answer technical questions or help you with any issues you have.

Cloud migration is not something new that enterprises are just catching on to. But, given the initial inertia that needs to be overcome and the costs involved, it's important to ensure that migration happens in the right manner. So at Image title, we spend a lot of time analyzing the full breadth of an enterprise architecture and business requirements to arrive the right cloud migration approach for a client. And I hope that the understanding of different cloud migration approaches and when to choose them makes that decision a little more easier and faster for you.

Further Reading 

10 Cloud Migration Best Practices

Cloud Migration Benefits and Strategies for Businesses in 2019 

Topics:
cloud ,cloud migration ,cloud migration strategy

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}