Welcome!

Microservices Expo Authors: Liz McMillan, Sematext Blog, Pat Romanski, Elizabeth White, Carmen Gonzalez

Related Topics: @CloudExpo, Microservices Expo, Containers Expo Blog, Agile Computing, @BigDataExpo, SDN Journal

@CloudExpo: Article

Top Three Best Practices for Migrating to the Cloud

Planning your migration strategy

As an Infrastructure-as-a-Service provider, Bluelock sees a lot of migration of applications. Migration is occurring from physical servers to cloud, from private cloud to public cloud and back to private cloud from public cloud.

Migration can be tricky and a poor migration strategy can be responsible for costly time delays, data loss and other roadblocks on your way to successfully modernizing your infrastructure.

While each scenario is different, I'd like to identify three key best practices that will help your team create a solid, successful plan for migrating your application.

Even before you begin to move your application, there's a lot of best practice that goes into choosing which application to migrate to the cloud. Regardless of whether you are migrating that app to a public cloud or a private cloud, you should assess the app for data gravity and connectivity of the application.

Best Practice: Understand the Gravity of Your Data
Data Gravity is a concept first discussed by Dave McCrory in 2010. It's the idea that data has weight and the bigger the data is, the harder it is to move. The bigger the data, the more things are going to stick to it.

McCrory states in his original blog post about Data Gravity, "As data accumulates (builds mass) there is a greater likelihood that additional Services and Applications will be attracted to this data."

McCrory goes on to explain that large data can be virtually impossible to move because of latency and throughput issues that develop upon movement. On his website, datagravity.org, McCrory explains that to increase the portability of an application it should have a lower data gravity.

When moving tier one applications from a physical datacenter to a private or public cloud, we have to take data gravity into account because it will impact the migration.

As you are talking about migrating an application, you can think of the full stack of components as a single VM or a group of VMs that are a vApp (see Figure 1).

Think of a VM with an OS. If we were to migrate that entire VM to the public cloud, we're copying anywhere from 8-20 GB of data with that OS for no reason at all as the cloud you're migrating the app to might already have the OS available to it.

Rather than transferring the data for the OS, whenever possible use metadata instead to describe what OS you want and the configurations using a template or an image on the public or private cloud side. The same metadata concept can be applied to middleware instances too.

What we're left with is our actual data and what the app is. The app is static and static info is easy to move because you can copy it once. There's no need to replicate.

The most difficult part of the migration is the data, however. There's no easy way to shrink down the data, so you need to evaluate the weight of the data in the app you're considering migrating.

Especially if you're a high transaction company, or if it's a high transaction application, as that would be a lot of data to replicate. The data of the app constitutes 99% of the data gravity of the application.

Part of the best practice of understanding the gravity of your application is to understand the ramifications of moving a tier one application with a large amount of data and establish where the best home for that application is.

Another aspect that you should evaluate as part of your pre-migration plan is to determine how connected your VM or vApp is to other apps.

If you have a lot of applications tightly coupled to the application you want to migrate, the cloud might not be an option for that application, or at least only that application.

Best Practice: How Connected Is Your App?
Beyond what applications are connected to the app you want to migrate, the important aspect to evaluate is how coupled the application in question is to other applications, and how tight or loose of a couple they are.

Does your application have data that other applications need to access quickly? If so, a move all or nothing philosophy is your best option.

If you have an application that is tightly coupled to two or three others, you may be able to move them all to the cloud together. Because they are still tightly coupled, you won't experience the latency that would occur if your cloud-hosted application needed to access a physical server to get the data it needs to run.

A step beyond identifying how many apps are tied to the application you wish to migrate, work next to identifying which of those applications will be sensitive to latency problems.

How sensitive it can be should be a consideration of whether you should migrate the app or not.

To be able to check this best practice off your list, be very sure you understand everything your application touches so you won't be surprised later, post-migration.

The final part gets down to the nitty gritty... choosing the correct migration strategy.

Best Practice: Pick Your Migration Strategy.
Your best-fit migration strategy will be a function of the features of the application.

