Migrating your applications to the cloud is no small task. It comes with many benefits, challenges, and changes to your organization. We’ll let some of the benefits speak for themselves. The challenges are not trivial either. Sixty two percent (62%) of initial migration projects fail or cause cost overruns because they are more difficult than expected. There are likely a lot of reasons why projects don’t succeed and we won’t solve all the world’s problems here in one post, but we can certainly share some experiences and practical ways to improve your chance of success.
The path forward. (source: unsplash.com)
Let’s look at one of the most common challenges faced: understanding your IT environment, application portfolio, and how those two components fit together.
When migrating to the cloud, it is critical to assess your applications with enough detail (business context, and technology mix) to best determine the migration strategy that you should execute for each application.
In order to make this assessment, we need to understand the current state of the application in its current environment but we also need to understand how the application fits into the business as a whole. Security, data sensitivity, value to the business. It is with all of these data points that we can do a full assessment of our applications.
So how do we do this effectively? There are two key requirements in gathering this information:
- Collecting only relevant information.
- Collecting a consistent set of information across the entire portfolio.
Why only the relevant information? This may sound obvious, of course, we should only collect the relevant information. But the real question here is;
What is the set of relevant information that is needed to make informed decisions and a proper assessment of the application for a cloud migration?
For example, will we need these pieces of information?
- the network ACLs (Access Control Lists) currently used for servers that the application runs on
- an exhaustive list of all the TCP and UDP ports currently used on all the servers
- Running processes on each server
We find that you usually do not need all of this upfront.
Capturing the right information lets us stay focused and be able to gather that crucial information, without getting distracted by months of data collection data that ultimately is not needed to make early decisions on a portfolio basis.
We find the right information to collect is a moderate level of technical information, number of servers, basic utilization (RAM, CPU), major operating systems, major technologies used, etc. On the business side, what is the value of the application to the business, does the application contain personally identifiable information, etc.
We have boiled years of migration experience down to a set of just 20 standard questions for the business, across all applications. Staying focused on the data and factors that matter specifically to cloud migrations not only stops your team from being distracted by irrelevant information but it also makes it much easier for them to quickly gather this information. If we collect everything imaginable about an application and its infrastructure upfront, for every application, down the road we end up marching towards a 6-months to a year long discovery project — but no closer to actually migrating!
It’s important that we capture the same information, from accurate sources, across our environment. Gathering technical information consistently is generally easier to execute on than simply “winging it” anyway :smiley emoji:.
We use tools, such as Tidal Tools, to gather machine stats, application technologies, and even analyze source code. Consistency here is easy if we use software that will help do it for us.
On the critical business context side, we must also be consistent. We suggest conducting interviews per application with the business owner or application owner. And of course we need to standardize the interviews to ensure we are both efficient, and making equivalent comparisons when we begin to rank our applications by migration priority. To do this we ensure we are using the same set of 20 questions across our project team. You can customize or add more questions of course, but we find application owners generally only have 15–20 minutes of attention for you, so keep that in mind.
Ok, so how can we do this?
To get down to decision making earlier in your cloud journey, use a layering of discovery approaches, from multiple sources and integrations, as well as a per application interview and assessment.
- Pull data from existing inventories, spreadsheets
- Pull data from the network directly to get the true currently state of the environment
- Pull data from hypervisors to get accurate infrastructure state
- Analyze source code to rank applications difficulty to migrate to the cloud
- Interview the business and capture relevant metrics
By taking all of this information and putting it together, we can then objectively assess an application for what it is and make informed decisions.
Generating a report of all the data we have collected and organized.
Our end result is an actionable roadmap for each of your applications to successfully migrate to cloud. This roadmap includes a unified portfolio of all our applications. Categorized based on how we will transition these applications.
By ensuring we collect the right information needed to perform the assessment we can make objective, data-driven decisions for migration on a per application basis.