Best practices for monitoring cloud-based apps

| 8 min. (1578 words)

It’s never been more important to monitor the health of cloud-based systems. According to Gartner, cloud-native platforms will serve as the foundation for 95% of new digital initiatives by 2025. Cloud native is table stakes to keep pace with your competitors, and monitoring your cloud applications is a critical part of that effort. Security risks are up, customer patience is down, and the cloud will be at the center of your revenue stream soon (if it isn’t already).

Your engineers and managers need comprehensive oversight of the health of your cloud-based systems to deliver exceptional experiences, so that your users don’t encounter issues and look elsewhere.

This post lays out the cloud monitoring best practices you need to fill the gaps in your current monitoring strategy. Follow these to consistently meet and exceed customer expectations.

Maintaining cloud health

A cloud health issue doesn’t always mean that your whole system is down. Minor issues like a troubling pattern or an emerging defect are more common. The goal of cloud monitoring is to catch these anomalies as soon as possible — ideally before they reach a potential customer.

The first step to maintaining cloud health is picking the right tool to monitor your infrastructure. But monitoring only for critical problems is putting the ambulance at the bottom of the cliff. The preventative approach is to detect minor issues early on, like a troubling usage pattern that points to future capacity issues or an emerging defect. By monitoring your applications, you have the best chance of catching these anomalies as soon as possible, ideally before your entire application goes down or an issue deters a potential customer.

By following best practices for cloud monitoring, you can identify unhealthy situations before they become significant issues. Your provider will monitor their servers, and even offer cloud monitoring tools such as Amazon’s CloudWatch and Google’s Cloud Monitoring. However, you need to set up a cloud and application performance monitoring workflow with tools that suit your own needs, and these bundled versions, while convenient, may leave you with blind spots.

When you’re monitoring cloud applications, be sure you have the following areas covered:

  • Website performance: set up application performance monitoring so you can see performance issues before they turn into outages.
  • Virtualization: monitor virtual machine workloads and container infrastructures like Docker and Kubernetes for insight into user activity and application performance problems.
  • Storage: monitor performance and utilization levels.
  • Databases: track requests, query performance, and data integrity.
  • On-premise servers: monitor these if your cloud infrastructure relies on enterprise data and authentication.

Monitor on-premises, hybrid, and cloud infrastructure from the same platform

Instead of dividing your attention across multiple systems, you’ll ideally want to monitor your on-premise, hybrid, and cloud infrastructure from a single dashboard. The good news is it’s possible with modern cloud monitoring services. Platforms like Azure Monitor let you set up a unified monitoring dashboard that pulls all data you need from the cloud, third parties, and your internal infrastructure onto a “single pane of glass.”

Ideally, you should treat your on-premise and cloud infrastructure as a single system, with the goal of gaining complete visibility across your entire environment. Bringing together cloud and on-premise insights and collecting uniform data makes it easier to correlate problems and take appropriate actions. It will also take less time to find anomalies and see the whole picture.

Cover the most important metrics

There are hundreds of metrics to look at in a complex cloud infrastructure, and the only way to cut down on the noise and get meaningful insights is to pick the right KPIs for your business and focus on them.

Here are some KPIs that are worth considering for monitoring cloud applications and application performance monitoring:

  • Service/system availability
  • MTTR (Mean Time to Resolution)
  • MTBF (Mean Time Between Failures)
  • Throughput
  • Response time
  • Latency
  • Security threats
  • Scalability
  • Cost per customer

You should monitor and analyze KPIs at every layer of your infrastructure. Cloud monitoring tools have built-in metrics, and some even let you create custom criteria.

In many cases, you can use the same metrics as for server monitoring. However, you’ll have to modify some server metrics before they’re useful for monitoring cloud applications. Also, be aware of oversimplified measures. Looking at only the average, for example, can frequently give you false positives or hide underlying issues you should notice in outlier data.

Safeguard the end-user experience with APM tools

In addition to cloud infrastructure monitoring, it’s crucial to keep track of what’s impacting your end-users. A bad user experience such as errors, crashes, or slow page loads can seriously detract from the success of your product.

The best way to monitor server-side performance is putting an Application Performance Monitoring tool in place. With APM, you’ll see granular data on performance down to the request level. Combining your cloud insights with APM data, you’re able to diagnose issues rapidly and guarantee you’re delivering the best customer experience every time.

APM tools give visibility to the application tier of your architecture. They provide you with key information such as code bottlenecks, transactions speed, and active issues. Raygun’s APM tool, for example, calculates the Apdex (Application Performance Index) score that helps you monitor your users’ satisfaction with your app’s response time.

Screenshot of Raygun’s Apdex score

Having real-time information about the end-user experience will help you maintain cloud health. The best solution is to monitor both infrastructure and application health and be equipped to act immediately when an issue pops up.

Automate cloud monitoring tasks

Once you set up monitoring and start collecting data, you’ll see certain issues crop up again and again. But you’re dealing with the cloud, where automation tools are common. You can create automated tasks and tie them to your cloud metrics to cut down on time spent on routine actions and stay focused on issues that require human intervention.

For example, set up an action to automatically scale database storage when usage reaches a pre-defined threshold. Or create an automated process that detects and shuts down unused resources automatically. This can save you a lot of time tracking resources while saving you money, especially if you are on a pay-as-you-go pricing plan. You can also send yourself alerts and notifications when an automated action occurs, to keep an eye on your automation.

Choosing cloud monitoring software

Cloud computing has been around for a while now, and you’ll find many cloud monitoring tools tailored to different needs. However, the market is still growing, so it’s worth following trends and new releases. If your team uses DevOps you may already have tools that can be used for cloud monitoring purposes.

Cloud monitoring software can mean several different things. It includes full-stack tools to manage the whole cloud monitoring workflow from the lowest-level infrastructure to the end-user experience. However, tools that monitor only one specific part of your cloud stack are also often referred to cloud monitoring software.

Don’t commit to a product until you understand precisely how it fits with the rest of your tools and overall monitoring workflow. Ideally, you should monitor every part of your cloud stack, including applications, networks, platforms, virtual machines, containers, microservices, and dependencies.

Here are some features of good cloud monitoring software:

  • Easy to set up and configure
  • Has a modern user interface with a customizable dashboard
  • Has a unified view that lets you see your overall cloud health at a glance.
  • Can gather data from your entire environment, including all your dependencies and on-premise servers
  • Collects logs from all your resources, instruments them, creates graphs
  • Allows you to automate tasks and set up alerts and notifications
  • Integrates with your other software, including your DevOps and APM tools
  • Discovers and monitors microservices running inside containers
  • Has an attractive pricing model that suits your needs well

Most cloud monitoring software, like Raygun, offers a free trial period that’s always worth leveraging.

Cloud monitoring tools

There are two main kinds of cloud monitoring tools:

  1. Built-in cloud monitoring tools offered by cloud providers. The most important ones are Cloudwatch by Amazon, Azure Monitor by Microsoft, and Cloud Monitoring by Google. Smaller cloud providers also frequently offer a monitoring tool for their customers. These built-in tools have many awesome functionalities, however, it can be risky to solely rely on the monitoring data provided by your cloud vendor.

  2. Standalone cloud monitoring tools that let you monitor cloud health independently from cloud platforms. In cloud health monitoring, the hardest thing is to make sense of the data coming from numerous sources.

Regardless of which tool you pick, you need the ability to catch anomalies early on while filtering for false positives. You want a set of data visualization, customizable metrics and dashboards, alerts and notifications, task automation, and other smart features that will serve this purpose.

Think about the features you want to use and choose the cloud monitoring tool that best fits your needs. Raygun APM has you covered for all of the above and more.

Next steps

The most important thing is to start cloud monitoring before you have a serious issue. Investing in cloud health is crucial if you want to offer reliable, quality software to your customers.

Monitoring your cloud infrastructure is indispensable but not always enough. Consider measuring the user experience as well to understand the real issues your users encounter. An APM tool monitor your cloud app from your user’s end and adds significant value to your cloud monitoring workflow.

Ready to get a monitoring solution in place? Claim your free 14-trial Raygun trial today.