Option one is data migration of just the data. This is typically the correct choice for tier 1 and 2 applications.

Let's say you are able to migrate your VM or vApp. But, it's constantly changing and if it's a tier one application, we may not be able to afford a lot of downtime. Typically, we'll have to invoke some sort of replication.

Replication is an entirely separate subject, but when I think of replication, I think of the size of the data, the rate of change and the bandwidth between our source and target.

Without going into too many details of replication, let's assume you use some sort of SQL or MySQL program for database replication. What you've done is set up your new cloud to have this OS provision. You've got a MySQL provision and the two SQLs are talking to each other and replicating the data.

Option two for migrating your application is machine replication. This is best for tier 1 and tier 2 applications that can afford some downtime. It involves stack migration. There is less configuring in this scenario, but there is more data migrating.

Option two is best if you're moving to an internal private cloud. You will be able to replicate the entire stack because you have plenty of bandwidth to move stuff around.

It's important to note the portability of VMware, because VMware allows you to package the entire VM/vApp, the entire stack, into an OVF. The OVF can then be transported anywhere if you're already on a virtualized physical server.

Option three involves cold P2V migration. You typically see this for tier 2 and 3 apps that are not already virtualized.

The concept involves taking a physical app and virtualizing it. VMware has a VMware converter that does P2V, and it's very easy to go from a physical to a private cloud using P2V. It is, however, an entirely different set of best practices.

In option three, there is no replication. Those apps can also be shipped off to a public cloud provider to run in the public cloud after being virtualized.

A final path some companies take is to treat it as a Disaster Recovery (DR) scenario. Setting up something to basically do replication from one machine to another. Replicate the entire stack from point a to point b, and then click the failover button.

Each application, and migration strategy, is unique, so there is no detailed instruction manual that would work for everyone. The best strategy for some applications may be to stay put, especially if you find that steps one and two of the pre-migration evaluation is closely connected or especially weighty. To truly enjoy the benefits of cloud, you want the right application running that you can leverage to the fullest extent.

When planning your migration strategy, ask for help from those who are familiar with similar use cases and plan and evaluate extensively to save yourself a lot of time, money and headaches that come from rushing into a migration without a strategy.

More Stories By Jake Robinson

