Join our newsletter

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Run your data operations on a single, unified platform.

  • Easy setup, no data storage required
  • Free forever for core features
  • Simple expansion with additional credits
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Download the file

Oops! Something went wrong while submitting the form.

How to ace on premise to cloud migration in 2021

How To
February 11, 2021
How to ace on premise to cloud migration in 2021

The cloud is all the rage right now.

The tech giants like Amazon and Google are almost exclusively focusing on cloud technologies. 

The small companies migrate to the cloud faster than birds fly south for the winter.

So, what is so wrong with keeping your app and data on an on-premise server, safely locked in one of your offices?

Technically, there is nothing wrong with it, it is just that cloud - when done right - outperforms the benefits of the on-premise deployment and throws in some extra sugar on top. 

But the key phrase is “when done right”. Just uprooting and moving your app to Amazon Web Services might not be the smartest thing to do. 

In this guide we explore the art and science of migrating your application from on-premise to the cloud by answering three broad questions:

  1. What is cloud migration?
  2. Why should you migrate to the cloud? (Is the cloud really cheaper? Is it really safer?)
  3. How to perform a cloud migration? 

Run a 100% data-driven business without any extra hassle. Pay as you go, starting with our free tier.

1. What is cloud migration?

Cloud migration is the process of moving digital assets (data, apps, workloads, other business components) from an organization’s on-premise infrastructure to the cloud.

The cloud refers to all the services (both - underlying hardware, and software to run those services) which are made available to you via the internet by a cloud service provider. In contrast, on-premise means you own the physical server and software upon which you run your application, workloads, and your physical data center or data warehouse.

The cloud can therefore be thought of as a Platform as Service (Paas) or Infrastructure as a Service (IaaS). It gives you the platform and infrastructure, so your developers can spin up an app and its development ecosystem at unprecedented times. 

And, migration can be thought of as moving from owning the tech stack to renting the tech stack.

But it is far more complex than that.

Migrating to the cloud does not just mean shifting from owning the server in your office to renting a server somewhere at Amazon’s data center. It means you can potentially rent 10, 100, or 1000 servers with a simple button click, without a growing pain you would experience if you tried to set up the infrastructure yourself.

Shifting from on-premise to cloud means a different way of thinking about your application. Deploying your app in the cloud unlocks virtually limitless compute resources, which can help you scale your app seamlessly. 

You are no longer bound by the bare metal of your servers. Or even the software running on that bare metal. 

Cloud providers allow you to switch between different software, as easy as upgrading your storage from a MySQL database to a plethora of data warehouses and data lakes. This smooth shift in software allows you to switch between architectures and data pipelines in a matter of hours, instead of spending weeks or months engineering the prerequisite technology in house. For example, you can easily move from an ETL to ELT architecture to take advantage of the acceleration in incoming data, which also speeds up your time to market and time to insights.

Beware, though, not all migrations are made the same. Depending on the cloud provider you pick, there are different considerations to keep in mind and different migration strategies. 

We can organize the cloud providers into 4 groups:

  1. Public cloud. This is what the majority of people refer to when they say “cloud”. Services - such as cloud storage and cloud compute resources - are owned and managed by a third-party vendor. The most notable examples include Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). 
  2. Private cloud. Cloud resources are owned and used by a single organization, instead of the general public. Examples include Hewlett Packard Enterprise (HPE), Dell, IBM, and Oracle.
  3. Hybrid cloud. Is a combination of private and public cloud. For example, you could host your main app and logic on public cloud, but your data warehouse would be run on private cloud.
  4. Multi-cloud. Building your app on multiple public cloud providers and pick-and-choose the comparative strengths of each one. For instance, if you’d like to tap into Azure’s suite of IoT tools while keeping AWS’s Redshift as your main data warehouse, you would deploy your app as multi-cloud.

So, why would you migrate from on-premise to cloud? The answer lies in the multiple advantages public cloud platforms offer to you.

2. Why should you migrate to the cloud?

