Modern business is constantly changing to be more efficient and effective in the digital world. Part of this development includes utilising the cloud. Cloud migration covers a spectrum of strategies and approaches for moving whole businesses, or aspects of a business, to the cloud.
Simply put, cloud migration is the process of moving a business’ processes, applications, data, and systems to a cloud hosted environment. Popular hosting services include Amazon Web Services (AWS), Azure, and Google Cloud. These services provide a virtual space that hosts your business and you pay for the CPU, storage, or bandwidth that you use. Once a business is on the cloud, it’s more resilient, accessible, and elastically scalable – meaning it can grow or shrink as you require. This unlocks business agility, enabling Enterprise to quickly develop and launch new services in the cloud, without the additional complexities of the supporting infrastructure.
There are various strategies to put in place cloud migration, from a Lift and Shift approach, to more intricate Replatforming, or advanced Refactoring strategies.
Migration Strategy 1: Lift and Shift
“While Lift and Shift is quick solution, it’s not always the right one.”
Otherwise known as Rehosting, Lift and Shift is simple, fast, and a great first step towards full cloud capability. Lift and Shift is the least disruptive way of removing on-premise hosting infrastructure. Lift and Shift takes your server hosted systems and ports it to the cloud. Anything you host on your own servers, whether locally or on servers elsewhere, can be simply picked up and moved. It’s a ‘copy and paste’ strategy that means your business is cloud-based in a few simple steps.
Lift and Shift is a quick win with low risk. At most, this strategy makes minimal changes to your systems – and often will make no changes at all. There is no overhaul or large-scale transformations. It takes everything you currently have in place, and moves it to the cloud with minimal requirement of software development resources.
While Lift and Shift is quick solution, it’s not always the right one. The ongoing costs of using a cloud provider as a straightforward hosting service can be high, since their pricing models are based on utilisation of computing resources. If a system isn’t designed to be resource efficient then cloud hosting could turn out more expensive than other options. Lift and Shift will be fast and cheap initially, but keeping it running on the cloud costs money long term.
The other downside of Lift and Shift strategies is that you cannot easily take advantage of the features and services that cloud providers have to offer. This includes core cloud benefits such as elastic scaling to support growth or spikes in demand, and automated resiliency failover to protect against downtime.
Lift and Shift is, however, often a solid solution for legacy applications. Often, legacy applications are critical to a business’ infrastructure, but sometimes are little understood, or are archaic in nature. Changing these systems can be difficult, and risky if your business depends on them. A Lift and Shift approach only makes very minimal changes to applications as they move to the cloud, which makes it a popular approach.
With a Lift and Shift approach you can rely on the expertise of Amazon/Microsoft/Google to keep your infrastructure running, rather than having to invest time supporting it yourself. Once all of the processes, systems, applications, and data are lifted and shifted to the cloud, you can then look at implementing digital transformation strategies to improve those systems.
Pros
- Fast to deliver – because it simply moves your business infrastructure, lift and shift is the fastest option for cloud migration.
- Low upfront cost – lift and shift only requires minimal resources to implement.
- Minimal risk – with no changes made to your systems you’re less likely to create new bugs or problems.
- Works well with legacy systems – the perfect option for systems that are less understood or poorly documented.
- Good starting point for moving a business to the cloud
Cons
- High on-going costs – while the upfront costs are low, the on-going costs are affected because lift and shift doesn’t optimise systems to work efficiently on the cloud.
- Lack of cloud features – lift and shift doesn’t enable you to make use of cloud features, such as elastic scaling, high resiliency failover, or high availability. These features are the main reason to migrate to the cloud in the first place, and Lift and Shift does not enable this.
Migration Strategy 2: Replatform
“A halfway house that provides some of the cost reduction and capability benefits with a relatively small level of investment and risk.”
Replatforming is the next level of cloud migration. Replatforming is a more involved process that makes modifications to the systems and applications as they are migrated to the cloud in order to take advantage of some cloud features.
Unlike Lift and Shift that just moves everything without making material change, Replatforming involves exchanging components with cloud tools and features. Some examples of this might include switching to managed database services, introducing support for automated infrastructure scaling, or integrating resource and log monitoring services.
Fundamentally, everything migrated to the cloud through Replatforming is the same system that it was while on a local server. While development has taken place, the architecture of the platform is essentially the same. The changes that are put in place are simply adjustments to allow for more intelligent utilisation of cloud resources. While not taking full advantage of what a cloud native architecture offers, you can achieve a halfway house that provides some of the cost reduction and capability benefits with a relatively small level of investment and risk.
You also have the opportunity to use Replatforming iteratively. As you move your infrastructure to the cloud, you can utilise continuous delivery to implement cloud features. This means that you don’t need to make changes all at once to overhaul everything, instead you can focus on key areas and improve over time.
Inevitably, the implementation of these changes adds a level of complexity to a cloud migration process. The additional utility that Replatforming enables has to be weighed up against the extra steps that it adds to getting a business onto the cloud, compared to Lift and Shift approaches.
Pros
- Relatively fast to implement – not as fast as lift and shift, but because it’s not a complete overhaul it’s still relatively quick to implement.
- Iterative improvements – you can take advantage of iterative improvements that focus on your strategic priorities.
- Utilises some cloud features – takes advantage of a handful of cloud features, but not to the level of cloud native.
- No fundamental changes – similarly to lift and shift, fundamentally the software stays the same.
Cons
- Requires software development resources – unlike lift and shift, Replatforming requires software devs to spend more time to integrate the cloud features
- Medium risk – Changes are made to the system, which inevitably means there is a risk of downtime and bugs.
- Doesn’t take full advantage of the cloud – Replatforming only takes advantage of a low level of cloud features.
Migration Strategy 3: Refactor
“In the long-term a cloud based microservice architecture is easier to elastically scale, is more resilient, and is more cost efficient.”
Refactoring is often known as becoming Cloud Native and is the most advanced process of cloud migration. It’s essentially a digital transformation process that not only moves a business to the cloud, but re-architects the whole system to leverage all the appropriate services that the cloud provider has to offer.
Long term, Refactoring has some of the biggest benefits, but it also requires the biggest investment of time, resources and talent. If a business commits to Refactoring, the end result is more resilient, more cost efficient, and the most effective use of cloud capabilities. However, to get to that end result a team needs to intensively rework the whole system that is being migrated. This isn’t just a couple of small adjustments, this could amount to a full rewrite of every system, application and process that is being moved.
This is because traditional or legacy software is often monolithic, that means it’s a single large system that contains all of the components and services required for the system to run. Because the components are tightly coupled, they have to be deployed together, updated together, and run together. Monolithic systems are easy to host using on-premises infrastructure, but can’t take advantage of everything cloud services have to offer.
Cloud services are suited to a microservice based design. Microservice designed software has many small, separate components that run independently, that interact through a web of APIs. Unlike a monolithic architecture, it is possible to automatically scale only the components that require it, rather than the entire application. Underutilised components can be scaled down to cheaper resource tiers, and some components might even be able to leverage serverless services such as AWS Lambda. These services allow a business to define tasks that can be executed automatically when needed, fully managed by the cloud provider, also known as ‘ephemeral processes’.
In the long-term a cloud based microservice architecture is easier to elastically scale, is more resilient, and is more cost efficient. But these long-term benefits might not outweigh the initial investment that Refactoring monolithic systems require. Rewriting systems is a huge undertaking for a business, and one that carries significant risk. This is why Rehosting and Replatforming tend to be the most common choices for existing systems, with new projects taking the cloud native approach.
Pros
- Cloud Native – this is a huge pro, by taking advantage of everything that the cloud has to offer your systems are more efficient, effective and resilient. Cloud native businesses can take advantage of long term cost reductions, as well as elastic scalability.
- Running costs - while the initial investments are high, a cloud native system has much lower long term costs associated with it, as cloud native systems can efficiently utilise resources by scaling down under-used sections when they’re not needed.
Cons
- Time – refactoring takes the longest time because you are rewriting all of your systems. You can’t do this iteratively, and everything you have needs to be overhauled.
- Development cost – this is the most expensive of the three options due to the software development investment.
- Risk – due to reworking everything you need to have a clear understanding of what your systems need to do, it’s not just an architectural question, but a business one.
How To Choose a Path
“The ‘right’ option for a business depends on the unique technical requirements and business strategy of their systems.”
Moving to the cloud is a key development for all modern businesses, and all three options have their own pros and cons.
Lift and Shift is great for quick moves that open the door for more improvements, but doesn’t fully utilise cloud benefits. It’s rarely the ideal option, however has place for businesses that either need to urgently move from on-premise infrastructure, or businesses that are lacking the budget or resources for more complex options.
Replatforming is a good middle ground, taking advantage of some of the aspects of the cloud, and requires more planning and resources, but doesn’t carry all the risk and complexity of a full refactor.
Refactoring leads to a business being fully cloud native, taking advantage of everything that cloud providers can offer, but takes the longest amount of time and most investment of resources. Though it can be risky and expensive, this is the best approach if your business has a strong need to increase functionality or performance to a degree that the system’s current architecture cannot support.
The ‘right’ option for a business depends on the unique technical requirements and business strategy of their systems. Becoming Cloud Native is a tempting objective, but for very complex systems this might represent a level of investment and risk that is unacceptable. Lift and Shift/Rehosting is the fastest and easiest option, but does not realise the potential that the cloud has to offer. In many cases, Replatforming represents a sensible middle ground of cost and risk, but also doesn’t have the true speed of Lift and Shift or take advantage of the full capability of Refactoring. It’s not unusual for enterprise organisations with a variety of migration projects to successfully use a blend of these strategies at the same time.
Avco Systems recommends the following steps when assessing the best cloud migration path for your business:
- Review the business value and risk - Is it an internal business application, or a revenue driving system? Is it a system that just needs to exist, or should it be continually improved and invested in? An internal application with low return on investment might be a better candidate for Lift and Shift or Replatforming, while one that is a key profit driver likely warrants the additional investment of Refactoring.
- Review the technical landscape - Is the system well documented and understood? Does it have many external dependencies? What are the performance and storage characteristics/requirements? Evaluate how technically complex each of the three options could be for the unique architecture of the system in question.
- Review your delivery capabilities - Do you have a team of engineers with experience of cloud application development? Do they have the capacity to take on a complex cloud migration, or are they occupied with other tasks? Take into consideration how fast or how in-depth this process needs to be.
If your business is looking for an experienced partner in migrating to the cloud, Avco Systems provides a comprehensive and agile cloud migration service. We will not only consult and advise on the best approach for your business, but implement and manage the delivery of the migration itself. Get in touch for an initial free consultation on 01753 213 700 or send us a message.
This article is also available as a PDF download.