Storage & Data Transfer
App migration checklist: How to decide what to move to cloud first
[Editor’s note: This post originally appeared on the Velostrata blog. Velostrata has since come into the fold at Google Cloud, and we’re pleased to now bring you their seasoned perspective on managing your cloud migration journey. There’s more here on how Velostrata’s accelerated migration technology works.]
When you’re considering a cloud migration, you’re likely considering moving virtual machines (VMs) that may have been created over many years, by many teams, to support a huge range of applications. Moving these systems without breaking any team’s essential applications may seem daunting. It’ll require some knowledge of the applications in question to classify those apps before setting your migration plan.
In a recent blog post, we talked about the four tiers you can use to help organize how you migrate your applications to the public cloud. We had a number of requests from that post, asking us to go a bit deeper on two important considerations: the application’s status and the application’s integrations and dependencies. In this post, we’ve put together a few more app-related questions that IT should be asking, alongside some of the likely answers. Of course, every enterprise and cloud migration is different. But the bold answers (and guidance notes) are likely to yield a stronger candidate for migration than others.
If you find yourself in a situation where you don’t know (and cannot obtain) the answers, that might be a sign that this app isn’t a good candidate for migration. Sometimes knowing what you don’t know is a helpful gauge when deciding on a next step.
What’s the application status?
Here, we’re looking at all the components that factor into an application’s status within your organization’s landscape. These are some of the most important questions to evaluate.
What is the criticality of this application?
For example: How many users depend on it? What is the downtime sensitivity?
- Tier 1 (highly important, 24x7 mission-critical)
- Tier 2 (moderately important)
- Tier 3 (low importance, dev/test)
What is the production level of this application?
- In production
- In staging
- In development
- In testing
What are the data considerations for this app?
- Stateful data
- Stateless data
- Other systems reliant on this data set
How was this application developed?
- Third-party purchase from major vendor (still in business?)
- Third-party purchase from minor vendor (still in business?)
- Written in-house (author still at company?)
- Written by a partner (still in business? still a partner?)
What are this application’s operational standards?
For example: what organizational, business, or technological considerations exist?
- Defined maintenance windows?
- Defined SLAs?
- Accessed globally or regionally?
- Deployed manually or via automation?
Guidance: Avoiding sensitive apps is often most desirable for a first migration.
What are the specific compliance or regulatory requirements?
- ISO 27000?
- EU Personal Data Protection?
Guidance: The fewer compliance or regulatory requirements, the better for a first migration.
What kind of documentation is readily available, and is it up-to-date?
- System diagram?
- Network diagram?
- Data flow diagram?
- Build/deploy docs?
- Ongoing maintenance docs?
Guidance: The more docs that exist, the better!
What are the migration implications?
- Easy to lift-and-shift as-is into the cloud
- May require some refactoring
- Need to modernize before migrating
- Can wait to modernize after migrating
- Need to rewrite in the cloud from scratch
Any business considerations?
- Is this system used year-round or seasonally?
- Is there a supportive line-of-business owner?
- Does this app support an edge case or general use case?
- Is this app managed by a central IT team or another team?
- Would a downtime window be acceptable for this app?
Guidance: having more supportive owners and stakeholders is always crucial to the success of initial migrations.
What are the app integrations and dependencies?
Here, we’re going one step deeper, looking at how this application ties into all your other applications and workloads. This is hugely important, since you might want to group applications into the same migration sprint if they’re coupled together tightly through integrations or dependencies.
What are the interdependent applications?
- Custom or in-house apps?
Guidance: Fewer dependencies are ideal.
What are the interdependent workflows?
Guidance: Fewer dependencies are ideal.
Where is the database and storage located?
- Separate servers?
- Co-located servers?
- Is storage block- or file-level?
Any other services to analyze?
- Web services?
- RPC used either inbound or outbound?
- Backup services (and locations) in effect?
Guidance: None of these are more or less ideal, simply something to be aware of.
Other questions to ask:
- Unique dependencies?
- Manual processes required?
- Synchronized downtime/uptime (with other apps)?
Guidance: The goal for first apps to migrate is to minimize complexity and labor.
Taking the time to truly understand your applications is a big part of success when migrating to the cloud. Picking the right applications to migrate first is key to building success and confidence within your organization in your cloud and migration strategy. Analyzing these details should help you and your IT team pick the right order for migrating your applications, which will be tantamount to achieving migration success
Find out more here about how cloud migration works with Velostrata.