Cloud and legacy migration: technical challenges

by Eban Escott, Oct 08, 2018

Cloud migration is an immensely rewarding initiative when executed successfully. Cloud services already include Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS), function as a service (FaaS), and backend as a service (BaaS).

The growth in the range of services available has been matched by growth in their scale. Four-hundred hours of video are uploaded to YouTube alone every minute and worldwide data storage capacity is an estimated 295 exabytes (which is 295 billion gigabytes).

The idea of a paperless office has been around for nearly a decade. Organisations are now making moves towards offices with no Desktop or local server applications: a cloud office.

Warning!

The necessity of cloud migration is matched by its complexity. Here are five technical challenges you will need to overcome when effecting your migration.
Need a better grasp of the basics before reading further? Click here for an intro to cloud migration.

1: Auditing your software and processes

Examples of cloud migration often assume an organisation has zero cloud-based applications prior to the migration or a single, monolithic legacy application. This is rarely the case.

Far more likely is a fragmented software landscape of many technologies of varying degrees of importance,  replaceability, and isolation. Far more likely is a software landscape which is a mix of cloud and non-cloud technologies.

Before you can migrate your technology to the cloud, you will need to gain a thorough understanding of your existing software landscape (starting with the above variables). Essential activities in a software audit include:
  • mapping your business processes and identifying pain points therein;
  • cataloguing your software;
  • identifying feature overlap; and
  • performing a needs and efficacy analysis.
Once you have audited your existing software, you will need to take stock of your future software options.

We asked Eban, Codebots' Founder and CEO, some questions on cloud migration and how organisations can make their move smooth.

3: Microservices versus megaclouds

In the world of microservices, an organisation’s software landscape is a highly fragmented collection of applications and services. (These applications and services can be custom software or off-the-shelf products managed by SaaS vendors.)

Two thought processes that define organisations that have gone down the path of microservices:
  1. if it is useful, it exists; and
  2. if it already exists, use it.
The polar opposite of microservices are megaclouds. Think Salesforce, Workday, SAP, and Oracle. Megaclouds are the next generation of the enterprise software. They combine ERP, HR, CRM, and other features into monolithic one-stop shops.

The alluring promise of megaclouds is there’s no need to go through the hassle of stitching multiple vendor services or finding new services when needs change.

Maintaining data consistency and state of mind are simple because these megaclouds are capable of everything you need from your software.

Megaclouds gobble up other services, integrate them in their clouds, and offer an increasingly large amount of functionality coverage.

The microservice and megacloud dichotomy is more accurate in theory than in practice. For many organisations, neither of these options is quite achievable. Organisations perusing a strategy of microservicing their software will invariably discover that some services are best delivered in tandem with other, similar services. And organisations wishing to simply pick a megacloud and move on will discover feature gaps and small pain points, even with top tier providers.

A major challenge to overcome during cloud migration is deciding when to pursue use of a microservice, expand an existing service, or package a bunch of services into a megacloud.

3: Building your requirements backlog

Cloud migration will always impact your organisational operations. The challenge is paving a path that manages your risk.

One way to go about this is with microservices. If you are migrating to a largely microserviced infrastructure, then you can afford to migrate your capabilities and data piecemeal, gradually turning off your legacy applications feature by feature.

As much as possible, migrate piecemeal and finish with essential functionality, once you've gained experience coping with cloud migration.

4: Connecting your systems with APIs

Particularly during the migration, you will need to ensure you have the right APIs set up so that your data remains in sync and your operations are as unimpeded as possible.

APIs are the backbone of all microservices architectures and even megaclouds.

5: Data migration

The final step in any application process is data migration. One of the principle challenges of data migration is underestimation. Managers and developers routinely underestimate the challenge of data migration by underestimating the complexity and necessity of preparing for all edge cases and unexpected turns.
Data migration is one of the key steps to achieve legacy migration. Make sure you know the other 5!

Start with a solid migration strategy and go from there

Most of the challenges involved in cloud migration are strategic; making the right decisions. 

The necessity of cloud migration is matched by its complexity. Five technical challenges you will need to overcome when effecting your migration and moving towards beginning an all-cloud office include:
  • auditing your software and processes;
  • deciding between microservices and megaclouds;
  • building your requirements backlog;
  • connecting your systems with APIs; and
  • data migration.
Overcome each of these challenges to maximise your chance of success.