Migration & Deployment Options in effective migration plan to the cloud
Start course

Cloud Migration services from your on-premise environment can sometimes be very simple and other times an extremely complicated project to implement. For either scenario, there are always considerations to bear in mind when doing so. This course has been designed to highlight these topics to help you ask the right questions to aid in a successful Cloud migration.

Within this course, we look at how timing plays an important part in your project's success and why phased deployments are important. Security is also examined where we focus on a number of key questions that you should have answers to from a business perspective before your Cloud migration. One of the biggest decisions is your chosen public cloud vendor, how do you make the decision between the available vendors, what should you look for when selecting you will host your architecture, this course dives into this question to help you finalize your choice.

Understanding the correct deployment model is essential, it affects how you architect your environment and each provides different benefits, so gaining the knowledge. I look at how you can break this question down to help you with your design considerations. We also cover service readiness from your on-premise environment and how to align these to the relevant Cloud services. Your design will certainly be different from your on-premise solution, I discuss the best approach when you start to think about your solution design, some of the dos and some of the don’ts.

Once you have your design, it’s important to understand how you are actually going to migrate your services ensuring optimum availability and minimal interruption to your customer base, for example looking at Blue/Green and Canary deployments. Cloud migration allows for some great advantages within your business continuity plans, as a result, I have included a lecture to discuss various models that work great within the Cloud.

Course Objectives

By completing this course you will:

  • Have greater visibility of some of the key points of a cloud migration
  • Be able to confidently assess the requirements for your migration

Intended Audience

This course has been designed for anyone who works or operates in business management, business strategy, technical management, and technical operations.


For this course, it's assumed that you have a working knowledge of cloud computing and cloud principles.

What You Will Learn about Cloud Migration

Introduction - This provides an introduction to the trainer and covers the intended audience. We will also look at what lectures are included in the course, and what you will gain as a student from attending the course.

Time Management – How time plays an important part in successful cloud migration. We discuss the key points to allow time for and how to use it to plan a phased migration.

Security – This lecture will give you the ability to ask the key security questions to the business before performing a migration to the Cloud.

Selecting a Vendor – Here you will learn how to define the best way to assess which vendor would be a good fit for your migration based on a number of considerations.

Selecting a Cloud Deployment Model – This discusses different Cloud deployment models where you will understand the differences between them before gaining insight to the questions you should be asking before making a decision as to which to select.

Are your services ready to move to the Cloud? – This lecture will help provide you with the ability to identify if your on-premise applications and services are ready to migrate to the Cloud. There are a number of issues that could arise which we dive into.

Alignment of Services – Here we learn how to categorize your current services and how to map them across to the Cloud service.

New Design – This lecture discusses the importance of not performing a ‘lift and shift’ from on-premise into the Cloud. We look at how this design should be addressed using high availability and other Cloud characteristics.

Migration and Deployment options – Here you will learn the differences between the different deployment methods that could be used and how to tackle the questions around migrating your data into the Cloud to start with.

Optimization and Cost Management – Here we look at some of the considerations around optimization of your costs and how you can achieve greater efficiency.

Business Continuity – The Cloud offers a number of different DR methods which are discussed here and you will be able to define the differences between these and when to you one method over the other.

Proof of Concept – In this lecture, you will learn the importance of implementing a proof of concept design before your production migration.

Summary - Lastly, we will take note of some of the important factors learned from the previous lectures.

If you have thoughts or suggestions for this course, please contact Cloud Academy at


Hello, and welcome to this lecture where we'll be looking at some of the different migration and deployment options to consider.

When you're in a position to begin migrating and deploying services to the cloud, or even create new workloads from within the cloud itself, there are a few options to choose from, some of which we shall discuss in this lecture.

Start by breaking down each of your services, as they will likely require a different approach. Let's take a look at blue/green deployments.

Blue/green deployments essentially comprise of two environments. One where your current infrastructure is up and running as expected. Let's call this blue. And another, and in this case where it would be hosted within the cloud replicating your on-premise service. Let's call this green. When you are happy with the service and solution you have created within the cloud and you have performed the necessary tests and checks, et cetera, then the green configuration is ready to replace the existing blue service currently running on-premise. Depending on the service and solution, to change from the blue environment to the green could simply mean a change of DNS entry or routine change or a load balance that are pointing to a different environment. Either way, it's a sudden and immediate change onto the new green solution. If there are issues experienced then it's very quickly and easy to change back to the existing and working solution of the blue environment.

