Modern and cloud services

Whether you've just completed your cloud migration, have been using cloud based services for awhile, or have always been in the cloud, you may find yourself deploying or running technologies and services that are new and modern.

These modern technologies could be container solutions such as Docker, Kubernetes, and Amazon AWS ECS or Fargate for example. Or they could be serverless services such as AWS Lambda, Microsoft Azure, or Google Cloud Platform Functions, cloud based databases, or any number of cloud services that abstract the service away from an operations-maintained infrastructure.

In these situations you still want to monitor, query, and alert on the performance and usage metrics for both modern technologies and cloud-based services, allowing for faster deployments, the ability to adopt new services, better business decisions, and to expand horizons. This doc demonstrates how to use the New Relic Platform to monitor your modern technologies and cloud services.

1. Identify applications, cloud services, infrastructure, and technologies

Determine the components you need to monitor by answering the following the questions:

  • What cloud-based applications do I have?
  • What are the underlying cloud-based services, technologies, and infrastructure supporting those applications?

When you have a full understanding of your architecture, you reduce the possibility of missing dependencies during your migration.

2. Deploy Infrastructure

After reviewing the requirements for New Relic Infrastructure, install the Infrastructure agent on the hosts you identified so you can start to monitor your cloud services.

If you use Ansible, Chef, or Puppet for automation, you can use those tools to deploy Infrastructure agents to your hosts.

3. Configure cloud integrations

Once your applications are migrated to the cloud and you start to integrate new cloud services, you can use New Relic to monitor and report data about your cloud services, offering you a comprehensive view of your entire architecture in one place.

To get started configuring cloud service integrations, link your cloud service provider account with New Relic, depending on whether you use Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP).

4. Track data on your dashboards

New Relic Infrastructure integrations auto-populate dashboards with metrics from cloud providers like AWS, Azure, and GCP so you can track the data that is critical to your cloud adoption success.

If you adopt a hybrid cloud of multiple cloud providers, New Relic can provide a holistic perspective that is agnostic to cloud providers.

AWS EC2 monitoring integration dashboard

In this default dashboard for the AWS EC2 monitoring integration, New Relic captures metrics for EC2 instances per region, instance state, and instance type. The dashboard also shows inventory for different software packages and configurations that are installed on those instances.

AWS EC2 dashboard example > Integrations > Amazon Web Services: View AWS EC2 data on the default dashboard for the AWS EC2 monitoring integration.
Azure VMs monitoring integration dashboard

The default Azure virtual machine integration dashboard shows data for VM sizes, VMs per region, and VMs per resource group.

Integrations - Azure dashboard > Integrations > Microsoft Azure: View Azure virtual machine data on the default dashboard for the Azure VMs monitoring integration.
GCP Compute Engine monitoring integration dashboard

In this default dashboard for the Google Cloud Platform, New Relic captures metrics for instances per zone, instance status, firewall dropped packets, reserved cores, and disk throttled operations. The dashboard also shows inventory for different software packages and configurations that are installed on those instances.

GCP dashboard example > Integrations > Google Cloud Platform: View GCP Compute Engine data on the default dashboard for the GCP Compute Engine monitoring integration.
Example modern and cloud services dashboard

In this example dashboard, three different cloud vendors, modern technologies, cloud services, infrastructure instance locations, and DevOps widgets are combined for an overall view.

Monitor cloud services workflow > Dashboards: Here is an example of a dashboard with data about vendors, technologies, services, instances, and other important details.

5. Add alerts for cloud-based metrics

When monitoring cloud-based services, it is essential to keep track of all the changes happening with the system by alerting on them. Integrations with New Relic Infrastructure allow you to create alerts on the metrics that are the most important to you.

Here is an example of a baseline alert that will notify you based on the number of requests received on all ALB systems for the AWS Elastic Load Balancing (ALB) monitoring integration:

NRQL alert condition > Alert policies > (selected policy) > Alert conditions: Create a NRQL baseline alert to monitor the number of requests received your ALB systems.

6. Set up additional monitoring

In addition to monitoring cloud services, you can deploy New Relic APM, Browser, Mobile, and Synthetics to gain full-stack visibility into all of the components of your applications:

7. CI/CD Pipeline integration

It's important to track deployments and how the impact of the code and infrastructure changes you make affect customer experience. New Relic APM's deployment markers feature allows you to record deployments for each application.

A deployment marker is an event indicating that a deployment happened, and it's paired with metadata available from your SCM system (such metadata typically includes the user, revision, change log, etc.). APM displays a vertical line, or marker, on charts and graphs at the deployment event's timestamp. When you hover over the line, APM displays the associated metadata for that deployment.

Tracking deployments is an invaluable way to determine the root cause of immediate, long-term, or gradual degradations in your application.

Recommendation: Make POST requests to the New Relic REST API as the final step of a successful CI/CD deployment as described in the API documentation.

The following tools have integrations or plugins available to help automate CI/CD deployments:

For more help

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