Cloud Migration A Definitive Guide

Businesses choose to embark on a cloud migration for a number of reasons, these include cost savings, increased scalability, increased flexibility and the opportunity to capitalise on the latest technologies

The team at Servana have been an absolute pleasure to work with. They are incredibly knowledgable and responsive. Their inclusive approach has empowered our engineering team, while allowing them to retain their autonomy. I’d have no hesitation recommending them.

Adam Hoyle, Lead IOS Engineer, LVMH Digital

The main drivers for a cloud migration

Businesses choose to embark on a cloud migration for a number of reasons, these include cost savings, increased scalability, increased flexibility and the opportunity to capitalise on the latest technologies.

While cost is a popular incentive for moving to the cloud, it is more often a combination of factors that drives the decision to migrate.

Developing cloud native applications typically allows much greater on-demand scalability priced on as needed model. This scalability and dynamic pricing model presents many benefits for businesses and organisations where their software and digital business operations present a competitive advantage. At the same time migrating legacy applications is typically based on infrastructure cost optimisation benefits.

Other common incentives of moving to the cloud include increased redundancy reducing downtime and wider global coverage offered by cloud providers.

The top eight business drivers for cloud migrations according to AWS are:

  1. Cost reduction
  2. Agility and staff productivity
  3. Improved security & operational resilience
  4. Hardware / software end-of-life
  5. Data center consolidation
  6. Digital transformation
  7. Going global quickly, mergers and acquisitions (M&A)
  8. New technologies (AI, ML & IoT)

What is a cloud migration

Cloud migration is the process of moving one or more software applications or digital business processes to the cloud. A cloud migration shares some similarities with a physical move, the main differences are that it involves moving data, applications and IT processes from traditional data centres, to cloud based digital centres.

More often than not a cloud migration is used when moving from a legacy data centre infrastructure or on-premises infrastructure to the cloud. However, it can also cover the migration of applications from one cloud provider to another, with these cloud to cloud migrations are likely to become common as the market matures.

The most common forms of cloud migration are either a lift and shift approach, where applications are migrated to the cloud largely as they are hosted and delivered on their legacy infrastructure. The other common approach is to build a cloud native version of the application that will make the most of the benefits that the cloud offers, both in terms of scaling efficiencies and cost optimisation.

What is involved in a cloud migration

The first step in the migration process is to create a business case and vision for the cloud migration. In the case of larger applications and organisations, a cloud migration will involve a number of moving parts and stakeholders, clarity on the business case and vision for the migration helps to keep everyone aligned.

When the business case and vision are accepted and approved, the next step will be to select the cloud migration strategy and platform or platforms that best suit the migration requirements.

For existing applications that are planning to be moved on a lift and shift basis, researching and understanding licensing issues will be an important factor.

When the preliminary preparation factors are all covered off, the focus will shift to the job of the migration itself. This will look different depending on the selected strategy. When the migration of the applications has been completed, efforts will turn to migrating users to the new infrastructure.

AWS has defined a simple 3 step process for cloud migrations that provides a good high level summary.

  • Assess: At the start of the journey, the organisation’s current readiness for operating in the cloud is assessed. Most importantly, identification of the desired business outcomes and developing the business case for migration should be worked on.

  • Mobilize: As part of the mobilize phase, a migration plan is created and the business case is refined. Gaps in the organization’s readiness that were uncovered in the assess phase will be addressed, with a focus on building the baseline environment (the “landing zone”), to drive operational readiness, and the development of cloud skills.

  • Migrate and Modernize: During the migrate and modernize phase, each application is designed, migrated, and validated.

What makes a successful cloud migration

With the 2017 Forrester Consulting study finding that fewer than 40% of organisations meet or exceed goals related to cloud migration and run costs, it is important to understand what makes a successful cloud migration.

As discussed above it is important to have a clear vision and business case in place for the cloud migration, with all stakeholders aligned behind the vision. Having a clear vision in place makes selecting the most appropriate strategy simpler.

Cost typically plays an important role in any cloud migration. It is important to understand both the shorter term costs and the longer term model behind the migration. One of the key benefits of a cloud migration is future scalability. When this is the case for a migration it will be important to understand where higher short term costs can deliver much lower future costs as the use of the application scales. Making these types of decisions will often require experienced help to ensure that the different scenarios are well understood and supported by accurate cost projections. Accurate financial planning and modeling is a critical factor of successful cloud migrations.

Due diligence covering everything from cost, licensing, and future planning prior to commencing on a large cloud migration investment is important and lays the foundations for a successful cloud migration. Due diligence and planning often focus on the technical and financial considerations, however people tend to be the most critical element and the most regularly overlooked aspects of a successful migration. Therefore, planning the people and communication strategy for a cloud migration can make or break its success. A well communicated vision, employee engagement and comprehensive training will all be included in a successful cloud migration.

