Whether you've recently completed your cloud migration, have been using cloud-based services for a while, or have always been in the cloud, you may find yourself deploying modern, cutting-edge technologies and services. It's important to develop the ability to adopt new services easily and with confidence; innovation never stops for companies operating in the cloud, and a company's willingness to embrace new technology can give it a major competitive differentiator.
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. They may be cloud-based databases, or any number of cloud services that abstract the service away from an operations-maintained infrastructure.
In these situations, you want to monitor, query, and alert on the performance and usage metrics for both modern technologies and cloud-based services. This allows your team to deploy faster, to adopt new services with confidence, to make better business decisions, and in general to expand its technology horizons.
Here are the steps to using the New Relic Platform to monitor your modern technologies and cloud services:
1. Identify services and technologies
Determine the components you need to monitor by answering the following 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 and new services that might impact your organization's application environment.
2. Deploy New Relic Infrastructure
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
As you integrate new cloud services, you can use New Relic to monitor and report data about these services; giving you a single, comprehensive overview of your entire architecture.
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.
- 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.
- 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.
- 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.
5. Add alerts for cloud-based metrics
When monitoring cloud-based services, it is essential to keep track of all changes to a 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.
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:
Use New Relic APM to report application-tier performance metrics.
Use New Relic Browser to report front-end web metrics.
Use New Relic Mobile to report front-end mobile app metrics.
Use New Relic Synthetics to monitor websites, critical business transactions, and API endpoints.
7. CI/CD pipeline integration
It's important to track deployments and the impact that code and infrastructure changes have on your end-user experience. New Relic APM deployment markers allow you to record deployments for each application.
A deployment marker is an event indicating that a deployment happened. You can pair markers with metadata from your source code management (SCM) system ( including user IDs, revisions, and change logs.). 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 causes of immediate, long-term, or gradual degradations in your applications.
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:
8. AWS Lambda Monitoring
New Relic One features an updated APM agent that is highly optimized from a cost and time perspective for ephemeral Lambda functions. Enable New Relic monitoring of AWS Lambda to to assess invocations, error rate, function duration, cold starts, and more. You can also take advantage of New Relic's Infrastructure integration with Lambda for additional reporting capabilities.