Use cloud migration to take advantage of key cloud capabilities:

  1. Elasticity and scalability. Public cloud providers allow you to quickly expand computer processing, memory, and storage resources according to your needs. The majority even offer autoscaling - programmatic resource optimization, which automatically upgrades (when there is a greater need) or downgrades (intending to save costs) resources according to your app’s need. Thus, your cloud provider strikes the balance within resource optimization - enough resources to scale with increasing demand, but not by sacrificing your operations with unnecessary costs. You only pay for as much as you use.
  2. Fault tolerance, reliability, and resilience. The bare-metal cloud infrastructure is built with state-of-the-art technology. If a physical machine dies, another one replaces it without affecting your business operations. Public cloud providers plan for the worst. They have multiple data centers around the globe aiming to reduce the harmful effects of natural disasters  on service delivery.
  3. Business agility and flexibility. The cloud is accessible to every person in every office around the world, hence removing bottlenecks from underperforming processes. But it is not just people who have access to the cloud. It is also businesses,  which have access to the same apps and advanced technologies, which were previously accessible to the domain of tech giants only. Tapping into advanced databases and warehouses allows you to utilize the best tools available for your projects. Switching between software gives you the flexibility to move between business decisions fast.
  4. Added sugar. Cloud providers offer technological stacks that might not be vital for every business, but are definitely appreciated by every business. From tools that speed up machine learning productization to apps that scale analytics, the “added sugar” is the marketplace of apps that gives your company the possibility to explore new growth streams.

The cloud is commonly praised for its cost savings and its superior safety. But not everyone agrees on those advantages. Let us dive deeper into those two aspects of cloud technologies to separate the myths from the facts.

2.1 Is the cloud really cheaper?

IT infrastructure is not cheap. If you invested heavily in your own on-premise infrastructure, it might seem like a waste of money abandoning the server to migrate to the cloud. But if you plan to grow your business, you need to incorporate the future cost of maintenance for your own IT infrastructure as well as all the additional server, storage, network, and IT labor costs for upkeeping your IT operations. 

This is why cloud infrastructure is cheaper when looking at the total cost of ownership. For one, you incur no maintenance costs. All the hardware and software maintenance and updates are done at no cost to you by the public cloud provider. 

But more importantly, public cloud providers tie pricing to usage. Whilst you would always have a rather high fixed expense to keep your infrastructure up and running (whether your customers use your app or not), cloud resource scale with usage. Thus, you save money by automatically downgrading cloud resources when not in use, without losing business continuity.

One thing needs to be noted, though. To gain the advantage of the cloud’s price elasticity, you need to configure it accordingly. It pays off to train your personnel or to hire cloud experts, as they will be able to configure your deployment according to the best standards from the get-go. Without this know-how, you cannot unlock the cloud’s cost-saving potential.

2.2 Is the cloud really safer?

Cloud services undoubtedly offer state of the art security measures. From GDPR to other data protection regulations, the cloud providers offer their services in line with all the regulatory compliance requirements.

Because their business depends on security, cloud providers usually deploy safe patches and state-of-the-art solutions faster than any singular company. Operating at scale allows them to hire devoted security experts, which is usually outside of budgets for medium and large businesses. Having a devoted in-house department allows them to ensure security on a higher level than an average business.

So, is the cloud safer by default? Not really. If on-premise is mostly concerned with security threats from the outside (hackers, breaches, etc.), cloud security most of the time is safe from them. The bigger concern is security threats from the inside.

Because the cloud allows everyone to collaborate at scale and access resources across silos, your data is exposed to leakage by your employees. It is important to make everyone aware of how to share and collaborate safely within the cloud, which usually involves different mechanisms than an on-premise deployment.

2.3 Are the cloud benefits sufficient to migrate?

So, should you migrate to the cloud? If you cannot foresee yourself using the benefits cloud providers offer, then don’t. On-premise deployment has been the solution for ages, and there is no need to push onto new technology if it offers you no benefits.

If, however, you are impatiently curious about the potential the cloud can unlock for you, follow the step-by-step migration guide to unlock the full extent of what the cloud has to offer. 

3. How to ace the cloud migration process

Here we look at a step-by-step guide on how to migrate your workloads, data, and app to the cloud.

3.1 Prepare for the migration

Before any migration happens, you need to plan for migration of  your digital assets.

Set goals and KPIs

Evaluate why you are migrating. Start by setting goals and key performance indicators (KPIs) to assure a cloud migration makes business sense. Do not just trust internet guides, measure performance yourself. If you plan to save costs, calculate the total costs before and after cloud migration. If you plan to migrate to scale, calculate the uptime during high traffic spikes on premise vs on the cloud.

Evaluate pricing 

Like any other IT project, cloud migration is bound and shaped by your budget. Thankfully, cloud providers offer (very innovatively named) pricing calculators, which help you assess the costs you can expect after migration:

  1. AWS Pricing Calculator
  2. Azure Pricing Calculator
  3. Google Cloud Pricing Calculator