The risks associated with cloud migration

With the obvious benefits that a cloud migration brings, it can be easy to discount the risks. Understanding the risks as part of a cloud migration due diligence process will prompt important questions to be asked that will ultimately increase the likely success of the migration. At best unidentified risks will cause delays and at worst they can completely derail a migration project.

Common risks for cloud migrations include:

  • Architectural complexity
  • Poor application selection
  • Application dependencies
  • Data integrity
  • Interoperability
  • Unwanted latency
  • Security considerations

We’ll be covering these risks in more detail in a dedicated article. At this stage it is important to run through each of the points as part of the due diligence process to understand their potential impact on the migration.

The different types of cloud migration

As with any approach to technology cloud migrations come in various different forms. Understanding the available approaches support the selection of the most appropriate approach to match the requirements of the applications and business models.

Gartner’s 5Rs model for cloud migration strategies is a useful synopsis of the available approaches. When migrating a single application it is likely that a single approach will be opted for, however for migrations involving multiple applications there may be a case for using multiple strategies to match the needs of each application.

Rehost

Also known as “lift and shift”, rehosting deploys the existing application and data on to cloud servers. This approach is most suitable in cases where time is of the essence and there is little need for future scalability.

Refactor

Similar to rehosting, but with some development involved this approach is also called replatforming or “lift, tinker and shift”. This approach involves optimisation of the code base for the cloud and employing a platform-as-a-services (PaaS) model. Applications will retain their core architecture, but will use cloud-based tools and frameworks to allow the application to take advantage of the cloud’s potential.

Revise

Revising takes refactoring a stage further, by making both architectural and code changes before migrating to the cloud. This approach is chosen when the goal is for an existing application to take full advantage of cloud services. As this approach involves major changes to the architecture and the code an experienced team will be needed to deliver it.

Rebuild

As the name implies, this approach involves rebuilding the application from the ground up as cloud native. Rebuilding is most appropriate when there is consensus that the existing application does not suit future business needs and competitive advantage has been identified from the benefits that a cloud native architecture and code base offers. It may be surprising to learn that with the right team in place, this approach can offer both time and cost savings in comparison with other options.

Replace

Typically the replace approach will involve the migration to a third-party, vendor-based application from an existing custom or legacy application. With this approach data will be migrated to the new application, however everything else will be new. It is also likely that customisation and integration work will be required as part of this approach.

Things to consider when planning a cloud migration

Going through this page, provides a relatively comprehensive overview of the various aspects to think about when planning a cloud migration. As a summary for the more detailed planning of a cloud migration, the list below goes into more detail.

  • Organising your information
  • Employee engagement
  • Training
  • Ongoing evaluation
  • Level of cloud integration
  • Cloud KPIs
  • Performance baselines

Which apps to migrate and which to leave native

  1. Compliance
  2. Timetables
  3. Stakeholder communication

Building out a plan for each of the points above is a good starting point when planning a cloud migration.

Cloud deployment models

There are three main service models that can be deployed to, which will depend on the applications and use cases to be migrated. In many instances a combination of models may be used. These models are:

IaaS: Infrastructure as a Service (e.g AWS, Azure, Google Cloud Platform) PaaS: Platform as a Service (e.g. AWS Elastic Beanstalk, Heroku, Google App Engine) SaaS: (e.g. Google G Suite, MS Office 365, Salesforce)

IaaS: Infrastructure as a Service

This is the common choice for organisations looking to build their own platform, that want to take advantage of the benefits of cloud hosting and technologies without the expense or limitations of the 3rd party platform as a service options. Opting for an IaaS solution provides complete flexibility with the build and configuration of the environment, allowing the creation of a platform environment that exactly meets the requirements of the applications it will host.

PaaS: Platform as a Service

PaaS platforms provide a full and largely invisible infrastructure environment, making them a popular choice for fast deployments and proof-of-concepts, or for applications where the organisation prefers to outsource the platform to the cloud provider. As PaaS are preconfigured with the runtime software for the chosen technology stack, this leaves only the application specific code under the management of the organisation.

SaaS: Software as a Service

Is a delivery model for the licensing and delivery of software. In this instance rather than being responsible for the hosting and management of the software, the organisation pays for a complete solution on a license model, often priced on a per user basis.

Public, Private or Hybrid Cloud

Depending on the needs of the applications to be migrated, there will also be the question of public, private or hybrid cloud to consider.

Public cloud

