When hosting infrastructure using Microsoft Azure, it’s important to understand what tools can help. Especially if unforeseen issues start to arise, it’s key to have the ability to quickly diagnose issues with concrete data to find a solution. Without this in place, you may find yourself in a situation where you’re running into hard-to-diagnose problems, such as:
- Performance issues (Is it the application? The database? Network latency?)
- Inconsistent errors (I’m seeing 500 errors, but they don’t seem to happen regularly. Why? What information can I get to help me?)
Whether you’re finding yourself in this situation already or are looking to get ahead, finding a good monitoring and performance testing tool is key. There are multiple aspects to consider when measuring the current state of your Azure-hosted application. For the sake of this article, they include monitoring and performance testing. Monitoring is being able to know proactively if issues are appearing in both your infrastructure and applications. Performance testing is being able to see specific details on the processing capabilities of your applications.
Plenty of tools today can help with the above. This blog will go through some of the ones I have experience working with and some points to think about when considering their usage.
Let’s start with what I think is one of the best overall tools to consider when thinking of a full-fledged solution.
The first tool on this list we’ll look at is SolarWinds® AppOptics™. AppOptics shows analytic information relating specifically to monitoring and performance testing. It does a great job of striking a balance between an easy-to-use tool that can integrate quickly and one with full features as something you can use in the long-term.
A few aspects make AppOptics a compelling choice for consideration, including
- The ability to connect to an Azure tenant and monitor all hardware hosting inside the tenant. This benefit is huge for starting quickly—tie AppOptics into Azure and start immediately.
- Easily configurable dashboards to view information quickly, giving you the ability to see trends through time in the system.
- A collection of plugins for integration with multiple systems, which is helpful if you have a mix of on-premises and Azure-hosted infrastructure.
As an example, after connecting your infrastructure and application to AppOptics, you’ll be able to see something like this:
These dashboards provide information on the current state of your infrastructure and applications immediately. This can be useful in a few ways:
- If you’re seeing issues and you’re not sure where to start, this information might show you something you haven’t been seeing. You might even find errors you didn’t realize were occurring.
- Having hard data when talking about performance and issues. Instead of saying things seem slower, you’ll have a means of proving a drop in performance.
Combining Log Analytics
Another thing you might want is log analytics, to have a way to sort through and view logs to help with diagnosing issues. In this case, SolarWinds provides another application, Loggly®, that works well with AppOptics to provide log management, monitoring, and performance testing capabilities.
As of this writing, pricing is provided by AppOptics and falls into a few different ranges but is generally in the middle of what’s available. Finally, AppOptics provides a free trial, giving you the means to test the functionality both by integrating your application into the free trial itself or with test data should you not have an application ready for testing yet.
Azure Application Insights
After AppOptics, the next tool to consider is Azure Application Insights. Application Insights is deployed alongside the Azure-hosted infrastructure, making it easy to deploy alongside a specific infrastructure. It serves as an in-between in comparison to a full-fledged solution such as AppOptics, and it requires some changes in your infrastructure.
Pricing-wise, Application Insights charges based on data throughput and will generally be inexpensive until very large amounts of data are processed.
From experience, Application Insights works well as an inexpensive solution for smaller applications, especially since the integration into App Insights from your infrastructure and applications is easy. With smaller applications, it’ll be economically smart since you’ll generally have little to no costs. It can be a good place to start if you’re working on small applications but usually requires too much work when working with something larger.
Apache JMeter is open-source software initially designed for just testing web applications but expanded into testing. JMeter serves as the solution with the least potential costs, but it also requires the most work to implement into your infrastructure. JMeter must be self-hosted, meaning you’ll need to set it up to work correctly. In addition, it doesn’t provide any assistance for integration with Azure infrastructure directly. This means you’ll need to implement testing within JMeter yourself. Even though it works as a load testing tool, it can also provide monitoring capabilities by reporting over a set of URLs.
A perk, though, is you won’t need to pay for a license to use it since it’s open-source.
JMeter can work well as a solution if there are applications stored in different environments (such as on-premises and in Azure). It also can work well if you’re looking to set up a custom performance testing solution.
AppDynamics is commonly seen in enterprise environments and used for very large infrastructures and applications. AppDynamics can be run both on the cloud and on-premises, giving flexibility in how you host. For some environments, this may be key, as you’ll want to keep the data collected internally. Otherwise, many of the features from AppDynamics are the same as a more full-fledged solution such as AppOptics.
From my experience, AppDynamics can work well if there are specific features you must have that AppOptics doesn’t have, such as on-premises hosting.
Pricing is trickier. To get accurate pricing, you’ll need to contact AppDynamics. This will get you a quote based on what kind of infrastructure and applications you’re running. You’ll typically find these services more expensive.
Selecting the Right Tool
Hopefully, the breakdown of these different tools gives you a better idea of what you can choose. It helps to start quickly when integrating monitoring and performance testing tools into your infrastructure and applications. This way, you can bring analytics into the process without changing what’s already in place. Consider using a product with a free trial and a host agent, such as SolarWinds AppOptics, to accomplish this quickly. This way, you’ll be able to quickly diagnose issues. In addition, you’ll become more proactive in fine-tuning your applications to provide the best customer experience.
This post was written by Dave Farinelli. Dave is a senior software engineer with over eight years of experience. His specialty is in providing enterprise-level solutions for healthcare and insurance clients. Dave holds a B.S. in computer engineering from Kettering University in Flint, Michigan.