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