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.
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?
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:
After you install the APM agent, use service maps to get a full view of 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 browser-monitored applications. New Relic pulls every node you add into the map, and you can watch the shape of your architecture emerge.
one.newrelic.com > APM > (select an application) > Service map: View a service map to see a visual overview of your system architecture and the health of entities.
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.
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.
one.newrelic.com > Infrastructure > Inventory: View the inventory page for details about your hosts and their configurations.
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.
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.
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.
one.newrelic.com > APM > (select an app) > Events > Errors: Use error analytics to determine the root cause of errors in your applications.
The Error traces 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.
Use Dashboards 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:
one.newrelic.com > Dashboards > (select a dashboard): View errors visualize issues with your applications.
Check out the best practices guide for tips on creating and utilizing dashboards. Sharing New Relic Dashboards with your teams and stakeholders is a powerful way to communicate the impact of your migration during your cloud adoption process.
Utilizing service maps, errors, 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: