Managing change in an IT environment is never easy, but it’s a major challenge if you don’t fully understand what you’re changing and why. A cloud migration is no different — the key to success is knowing both the technical details of your applications and your business drivers for a cloud-based solution.
Large, mature IT shops have formal application portfolio management processes to maintain up-to-date inventories and to capture details of the relevant technologies, relationships and constraints. For everyone else, a Cloud Application Readiness Assessment can serve as the starting point for your cloud journey.
Gathering the data, analyzing your application’s cloud suitability, determining the level of effort and plotting the path-to-cloud are all part of the assessment phase.
Although you could start with a long list of questions to answer, here are the top five topic areas we usually require in practice:
1. APPLICATION VALUE
Do I know the strategic value of my applications to my business? Asked another way: How important is each application to the organization (i.e., a dollar amount, or a scale from 1–10)?
This one piece of information will often be what you need to assign priorities, obtain project funding and make investment decisions (such as for high-availability configurations). There may also be regulatory or compliance considerations that have to be addressed.
What technologies are currently being used in this application?
Are they still supported?
We usually start from the application itself and work our way down the technology stack: programming languages, APIs, web technologies, databases, operating systems, servers and networks, etc.
Will this be a “lift and shift” migration or is redevelopment warranted? This is important for the project to know, as we may just migrate that old AIX-based Java application to JBoss, or to microservices on Docker/Kubernetes or even to a serverless architecture (with OpenFaaS, AWS Lambda or Azure Functions).
Do we already use agile methods and continuous delivery (automated deployments) for our application development?
If yes, go directly to cloud, do not pass go!
Migrating DevOps-enabled applications first can help to convince the stalwarts and nay-sayers to embrace the cloud.
If not, now is the time to develop a roadmap leading to a modernized development process.
Do I understand the impact my applications have on each other, including shared services such as monitoring, access and security?
To answer this in any dynamic enterprise environment, you need daily analyses of application dependencies and daily DNS impact assessments. The emphasis on daily is to ensure your project team can quickly react to changing scopes, but also, it’s critically important to ensure you aren’t working from outdated spreadsheets or SharePoint lists.
You may have other moving parts in your environment that also need to be tracked, such as firewall rules, administrative policies and load balancer configurations, so be sure to create scripts to bring them into your migration analysis tool daily.
There are a number of questions you can ask to determine the context of cloud adoption within your group. Here are some that we like to ask:
- What are the current policies and strategies with respect to IT in your enterprise?
- Is this your first cloud application or does a cloud support ecosystem exist already?
- Does your project management process easily adaptable to cloud-based projects?
- Are internal staff (including business managers) trained on and comfortable with cloud systems?
- Do stakeholders and users “trust” the cloud?
- Is the organization generally a technology early adopter, a fast follower or even a laggard?
Every enterprise is obviously different, and each will have unique requirements and constraints, both organizationally and technically, but even on a mountain of snowflakes: patterns have emerged. Important factors other than those listed above may need to be captured in your Cloud Application Readiness Assessment. For example, data provenance, privacy and governance issues may need to be included.
In practice though, these are our top focus areas.
Building on your Application Inventory in Step 3 of Nail Your First Step to The Cloud and performing these Cloud Application Readiness Assessments as a team is the best way to ensure your cloud migration project is a success — so give it a go!
Chief Migration Hacker, Tidal Migrations