Another method of deployment but on a more gradual scale than that of blue/green where there is an immediate shift of workload is by utilizing a weighted deployment offered by some DNS services, for example route 53 in AWS. This allows you to redirect traffic between environments based off of weighting. You could assign your current working on-premise environment a weighting of eight, and the cloud environment a weighting of two. This would effectively redirect two requests out of every 10 to the new environment. This allows you to analyze the new environment for issues when it's under a low demand. If there are problems, then it would only effect 20% of your users or customers whilst the remainder would be redirected to a system working environment. If there are no issues, then you can simply increase the weighting in the favor of the cloud environment until all traffic is fed through to the new solution.

A canary deployment method is very similar to the method we just discussed. However, with canary deployments you would issue a new release to a small percentage of your fleet to see how it responded to real workloads and demands. If successful, you could then slowly roll the same release out to the rest of your fleet until the entire environment had the same release. Again, this is with the intention of if there were problems, then it would only effect a very small percentage of your infrastructure until you resolve the issues.

You may have existing virtualized servers on-premise that you would like to host within the cloud, and there are some providers that offer tools to help you migrate these existing images onto their platform and into their environment. The transition of virtualized servers into cloud instances can save you a lot of time by performing in the import rather than having to recreate an instance from scratch, as you may have to do with some of your non-virtualized servers. Also it allows you to keep the existing configurations you have made, whereby you may have hardened the instance from a security perspective.

When it comes to application deployments, there are a range of different services from cloud vendors that offer great solutions for this. How each of these services work are out of scope for this course, but be sure your developers and deployment teams are aware that it exists, which can utilize automation, continuous integration and delivery methods. For more information into these concepts, take a look at the other courses here at CloudAcademy regarding delivery of services across cloud providers for deeper, in-depth technical content on how to achieve this, such as:

Introduction to Continuous Delivery

Introduction to Continuous Integration

Advanced Deployment Techniques on AWS

As a part of this migration process, you need to define how you're going to move your data and applications into the cloud, and this opens up a few considerations.

Firstly, how will transfer your data into the cloud? You may only have a small database or a few gigabyte's worth of data that you need to move to a storage service. Initially, this could easily be managed by internet connection. However, is this method secure? Is the data confidential? Should it be encrypted when performing this data transfer? And what if you need to transfer petabytes of data instead of just a few gigabytes?

Transferring data into the cloud is typically free, but how you do it depends on what data you are transferring and how much of it.

The amount of data you need to transfer into the cloud will require different methods of importing. Cloud vendors will provide a variety of options to help you achieve this. Like I mentioned, if you only have a few gigabyte's worth of data, then you could manage this transfer yourself, either through the vendor's portal or via an API or through your internet connection. However, if this is going to take a long time and you are lucky enough to have a direct connection into the vendor's platform and onto your own environment, you could utilize his high bandwidth connection to make the transfer quicker or to move more data.

In certain circumstances, you may have terabytes' or even petabytes' worth of data that you require in the cloud. In this instance, internet connection or direct connections will simply take too long. It could take weeks or even months to transfer that amount of data, which simply isn't efficient. In these circumstances, cloud vendors offer disk shipping services where your data is loaded onto physical disks from your on-premise environment, and then it is shipped directly to the vendor's data center where your data is then imported into the cloud environment. This method is far quicker to import huge data sets. These services also offer intense security feature sets, from being able to even request an import/export request to encryption protocols. For a full set of security features, see your chosen vendor's documentation.

If you are transferring sensitive data over the internet or via a VPN connection, or even direct connection into the cloud, then it's important that you apply the correct level of encryption to your data, both when in transit and at rest.

Define your data sets when migrating and ascertain which data requires that greater level of security and encryption applied.

You may have the need for synchronization and replication to take place between your cloud environment and the services on-premise. If this is the case, assure you have adequate bandwidth for this synchronization to happen. Will you need to perform asynchronous replications or synchronous? The difference between the two being that synchronous replications writes to both the primary and secondary storage points at the same time. This, of course, requires high bandwidth capacity. Asynchronous writes to the primary first and then the secondary storage point. Asynchronous replication does not require as great a bandwidth as synchronous.

This brings us to the end of this lecture. Coming up next, we will take a look at cloud optimization and cost management.

About the Author
Learning Paths

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.