Is where the hosting is entirely provided by one or more public cloud providers include AWS, Azure or Google Cloud Platform. This is favoured by organisations that aren’t processing highly sensitive data and want to make the most of the high degree of flexibility and reduced operating costs that the public cloud providers offer.

Private cloud

For organisation and applications that process highly sensitive or confidential data, a private cloud may be required to give the flexibility of the cloud while delivering the security of the private infrastructure. Private clouds can be created using platforms such as VMware’s vCloud or OpenStack. These can either be run on a completely self managed infrastructure, or via a hosting provider with private cloud.

Hybrid cloud

A hybrid cloud can provide the benefits of both public and private clouds. This is suitable for either multi application environments or where the different aspects of an application can make use of different environments. Where highly sensitive or confidential data is being processed or stored a private cloud environment can be used. For either applications or parts of the application that need a high degree of scalability, but that are not involved in the processing or storage of the sensitive or confidential data the public cloud can be used. Multi-cloud and hybrid clouds tend to be a favoured solution for enterprise level organisations that have a wider variety of applications and use cases that need to be accommodated.

How to approach a cloud migration strategy

When approaching a cloud migration strategy it’s important to consider the migration goals, success criteria, timelines and likely challenges.

The strategy will need to consider which applications will be moved to the cloud and which will be kept on-premise, and which new capabilities and applications that will be added following the initial migration. As well as planning which applications will be migrated, the specific use cases for these migrated applications will want to be covered upfront. Different use cases from mission-critical applications to software development projects will need to be treated differently.

As well as covering due diligence, finances, security and types of cloud most suitable for each application, the migration strategy will also address the ongoing management of the environment. As we have discussed above building a communication strategy to keep all stakeholders up-to-date with progress and create clarity on roles and responsibility, is an important to include in when planning a migration.

When the strategy has been defined and agreed more detailed granular plans can be developed for the migration. These plans will include roadmaps, scheduling, resource planning, metrics, migration tools and details on the communication plan for all involved parties and stakeholders.

As a minimum the following six components should be included in the plans.

  1. Applications being migrated
  2. Migration priorities and order
  3. Timetable
  4. Definition of roles and responsibilities
  5. Performance metrics
  6. Stakeholder communication

Cloud migration security

An important first step when looking at cloud migration security is to understand the current security baseline. This involves understanding which elements of the current security practices and management are applicable for a new cloud based infrastructure and identification of the gaps that will need to be addressed .

Understanding compliance and regulatory requirements are both highly important considerations in cloud migration security. Defining data encryption, data storage and data transfer policies will all be important, as will the suitable cloud types. In some cases these will need legal review to ensure compliance of the new cloud environment.

Insufficiently planned security can lead to performance bottlenecks, which makes modelling and understanding bandwidth requirements for data flows that are subject to additional security processing, to ensure that performance is not compromised.

High availability and disaster recovery are both benefits that can be delivered by a successful cloud migration, however they should also be considered as part of the cloud migration security planning. If dynamic scaling solutions are planned to be used, security will need to taken into account as part of this to ensure that protection is maintained while making the most of highly dynamic cloud services.

In legacy infrastructure, security was often applied retrospectively as a separate layer to the base infrastructure or application code. This may also need to be the case in the instance of rehosting or refactoring legacy application. However, when the migration involves the development of cloud native applications, security will often be built into the supporting infrastructure and application code base. To deliver this effectively an experienced partner with a strong track record in this area will be beneficial, both in time saved and delivery of more scalable solutions.

When is a multi cloud strategy appropriate?

Multi-cloud strategies tend to be considered when a high level of redundancy is required, or if a hybrid cloud approach is called for due to compliance or latency concerns. They are also useful when an organisation has a range of applications to be migrated, each of which call for specific requirements that are better catered for by different cloud providers.

There are many benefits associated with multi-cloud solutions and with the right platform and tools in place need not add unnecessary complexity. Multi-cloud strategies are more common in enterprise level cloud migrations where a variety of applications is common. When planned correctly the need for multi-cloud solutions should not hold back a cloud migration.

Things to consider when choosing a cloud migration partner

When looking for a cloud migration partner it is important to ask whether it is only for strategic consultancy, or if a partner that can provide hands on delivery support is a better match for the migration. The most cost effective cloud migrations balance strategy and delivery, meaning that finding a capable delivery partner is as important as defining the strategy. Important questions to ask a prospective partner include:

What are their estimated timeframes for the cloud migration

  1. How will they work with your team to ensure successful migration and ongoing management
  2. How will they support with stakeholder communications
  3. What is their track record with similar migrations? Were the migrations delivered on time and on budget?
  4. How will they support with the required resourcing of the migration project