On-premise to cloud migration: strategies & challenges

Małgorzata Kawałkowska

Content Marketing Specialist at Spyrosoft Ltd.

You’ve made a decision to move to the cloud. Now it’s time to get the ball rolling and take steps to migrate your data successfully. Where should you startWhat’s the best way to plan the cloud migration process to avoid possible pitfalls and make sure everything goes without a hitch? 

I talked with Tomasz ObszarnySenior Technical Lead Cloud Architectabout cloud migration planningpossible strategies and common challenges that may lead to migration failures. Let’s find out what’s ahead of you. 

What does the cloud migration process look like? 

Of course, a detailed roadmap depends on your specific needs. There’s no one-size-fits-all solutionHowever, here are some high-level guidelines that should help you to plan out the migration:    

1. The cloud migration scenario should be established 

Dyou want to do full or partial migration to the cloudOr maybe remain on-premise with backups to the cloud? Which cloud should you choose: public cloud, private cloud or a hybrid one? That’s something that should be decided at an early stage, alongside identifying the business needs. 

2. Identify your needs 

What infrastructure elements do you absolutely need to have access to? It may be that as you’re migrating data to the cloud not everything will be as easy to access or will work as fast as on-premise. The Internet connection latency plays a key role in how a user perceives the speed. 

Moreover, there’s the matter of fitting, or in other words, choosing the right size of cloud infrastructureThe size impacts the costs, so it’s important to make sure you don’t go overboard, because you may end up paying more than expected.  

3. Implement a cloud migration strategy that fits your needs 

There are six methods of migrating data to the cloud, commonly known as the 6R’s: 

Retain  

Sometimes after identifying serious obstacles, you may make the decision to suspend your cloud migration project for now and get back to it at a later dateThis may occur due to legal issues, for example, if you’re not allowed to store customer data on third-party servers. Sometimes, migration may not be advisable due to high license costs, for instance, when a license model calculates the price based on the infrastructure underlying the physical hardware capabilities.   

Rehost (lift & shift) 

This strategy involves moving an existing solution from on-premise to the cloud with no changes. It’s a quick method to implement, but not necessarily the most cost-efficient.  

Re-platform (lift and reshape) 

In this method, your solution is adjusted to the cloud ecosystem. The core architecture remains the same, but the solution is slightly modified to fit the cloud platform. An example of re-platforming can be moving a database from one cloud platform to another.  

Repurchase (drop and shop) 

Sometimes you may not be able to migrate your application to the cloud because the chosen cloud license doesn’t allow it. You’ll then have to stay on-premise or look for other cloud solutions, which will fulfill the requirements without limitations associated with installation in the cloud environment. So de facto, you replace one solution with another.  

Refactor 

In refactoring you adjust the code of your application to make it work better in the cloud environment.  

For example, you can optimise it to lower the costs by reducing the expenditures to deliver reliability, by moving the data to object storage, like Amazon S3, where you have the flexibility to control the storage classes associated with data availability. With a small investment towards the savings, you can have AWS automating the process of shifting your data between storage tiers for maximum savings. You can choose different classes, for instance, based on the data modification frequencyData that is rarely, or never modified, can be transferred to a class with a lower access level, which is therefore cheaper 

Retire

In this case, you identify applications that aren’t in use anymore and you make the decision to get rid of them and not move them to the cloud. What’s the point of migrating an unused application to the cloud if it would only waste the resources without providing any value? 

And what is serverless computing? 

In simple terms, serverless computing is a solution, in which the resources are allocated on demand.  You’re charged based on real usage 

The disadvantage of non-serverless cloud solutions is that you need to keep them on constantly if you want users to access the application. You could turn off the virtual machine for a chosen amount of time, but then users won’t be able to access the application at all. If you want to keep the solution accessible on-demand, for example, after users log in to your application, then serverless is the way to go. Once users log out and stop interacting with the application, the solution will stop doing background computations, which you would normally be billed for in case of server based, dormant solution 

However, keep in mind that not all cloud services are serverless. If you build a serverless solution but are using cloud services that aren’t serverless, they will generate costs. In this instance, the “usage” doesn’t always mean user interactions, but for example a unit of database space. If you keep some data in a database, it will still generate costseven though you don’t interact with it.  

What are the challenges of cloud migration? 

Insufficient pre-migration analysis and preparation  

Let’s say your goal is not to use on-premise servers at allHowever, during the migration, it turned out that some part of your product can’t be moved to the cloudYou overlooked that in your pre-migration analysis and now the migration can’t be completed. 

Good preparation for the migration process is key. You must go through your ecosystem and identify all elements that are to be migrated to the cloud, analyse their cloud readiness and determine which migration method is most appropriate 

Lack of expert knowledge 

Every cloud migration project could fail if there’s not enough knowledge and skills to handle it.  

Migration of big amounts of data 

Sometimes the bandwidth of the internet connection doesn’t allow the transfer of the required amount of data to the cloud at a fixed time 

To prevent this from happening, some cloud service providers offer special services. For example, AWS has solutions called snowball and snowmobileThese are data transport solutions that can accommodate large amounts of data in order for it to be transferred in and out of the cloud. 

Example of cloud migration 

Do you have an application that has to be available for users 24/7 without any interruptionsAre you wondering how to plan the cloud migration so that it’s invisible on the customer side?  

This was the scenario we faced with TakToone of our customers, for whom we executed the “lift & shift” migration strategyWe had to divide the process into a few stages. First, we transferred and tested smaller and non-customer-facing databases and environments. Then, we migrated TakTo’s databases, which were extensive, and from the technical point of view, the trickiest element to move. The migration passed seamlessly, and the change was imperceptible to the users. 

Here you can read TakTo’s cloud migration case study in full >> 

Are you ready for cloud migration? 

Let’s be honest: cloud migration is not a piece of cake. It’s a complex, very customer-specific process that requires expert knowledge and experience because there’s simply too much at stake if anything goes wrong. 

It’s safer to get the help of a trusted partner who knows how to navigate the challenges that come with cloud migration and will take care of it from start to finish 

Check our cloud services page and tell us about your needs >>