Define production switchover mechanisms

You do not want to lose business continuity when migrating, so carefully plan how the switchover of services is going to happen. You could either simultaneously turn on premise production off and turn it on on the cloud, carefully migrate the entire code and data to the cloud and turn it on a couple of times to test before making the kill-switch decision, run both on premise and cloud apps in parallel by redistributing traffic between them, or migrate modules live while running operations.

The choice will ultimately depend on your architecture and migration strategy.

Re-architecture your application 

Depending on your migration strategy (more below), you might need to re-architecture your application to be able to move to the cloud:

  1. Virtualize your app by having it run in a virtual machine server (VMS).
  2. Containerize your app by using containerization technologies (such as docker).
  3. Modularize your code, so you can move parts to the cloud and keep parts on premise.
  4. Refactor your code to,for example,intake incoming data via a streaming message broker instead of bulk inserts, to take advantage of specialized cloud technologies.

Re-architecturing code might not be necessary, but it is part of a plan of what aspects of your digital assets are migrating and what are not, according to migration strategies.

3.2 Migrate according to the best cloud migration strategy

The day has come to make all the levers move.

There are three main migration strategies:

  1. Lift and shift. Take your assets and rehost them in the cloud. Uprooting is possible if your architecture is by default environment-agnostic, such as in the example of virtualized and dockerized apps.
  2. Improve and move. You need to re-architect your assets before they can move. Redesigning and re-architecting your apps allows you to tap into the benefits the app has to offer above. For example, scaling your app is simple with a Docker image (you just run the same image in a new container), but harder if your backend cannot handle multiple access requests.
  3. Hybrid migration. Migrate just part of your production to the cloud, while keeping other assets on premise. This is especially useful if you have made a sizable investment into your on premise architecture and you do not want to see it go to waste. Hybrid migration is the solution of choice for companies which either foresee cloud advantages for only part of their application, have specific regulatory reasons for keeping (part of the) data in-house, or are testing the cloud by incrementally migrating just some modules of their application or just some applications out of their ecosystem.

No matter which strategy you pick, it is important to keep business continuity in mind. With the right migration strategy, your users and customers will not notice you migrated from on-premise to the cloud, but rather, will experience the migrated applications with limited or no interruptions.

3.3 After the migration

After the deed is done, monitor migrated applications. Monitoring allows you to optimize your applications and leverage cloud services to their full potential.

3.4 Cloud migration tools

Each cloud provider offers multiple tools and services to ease the pains of migrations.

For example, Amazon Web Services offer plenty of tools to speed and ease your migration to AWS:

But you can find similar tools with other cloud providers, such as Microsoft Azure migration tools, as well as tools offered by Google Cloud Platform.

Run a 100% data-driven business without any extra hassle. Pay as you go, starting with our free tier.

4. Don’t just migrate your data to the cloud, set yourself for success from the get-go.

Keboola is the data operations platform that allows you to fully access cloud-native technologies and connect their benefits with your on premise solutions.

What does that mean? As a data operations platform, Keboola acts as the layer between the physical infrastructure of your deployment and the tools your employees use.

This allows you to:

  • Use Keboola to assert data governance best practices before, during, and after the migration.
  • Manage all your people, ops, and data processes from a centralized and user-friendly dashboard.
  • Use Keboola as a tool which helps you move data in multiple directions: 
  • from on premise to the cloud (e.g., for cloud migration), 
  • from the cloud to on premise (e.g., to use the benefits of the cloud in your on premise deployment), or 
  • between directories and projects within your destination of choice (e.g., from Amazon Redshift to Looker within AWS).

But Keboola is more than a data migration tool. It is also a fully-fledged data ops platform, with multiple components that accelerate your time to insights. Within the data ecosystem of Keboola’s components, you can:

  1. Built end-to-end data pipelines in a matter of clicks. Connect your incoming sources of data, clean them, and save them for analysis with 1-click deployments.
  2. Iterate on your MVP data products within custom-built sandboxes.
  3. Unlock machine learning and artificial intelligence tools to prototype next-gen solutions to this-gen challenges.
  4. Collaborate across departments and break down silos. No need to be a data expert. Keboola democratizes data access to everyone via its user-friendly GUI.

Curious about how Keboola can help you migrate, manage, or master your data better? Jump on a call with our engineers for a complimentary data migration consultation.

Recomended Articles