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 NGNIX.

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 > Service Maps > (select a map): Use service maps to understand the connections between different parts of your architecture.
Use Health Maps to analyze ownership

At this point, you can also see the data of your instrumented applications and their underlying infrastructures. To view this information at a glance, use Health Maps by going to > Health Map. Then, use the Select a view list to toggle between Applications and related hosts and the Hosts and related applications views.

From the Health Map, you can:

  • Group applications by labels, or group infrastructure by filter sets:

    • Environment

    • Business role

    • Technology

    • Geography

    • Code language

  • 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 > Health map: Use Health Maps to sort and group your apps and hosts.
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 Inventory UI page > 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.

    For more detailed information about using labels in APM, check out New Relic University’s tutorial Application List View.

  • 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

Explore the New Relic Platform.

Recommendations for learning more: