An amazing feature of serverless systems is that they run on servers. That makes monitoring them a whole lot easier. The “serverless” concept is a status that relates to how businesses are charged for hosting on cloud servers.
Rather than renting processing power and disk space as a virtual server, businesses just pay for the space to hold the application code and just the seconds of processing power that they use each time they run.
The serverless model is particularly appealing to the creators and operators of microservices. These are small programs that support mobile apps. Although mobile devices have quite a lot of processing power, a lot of CPU work runs down the battery quickly. Therefore, it has become common practice to make the “app” just an interface with all of the processing performed on a server somewhere.
Here is our list of the seven best serverless monitoring tools:
- AppOptics EDITOR’S CHOICE This cloud-based application performance monitor can interface with AWS to gather statistics on Lambda systems. Get started with a 30-day free trial.
- Datadog APM A comprehensive distributed tracing system that is integrated into a wider cloud-based application performance monitoring system.
- New Relic Telemetry Data Platform A highly-respected distributed tracing system that is based in the cloud and offers 100 GB of data collection and processing for free every month with a low rate per GB thereafter.
- Dynatrace This serverless monitoring system is part of a very advanced cloud-based application and infrastructure monitoring service that integrates AI to increase task automation.
- Site24x7 APM A cloud-based application performance monitor that is also able to monitor serverless systems. This tool includes AI processes to identify performance issues.
- Lightstep This innovative startup focuses on serverless monitoring and it was started by the developer of Google’s own in-house distributed tracing system, which was at the cutting edge of the technology.
- ManageEngine Applications Manager This application monitor implements distributed tracing for the AWS platform, gathering statistics on the performance of Lambda and SQS modules, for Oracle Cloud serverless systems, DynamoDB, and Node.js. Installs on Windows Server and Linux.
The advent of microservices provides a great outlet for web services developers. Just like SaaS projects include the processing server with the software that subscribers want to use, serverless microservices offer access to their functionality without having to copy over the software and host it. Now, these services are accessed through APIs. The user, which is the developer of a mobile app or website, just calls the function that is hosted by the producer of the service.
Serverless monitoring issues
There are two types of serverless accounts: the ones you pay for and the ones that host other people’s systems that you subscribe to.
The matter of monitoring your own serverless systems is fairly straightforward because you know where they are. However, as you don’t have any server space other than the area occupied by your code, there wouldn’t be anywhere to install an agent, which is how monitoring systems usually operate.
If you access a service through an API, there are other complexities to deal with when working out how to monitor them. First of all, you don’t know where their host is located. Secondly, you don’t know which other services those processes rely on and where those other pieces of code are hosted.
Solutions for serverless monitoring
Fortunately, there is a solution for monitoring services where there is no room on the same server to host monitoring software and when you don’t even know where those hosting servers are. There are two names for this type of monitoring: telemetry and distributed tracing.
Distributed tracing systems back chain through the API to find the location of the host. It also examines the execution of that service to see what other services feed into it, then it tracks those to their hosts, and so on. The distributed tracing system starts off working as a Web crawler to find all of the backend services for an API.
“Telemetry” refers to the way these distributed tracing systems work forward to verify the actions of each link in the web of microservices. A telemetry system operates alongside a running process. It works on the principle of examining before and after statuses of the calling procedure.
The best serverless monitoring tools
Serverless systems are at the forefront of technology and one of the fastest-growing sectors of the IT industry. Fortunately, serverless monitoring systems are being produced by great innovators.
Telemetry is a very clever concept and it could expand to implement all cross-platform and internet-bound monitoring in the future. Right now, you can experience this impressive form of monitoring thanks to the products of some of the best monitoring tool producers in the business.
AppOptics from SolarWinds is a cloud-based application performance monitor that has great monitoring capabilities for applications hosted on-premises or on cloud servers but it is a little light in the serverless monitoring department.
The distributed tracing capabilities of AppOptics are limited to monitoring AWS Lambda-hosted serverless systems. The monitor operates by receiving status messages through the AWS platform.
AppOptics includes an application dependency map that assists in root cause analysis whenever a problem is detected in the performance of an application or a supporting resource. The system includes an alerting mechanism that triggers email and SMS notifications if the performance of an application deteriorates or if a resource is running short.
The AppOptics system is a subscription service and it is offered in two editions. The first of these is called Infrastructure Monitoring. However, you need the higher plan to get distributed tracing. That plan is called Infrastructure and Application Monitoring. You can experience the AppOptics system on a 30-day free trial.
AppOptics is our first choice! A powerful serverless monitoring tool for staying on top of your serverless applications deployed on AWS Lambda using distributed traces and AMP agents. Ideal for infrastructure that is scaling and lets you manage resources effectively so as not to blow out operating costs.
Start 30-day free trial: my.appoptics.com/sign_up?
Datadog APM is a cloud-based application performance monitor that has very strong distributed tracing services. There are two major messaging standards for distributed tracing. If the developer of a microservice uses one of these, it knows to issue status messages in a specific format. Monitors that follow the same standards. Those protocols are called OpenTracing and OpenTelemetry and Datadog APM uses both.
The ability of Datadog APM to process both of these telemetry standards greatly increases the likelihood that it will be able to track any serverless system that it encounters. In truth, the developers of microservices don’t really bother with any other logging standard but these two.
As it monitors serverless systems, Datadog generates its own reporting comments as well as catching these log messages that come out of the service. So, it has two levels of performance reporting. Datadog can also work with built-in AWS platform status reports that track the activities of their serverless object running in Lambda accounts.
With source data secured, Datadog is able to represent live performance data in the system dashboard to the same quality that it provides for all of its other monitoring services. It shows the connections between microservices in a hierarchy as they operate. This is very similar to the application dependency maps that it produces for applications and is called a Service Map.
The Service Map is clickable and each node gives access to a detail page with live reports of the operations of that particular microservice.
Datadog APM is a subscription service and it is available for a 14-day free trial.
Datadog APM is a leading serverless monitoring tool because it goes the extra mile to gather as much data as possible on serverless systems as they operate. The monitor is programmed to understand the two major messaging systems used by microservices for activity logging and it adds on its own external performance assessments to enhance reporting.
Get a 14-day free trial: datadoghq.com/product/serverless-monitoring/
Operating system: Cloud based
The New Relic Telemetry Data Platform is particularly useful for DevOps scenarios. The platform includes both the processor to run the code and the monitoring software plus a large amount of cloud storage space to retain all of the performance data that the New Relic monitor gathers.
In addition to the actual tracing capabilities, the New Relic system includes tools that aid in the analysis of all of those performance logs that get gathered and it also shows all operational data live on the screens of its dashboard as it arrives.
New Relic has very broad capabilities when it comes to receiving and processing the log messages that are sent out by microservices. It can understand OpenTelemetry, OpenTracing, OpenCensus, and Zipkin. Those log messages are pooled with application event messages and New Relic’s own performance logging records to complete a multi-dimensional view of serverless system performance.
As well as using telemetry data, New Relic can receive platform messages, such as AWS tracing of Lambda-based services, Azure, Apache, and operating system log messages.
While it can’t put agents on the hosts of the serverless systems, it can insert tracing code into the websites that run APIs calling those services. The monitor also gathers connections statistics to complete the performance picture.
The first 100 GB of data per month processed by the New Relic Telemetry Data Platform is free. Each GB after that costs 25 cents.
Dynatrace is a cloud-based application and services monitor that uses AI processes and task automation in the delivery of its services.
The Dynatrace system is able to collect activity messages from microservices by using the OpenTelemetry protocol. These messages add to a pool of performance data that Dynatrace receives from the Web pages and applications that call the serverless functions. It also picks up the operating system and Web server messages.
All of the performance data for serverless systems needs to be collated and sorted quickly so that it can be posted to the dashboard as performance reports as soon as possible. This great data analysis effort is a field in which Dynatrace excels and it is one of those areas to which the monitor apples AI technology.
Dynatrace can be used for development as well as for operations monitoring. The distributed tracing capabilities of the platform are available in the Full-stack Monitoring bundle. You can get a look at Dynatrace’s telemetry services on a 15-day free trial.
Site24x7 APM is a cloud-based application performance monitoring service that has distributed tracing capabilities to track the actions of serverless systems. It is able to trace the activity of modules written in Java, .NET, and Node.js. However, Site24x7 doesn’t publicize which telemetry standards it implements.
The APM drills through applications, mobile apps, and websites looking into its APIs for serverless systems to track. Site24x7 links together all application processes and so its distributed tracing effort gets plugged into the application dependency maps that it plots for all regular applications.
Live operating statuses of each module that contributes to the delivery of an API request get shown on a screen in the Site24x7 dashboard. The dashboard shows the entire serverless process from start to finish, segmenting the service into individual modules. You see overall processing times and then the time that each module in the chain tool. You can drill down on each node in the graphic to get more details on a specific process.
Site24x7 is charged for on a subscription with a base package that can be augmented with add-ons. The standard package includes the ability to track three applications that call serverless functions. However, you can increase that number for a fee. The plan also gives you credits to run monitoring on 40 servers or websites. Site24x7 APM is available for a 30-day free trial.
Lightstep is a relatively new startup that specializes in distributed tracing. Although it is a new company, it already has an interesting history. Its founder was one of the lead developers on the Google Dapper project. Dapper was Google’s in-house telemetry system, which it then released as an open standard.
When Dapper became a public system, it was renamed OpenCensus. Now OpenCensus has merged with OpenTracing to form OpenTelemetry – the leading distributed tracing communication and reporting standard. So, the protocol that most of the other serverless monitoring tools use was created by the founder of Lightstep.
It goes without saying that Lightstep is very good at distributed tracing for serverless system monitoring. The one point against this tool is that it doesn’t integrate telemetry results in with other forms of monitoring in the way that the other tools on this list can.
The Lightstep system is a cloud-based service and a key element in its dashboard is the Operational Diagram that it draws up for the serverless systems that it tracks. This is a hierarchy of each contributing module. Each node in the diagram is a link through to a details page for that particular module.
Lightstep is a subscription service and it is available in three editions: Community, Pro, and Enterprise. The Community edition is free to use and the Pro version is available on a 14-day free trial.
ManageEngine Applications Manager is able to track applications and services running on your servers or on a cloud host. It is very good at linking together applications to identify an application dependency map.
This otherwise excellent monitoring system isn’t higher up on our list because it doesn’t operate a telemetry service for serverless monitoring. Its distributed tracing capabilities are limited to tracking those serverless systems that are hosted on platforms that have logging systems built into them. This list includes AWS Lambda and SQS, Oracle Cloud, DynamoDB, and Node.js.
Although it is a shame that ManageEngine hasn’t implemented telemetry, the modules that it is able to track get integrated into the applications dependency map as well as being illuminated by live performance reports in the Applications Manager dashboard.
Applications Manager is on-premises software that installs on Windows Server and Linux. It is offered in three editions: Free, Professional, and Enterprise. The Free edition is limited to five monitors. The Professional version is suitable for monitoring a single site and the Enterprise edition is designed for large, multi-site businesses. You can try Applications Manager on a 30-day free trial.