The first step in your cloud migration project is discovering what you have. You can begin with what you know, a subnet or a hypervisor cluster for example, and then discover the current state of the rest of your infrastructure from there. You likely already have a set of design specifications and project documentation for your applications, however over time, the state of your applications can change without ever being reflected in any of the documentation. Sound familiar?
This documentation drift will cause issues when you are planning a migration for your applications based solely on outdated documentation.
You likely already roughly know which applications you have and logically where they are. If you manage certificates, reverse proxies or load balancers, you most likely have at least a good list of the URLs for these applications. With just this information, we can begin to collect more details very quickly, helping to verify what the current state is and give you the data you need to plan a cloud migration.
“With the Tidal Tools Analyze command, you can quickly see which technologies your applications are using.”
Let’s get started, try this command:
tidal analyze https://tidalmigrations.com
Here we can see that this website is using a few web libraries and is hosted on S3:
This makes sense, it’s our serverless public website. Ok — in this example we don’t need to move to the cloud, it’s already there! We’ll cross this one off our list.
More than likely, you have multiple applications that you are looking to interrogate. To make it easy, you can simply save a list of URLs in a text file and use that as input. And because we will want to use this data later, we can easily output and save the data as JSON:
tidal analyze apps.txt –type json
Saving this data to JSON lets us easily upload the data and save it into Tidal Migrations web application and let your entire team benefit from the analysis.
Having the ability to easily get this information in the beginning of your project drastically improves the success of migration projects. Being able to quickly determine the current technologies of your applications instead of relying on outdated documentation and countless hours of interviews (yuk!) gives your entire team more knowledge about the requirements. This improves everyone’s ability to plan, spend more time on the tricky applications and keep the migration on track.
When you are ready to give it a try you can install tidal tools on a Unix based system (macOS or Linux) with:
curl https://get.tidal.sh/unix | bash
NB: If you are curious what is being executed here you can easily read the installation script!
And if you are using Windows you can download an installer directly.
Go ahead and give it a try.
- Philip Rees
Migration Hacker, Tidal Migrations
For more thoughts on planning a cloud migration, see Nail Your First Step to The Cloud.