When you are planning a migration to the cloud, it is important to analyze your current on-premise architecture and identify the scope of your migration. When you have a full understanding of your applications, your hosts, and their architecture, you reduce the possibility of missing dependencies during your migration.
Here are the seven steps covered in this tutorial:
1. Identify applications and components
First, you need to determine the level of instrumentation that is possible or allowed within your organization. The deeper you instrument, the more visibility you gain into your applications. Then, address the scope of your cloud migration by answering the following questions and keeping track of your answers:
- What applications do I need to include in the migration?
- What are the dependencies of each application?
- What are the underlying services/inventory supporting these applications?
2. Install New Relic agents
Based on your answers when you determined the scope of your cloud migration, verify that the applications that you want to migrate are compatible with New Relic products and install the agents:
- >New Relic APM
New Relic APM delivers data about your application's performance, providing information about app availability and external services so you can visualize your application dependencies.
Confirm that your system meets the requirements for the APM agents that you want to install, and then install the APM agent on your application stack. Steps for installing APM agents vary based on language.
- New Relic Infrastructure
New Relic Infrastructure provides flexible, dynamic server monitoring so you can inventory your hosts and their configuration settings.
- Infrastructure on-host integrations
3. Visualize application dependencies with APM
After you install the APM agent, use Service Maps to get a full view into your application’s architecture. Service Maps allow you to identify any connections from applications to external services, web services, databases, or APIs.
After creating a Service Map for the application that has dependencies that you want to explore, add an application node on the map. Then, begin to add connections to the map including databases, external services, third-party APIs, and even New Relic Browser-monitored applications. New Relic pulls every node you add into the map, and you can watch the shape of your architecture emerge.
Based on the visibility into internal and external dependencies that the Service Map provides, you can create a migration plan that includes all aspects of an application’s ecosystem.
4. Inventory underlining instances with Infrastructure
New Relic Infrastructure's Inventory page gives you visibility into the software packages installed on your servers. Essentially, the Inventory page displays detailed information about a system’s per-host configuration, including details about system modules, configuration files, metadata, packages, services, and user sessions. The Inventory page provides a real-time, filterable, searchable view into each host’s configuration.
The Inventory page not only provides you with the list of packages installed but also provides version information as well. Use this version information to know which packages to upgrade and which packages to replicate for your cloud migration. It also helps you track the dependencies between the software packages and configuration files.
You can also use the Inventory page to get a sense of what software or packages you no longer need, which is a great way to “clean up” your servers before you migrate to the cloud.
5. Uncover unknown applications and components
Since anything can happen during an application’s lifecycle, like an application changing ownership, you may come across applications or component dependencies that you did not know about. If you discover any unknown dependencies, assess their relationship to other applications and components in your infrastructure to determine if they should be pulled into your migration plan.
6. Resolve errors or other issues
After you instrument your applications, APM may uncover errors or issues with your current on-prem applications. Use APM error analytics to determine the root cause of any errors or issues in your applications.
The Error trace table includes specific stack trace details, such as associated host, user, framework code, and custom attributes to help you identify the root cause of an error.
For more detailed information about the New Relic Error Analytics dashboard, check out New Relic University’s Error Analytics Dashboard tutorial.
7. Create Insights dashboards
Use Insights to gain visibility into the average response times, the top transactions, the associated average duration, and the overall CPU usage for your instrumented application. Drill down into individual applications to see your top processes and the CPU percent for each process.
You can also view an error analysis for a set of instrumented applications:
Check out the Insights best practices guide for tips on creating and utilizing Insights dashboards. Sharing New Relic Insights dashboards with your teams and stakeholders is a powerful way to communicate the impact of your migration during your cloud adoption process.
For more detailed information on writing advanced queries using NRQL, check out New Relic University’s Advanced Query tutorial series.
Expert tip for reporting custom data
Utilizing Service Maps, error analytics, and inventory management gives you a critical look at the architecture of your applications and their dependencies. If you find that you need data that is not available by default, New Relic products allow you to capture custom data:
For custom data tutorials with APM, see New Relic University's Custom APM data tutorial series.
For more help
Explore the New Relic Platform.