Prioritize migration order

Before you migrate any applications to the cloud, verify that the applications and their underlying server infrastructures are candidates for migration. When you instrument every layer of an application’s architecture, you get end-to-end visibility and are able to identify additional cloud migration risks or dependencies. Such analysis provides a more focused cloud migration priority list.

1. Identify components

Create a list all of applications, services, and their underlying server infrastructures in your application portfolio that you want to migrate to the cloud.

2. Instrument applications

Before you install any New Relic agents, review the compatibility and requirements for New Relic agents. Then, install the agents in your environment.

After installing the agents, review the architecture of all the applications that you instrumented with an agent. Take note of the host for each tier of the application stack (database, application, web server, etc.), as you will install Infrastructure agents on each of those hosts in the next step.

3. Instrument hosts

After reviewing the requirements for New Relic Infrastructure, follow the instructions for installing the Infrastructure agent on all hosts in your application stack:

Also, in order to report data to New Relic, Infrastructure agents must have outbound access to certain domains and ports. If your system requires a proxy to connect to these domains, use the proxy setting.

To gain extended visibility into applications that your code depends on, deploy on-host integrations. New Relic supports several commonly used application components, such as MySQL, Apache, and NGINX.

If you discover any applications, dependencies, or server infrastructure that you did not include in your list of components, instrument them with New Relic by installing the appropriate agents before moving forward.

4. Identify and track issues

After installing, New Relic APM and Browser show you error events, error metrics, and detailed error traces for your applications. If an error or unhandled exception happens, the data appears on the Browser JavaScript errors page and the APM Error analytics page. From these pages, you can quickly troubleshoot runtime errors. Then, further analyze errors by grouping them according to attributes, by filtering them, or by searching for keywords in the event data.

Each unhandled exception generates a transaction error event in Insights, and the dashboards are updated in real time. Event data is a record of a single event at a particular moment in time and consists of default attributes, like a timestamp, and an event type. You can also add custom attributes to provide more context.

Once you start capturing JavaScript errors as events in Insights, set up NRQL alerting so you can stay on top of your error data.

5. Create baselines

One of the benefits of using APM while you are planning your cloud migration is that you get a deeper understanding of your application’s baseline. A baseline is a measurement of the current performance and availability of your application, which you then use as a comparison after your migration to validate your business case.

6. Determine next steps

Use the following New Relic features to determine the next steps for your application:

Use service maps to find connections

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 external services, web services, databases, or APIs that the application might be connecting to.

Once you have an application node on the map, you can add its connections to the map, including New Relic Browser apps, databases, or external services (for example, third-party APIs). Every node you add is automatically connected to the map, so you see the shape of your application’s architecture emerge.

screen-service-maps.png
one.newrelic.com > APM > (select an application) > Service map: Use service maps to understand the connections between different parts of your architecture.
Use Entity explorer to analyze health

Use the Entity explorer to see a high level overview of your services, which includes applications. Select the service to view a summary of your instrumented applications. You can then select dependencies to view the underlying infrastructure.

To view this information at a glance, use Entity explorer by going to one.newrelic.com > Entity explorer.

From Entity explorer, you can:

  • Sort applications by labels:

    • Name

    • Response Time

    • Throughput

    • Error Rate

  • Identify owners

  • Identify which users will be affected by a migration

  • Discover application architecture details, such as the number of tiers and data sources

  • Discover any dependencies

  • Extract operational costs of each application or group

health-map-demo-ss.png
one.newrelic.com > Entity explorer: The Entity explorer allows you to see an overview of your services.
Use the Inventory page to identify components

Infrastructure's inventory page gives you visibility into the software packages installed on your servers. New Relic Infrastructure reports detailed information about a system’s per-host configuration, including system modules, configuration files, metadata, packages, services, user sessions, and more. The inventory page provides a real-time, filterable, searchable view into each host’s configuration. Use this data to identify various components of the applications you want to migrate.

infrastructure-screen-inventory-page.png
one.newrelic.com > Infrastructure > Inventory: Use the filter and search functions to find information for specific items across all your hosts.

Analyze these criteria for each of your apps to determine the next steps for your migration:

  • Should you move your app to a new host or platform, or re-factor its code before migrating it?

  • Should you retire the application without moving it to the cloud?

By using the information that New Relic provides, you are better equipped to create a prioritized list of applications ready for cloud migration.

Expert tips for organizing your data

  • In APM, use labels to group the instrumented applications into meaningful categories like environments, functional areas, technologies, business units. Or, you can separate them for development or operational teams.

  • In Infrastructure, use filter sets to organize hosts into cluster, environment, role, or any Infrastructure attribute based on criteria that you define.

For more help

If you need more help, check out these support and learning resources: