A cloud migration strategy: a 5-step checklist

A cloud migration strategy: a 5-step checklist

November 13, 2019

Vladislav Nikitin


Cloud migration strategy requires investing first before you can start saving. It is an incredibly complicated process, frequently facilitated by IT consulting, and the one that requires making many difficult decisions along the way.

Some of these decisions will always be completely out of your control, such as data protection laws that you have to remain aware of at all times yet cannot affect in any way. While others are well within your power and should be factored in as much as possible.

The following guide provides the five most essential cloud migration steps for you to take control of your cloud migration project.

1. Define how much cloud capacity you need

The traditional providers of internet infrastructure don’t sell computational power. Instead they sell resources, or, to be more specific, servers that run 24/7, charging you by the hour even when you aren’t using these resources. In most cases, your cloud-based application or system is not fully loaded during the prepaid time, which means you’re wasting your budget away using the server idle time.

Now, the numbers will vary depending on your scale of operations. If a local company goes without night-time operations like reporting or maintenance, then they will face 12 hours of downtime. This means that 50% of their infrastructure budget will go right down the drain. A company with geographically distributed offices will have to deal with less idle time, but waste will remain a constant obstacle either way. Even the most popular social media have at least two or three hours of slow traffic, and thus could benefit from balancing their payload more efficiently.

Idle time is costly

Scalability is a sensitive matter

Simply purchasing a large server based solely on abstract traffic predictions might be too optimistic, while purchasing a small server might backfire if you end up going viral and your system crashes under the immense pressure.

Therefore the right approach to your cloud migration strategy would be to go for the cloud that is capable of auto-scaling, or to use serverless backend systems based on AWS Lambda, Azure Functions, or similar specialized services. Services such as these enable automatic backend scaling, which means that you can benefit from both pay-as-you-go and pay-as-you-use models.

However, there are some cases where making use of the cloud is not a good idea. When hosting in the cloud, you don’t know on which physical servers your components will be deployed. And in the specific case of high-loaded systems where the response time is a critical factor, the cloud may not be the best option at all.

If instead you spread your system components across the data center and connect them via extra switching nodes, then you will have to deal with network latency. Network-attached storages are always less efficient than local drives. This means that while they will still be open to scaling, you will be limited in reaching the minimum response time per request. So, if that’s crucial for your business, then it may be worth considering remaining with your local data center.

2. Adjust your architecture

If you migrate your system as is, the cloud will always be more expensive than local storage. In order to optimize your costs, you will need to adjust your architecture before migration and choose the right services to facilitate this complex process.

While saving on costs is high among the strongest motivations behind cloud migration, it is almost always the more expensive option. This happens because migrations are often initially perceived as the cloning of a current infrastructure, along with its entire capacity, to the cloud. However, you will also need to add the cloud provider management costs and scalability overheads, since cloud providers offer fully managed services. As a matter of fact, managing cloud spend has remained the number-one cloud-related challenge among enterprises over the last two years.

Cloud challenges for enterprises

Taking into account all of these factors, the only correct approach to cloud migration is deciding which system components need to be left on premises and which ones need to be migrated to the cloud.

Balancing service utilization

Before you make any big decisions, analyze the services that are fully loaded and the ones that are underutilized. You can minimize underutilization by separating the cloud storage of services that are heavily loaded from those that are only partially loaded. Then, you can decide which system components could be realized based on the existing service platforms, since there are so many out-the-box services that are perfectly suited for standard solutions.

The bottom line is, if you optimize the architecture first, then the cloud will turn out to be cheaper than a dedicated server. In order to help you with that, here’s a list of the most typical out-of-the-box steps you can take:

  • Move all of your static resources to CDN: this should take some of the load off your application servers.
  • Use in-platform infrastructure components such as load balancers, message queues, and caching services instead of simply deploying extra server instances for them.
  • Replace rarely used routines and services with serverless handlers (from AWS Lambda or Azure Functions): this way you will only pay for the computational resources they consume rather than for their idle time. These include data-batch processing operations and scheduled or background routines (message sending, etc.).
  • The same replacement can be accomplished for simple backend services with a sporadic load and/or those that are tolerant of response time.

In order to discover more services that can be replaced, you can consult cloud computing providers such as AWS and Azure, which are currently the two most popular ones.

Public cloud adoption

3. Calculate costs

Answering the notorious pricing question is incredibly difficult, as the calculations can easily sway to either side depending on what you think is the best option—on premises or the cloud.

Infrastructure costs typically include the costs of the servers, resources, equipment wear-and-tear, equipment failure and disposal, among many other things. In order to estimate your costs, you can use a tool like the AWS Simple Monthly Calculator. But don’t be surprised if your calculations come back with a three-time drop in costs. If you follow the recommendations laid out in the previous step, that’s exactly what you should get.

Let’s illustrate this with a straightforward example. Imagine you have a system that was initially designed to run on-premises. And let’s assume this is a very busy system with more than 10 TB of data, an 8,000,000+ events per day update rate, and a 30,000 events per minute throughput. You’re going to need a cloud migration strategy for this system.

For this particular example, you will be migrating in two steps: first, you will rewrite the infrastructure components to benefit from serverless services; and second, you will choose the best out-of-the-box cloud services. By optimizing and re-engineering your infrastructure, you will be able to migrate while requiring fewer languages. And, by using serverless services, you will see a dramatic cut in overall costs.

Just a few of the many perks from migrating this way will be automated scaling, simplified development and support, as well as resource optimization.

4. Protect your data

For security reasons, there are certain industries that simply can’t fully consider cloud migration: for example, banking and finance, the public sector, insurance, and healthcare. However, many startups that work with different types of sensitive data have found a way to host their systems on the cloud. Since their budgets don’t allow them to hire high-level security experts in house, instead they make deals with cloud providers for a certain level of security-focused services.

Yet businesses are favoring the cloud for more than just the guarantee of cost-cutting. Even the big-budget players are migrating, but not without first taking certain precautions. More and more highly regulated organizations, including government agencies, are beginning to see the benefits of the cloud. They are opting for a hybrid model where they only have to store segments of their data in the cloud, thereby safeguarding themselves from attacks by maintaining strict user access limits and utilizing powerful government firewalls.

Even if you have multiple security concerns, moving to the cloud is still a possibility if you and your chosen cloud provider can share and meet these responsibilities in this complicated process:

Your responsibility Cloud provider’s responsibility

Choose your cloud provider based on their security acknowledgments.

Analyze security risks and scan your architecture for loopholes.

Create an effective SLA that covers not only provider-client relationships, but also third parties and cloud brokers.

Create a case-specific threat management plan with a clear incident resolution roadmap.

Choose hybrid models where you can keep your ERP, CRM, and other mission-critical solutions with personally identifiable information secured on premises.

Counteract security risks posed by BYOD and IoT with the help of virtual machines, hypervisors, or containers for data and access management that are separate from the corporate network.

Maintain a flexible security model that keeps evolving in response to threats as they emerge.


5. Choose open source

Many businesses that are looking to adopt the cloud fear the so-called vendor lock-in, that is, being unable to leave the cloud or change their cloud provider after committing to one. Also among the biggest concerns are the interoperability and portability of applications when switching vendors, as well as the fear of having to pay even more for changing the infrastructure.

In Itransition’s history of providing cloud computing services, clients have never switched cloud providers. Though this does take into account the fact that all of these migrations were thoroughly organized and planned well before any big decisions were made. If you are still harboring any worries, choose cloud-managed services that are built on top of well-known open-source components. This way, you will be able to easily take your database to another cloud platform or an on-premises solution if need be.

In order to address lock-in concerns, you should discover what exactly is behind the provider’s brand name by researching their documentation or asking an expert. For example, here are some services from the AWS stack that are open-source and/or interoperable:

  • AWS ElastiCache: a caching service using either Redis or Memcached on the backend
  • Amazon Aurora: a database service that is compatible with MySQL
  • Amazon Redshift: a data warehouse service initially built on top of PostgreSQL that is still compatible with most SQL features

You can also choose cloud services that utilize either standard or open protocols, thereby allowing you to switch providers when necessary. Open protocols make room for equipment interoperability without having to use proprietary gateways or interfaces.

Now, if cloud services offer their own proprietary protocols alongside open protocols, then the advice is always to opt for open protocols. For example, Azure Service Bus provides its own API as well as a supporting AMQP—an open messaging protocol. By choosing an open standard, you get to remain flexible. This means you can switch your provider or even deploy your own service instance that supports the same protocol without making any significant changes in client components.

If you are still in doubt about choosing a service for your system, don’t hesitate to double-check with the vendor.

Your cloud migration strategy: the checklist

Cloud migration is a complex, multi-level process that requires a solid amount of advance planning. This guide provided an outline of the critical cloud migration steps that can help you minimize your infrastructure costs, avoid vendor lock-in, and address the common fears that come with cloud adoption.

To summarize the points above, here’s your final checklist for creating a safe, efficient and cost-effective cloud migration strategy:

  • Optimize your resource utilization
  • Adjust your architecture prior to migration
  • Choose the right cloud services
  • Carefully calculate infrastructure costs
  • Follow your security-related responsibilities
  • Opt for services built on open protocols