Jake Robinson is a Solutions Architect at Bluelock. He is a VCP and former CISSP and a VMware vExpert. Jake’s specialties are in infrastructure automation, virtualization, cloud computing, and security

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@MicroservicesExpo Stories
In IT, we sometimes coin terms for things before we know exactly what they are and how they’ll be used. The resulting terms may capture a common set of aspirations and goals – as “cloud” did broadly for on-demand, self-service, and flexible computing. But such a term can also lump together diverse and even competing practices, technologies, and priorities to the point where important distinctions are glossed over and lost.
Information technology is an industry that has always experienced change, and the dramatic change sweeping across the industry today could not be truthfully described as the first time we've seen such widespread change impacting customer investments. However, the rate of the change, and the potential outcomes from today's digital transformation has the distinct potential to separate the industry into two camps: Organizations that see the change coming, embrace it, and successful leverage it; and...
Monitoring of Docker environments is challenging. Why? Because each container typically runs a single process, has its own environment, utilizes virtual networks, or has various methods of managing storage. Traditional monitoring solutions take metrics from each server and applications they run. These servers and applications running on them are typically very static, with very long uptimes. Docker deployments are different: a set of containers may run many applications, all sharing the resource...
Join Impiger for their featured webinar: ‘Cloud Computing: A Roadmap to Modern Software Delivery’ on November 10, 2016, at 12:00 pm CST. Very few companies have not experienced some impact to their IT delivery due to the evolution of cloud computing. This webinar is not about deciding whether you should entertain moving some or all of your IT to the cloud, but rather, a detailed look under the hood to help IT professionals understand how cloud adoption has evolved and what trends will impact th...
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his session at @DevOpsSummit 19th Cloud Expo, Eric Robertson, General Manager at CollabNet, showed how customers are able to achieve a level of transparency that enables everyone fro...
Internet of @ThingsExpo, taking place June 6-8, 2017 at the Javits Center in New York City, New York, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @ThingsExpo New York Call for Papers is now open.
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
"Dice has been around for the last 20 years. We have been helping tech professionals find new jobs and career opportunities," explained Manish Dixit, VP of Product and Engineering at Dice, in this SYS-CON.tv interview at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
Rapid innovation, changing business landscapes, and new IT demands force businesses to make changes quickly. In the eyes of many, containers are at the brink of becoming a pervasive technology in enterprise IT to accelerate application delivery. In this presentation, attendees learned about the: The transformation of IT to a DevOps, microservices, and container-based architecture What are containers and how DevOps practices can operate in a container-based environment A demonstration of how ...
Application transformation and DevOps practices are two sides of the same coin. Enterprises that want to capture value faster, need to deliver value faster – time value of money principle. To do that enterprises need to build cloud-native apps as microservices by empowering teams to build, ship, and run in production. In his session at @DevOpsSummit at 19th Cloud Expo, Neil Gehani, senior product manager at HPE, discussed what every business should plan for how to structure their teams to delive...
As we enter the final week before the 19th International Cloud Expo | @ThingsExpo in Santa Clara, CA, it's time for me to reflect on six big topics that will be important during the show. Hybrid Cloud This general-purpose term seems to provide a comfort zone for many enterprise IT managers. It sounds reassuring to be able to work with one of the major public-cloud providers like AWS or Microsoft Azure while still maintaining an on-site presence.
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his general session at @DevOpsSummit at 19th Cloud Expo, Phil Hombledal, Solution Architect at CollabNet, discussed how customers are able to achieve a level of transparency that e...
Much of the value of DevOps comes from a (renewed) focus on measurement, sharing, and continuous feedback loops. In increasingly complex DevOps workflows and environments, and especially in larger, regulated, or more crystallized organizations, these core concepts become even more critical. In his session at @DevOpsSummit at 18th Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, showed how, by focusing on 'metrics that matter,' you can provide objective, transparent, and meaningful f...
Between 2005 and 2020, data volumes will grow by a factor of 300 – enough data to stack CDs from the earth to the moon 162 times. This has come to be known as the ‘big data’ phenomenon. Unfortunately, traditional approaches to handling, storing and analyzing data aren’t adequate at this scale: they’re too costly, slow and physically cumbersome to keep up. Fortunately, in response a new breed of technology has emerged that is cheaper, faster and more scalable. Yet, in meeting these new needs they...
@DevOpsSummit taking place June 6-8, 2017 at Javits Center, New York City, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @DevOpsSummit at Cloud Expo New York Call for Papers is now open.
Logs are continuous digital records of events generated by all components of your software stack – and they’re everywhere – your networks, servers, applications, containers and cloud infrastructure just to name a few. The data logs provide are like an X-ray for your IT infrastructure. Without logs, this lack of visibility creates operational challenges for managing modern applications that drive today’s digital businesses.
Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more business becomes digital the more stakeholders are interested in this data including how it relates to business. Some of these people have never used a monitoring tool before. They have a question on their mind like “How is my application doing” but no id...
Keeping pace with advancements in software delivery processes and tooling is taxing even for the most proficient organizations. Point tools, platforms, open source and the increasing adoption of private and public cloud services requires strong engineering rigor – all in the face of developer demands to use the tools of choice. As Agile has settled in as a mainstream practice, now DevOps has emerged as the next wave to improve software delivery speed and output. To make DevOps work, organization...
In his session at 19th Cloud Expo, Claude Remillard, Principal Program Manager in Developer Division at Microsoft, contrasted how his team used config as code and immutable patterns for continuous delivery of microservices and apps to the cloud. He showed how the immutable patterns helps developers do away with most of the complexity of config as code-enabling scenarios such as rollback, zero downtime upgrades with far greater simplicity. He also demoed building immutable pipelines in the cloud ...