Serverless Monitoring Instana Ebook
Serverless Monitoring Instana Ebook
Serverless
Successfully:
A Comprehensive Guide
Monitoring Serverless Successfully: A Comprehensive Guide
Table of
Contents
P. 3
Monitoring Serverless Successfully:
A Comprehensive Guide
P. 4
Serverless monitoring challenges
P. 7
Why legacy APM is not enough for
serverless monitoring
P. 8
Selecting APM for serverless
monitoring
P. 8
Conclusion
2
Monitoring Serverless Successfully: A Comprehensive Guide
In each respect, serverless computing delivers serverless environments, as well as the functions
critical benefits that are not available from themselves, is more difficult in some respects.
Serverless monitoring
challenges
Although the code inside a serverless function may not differ
fundamentally from that inside a traditional application, the
architecture, host environment and deployment patterns associated
with serverless functions are profoundly different. From these
differences arise a number of serious challenges when it comes to
monitoring and maintaining visibility into serverless deployments.
A conventional application When it comes to serverless, however, inconsistent if you add on-prem serverless
operates in the same workload cross-compatibility breaks down. frameworks, such as OpenFaaS, into the mix.
essential manner Although all cloud-based serverless services
regardless of where it is
deliver the same basic features, each one is For these reasons, attempting to monitor
hosted. An NGINX Web
configured in unique, vendor-specific ways. serverless functions at the level of the service
server or WordPress
AWS Lambda does not support all of the same itself leads to an approach that is not portable,
instance hosted on AWS
EC2 virtual server programming languages as Azure Functions and that is dependent on the particular
works – and, by extension, and Google Cloud Functions, for example. Each configuration provided by a certain vendor. For
can be monitored – in the serverless service also comes with different teams wary of lock-in and the inefficiency of
same way as it would if it environment configurations, which for the having to build a new monitoring process from
were hosted on the Azure most part cannot be modified by end-users. scratch whenever they migrate to a different
Virtual Machines service. Configurations become even more diverse and serverless platform, this is a serious limitation.
4
Monitoring Serverless Successfully: A Comprehensive Guide
Similarly, serverless functions can be written It is rare to deploy a workload that is composed
in a variety of different languages. And, as solely of serverless functions. In many cases,
noted above, some serverless services support serverless functions comprise one part of a
different languages than others. In some cases, larger application. For example, most of the
serverless platforms require functions written components of a Web application might be
in one language to be “wrapped” in another in hosted using traditional virtual machines and
order to execute them, adding another layer of databases, while serverless functions are used
complexity. to handle certain resource-intensive processes
(such as resizing images or performing optical
What all of this means for monitoring is that character recognition), on-demand.
there is no easy or consistent way to monitor
serverless functions by hooking into specific For this reason, effectively monitoring
programming languages. serverless requires not only an understanding
of what is happening within functions
Conventional APM methods such as themselves, but also mapping that data to
language-specific tracing and metrics the performance of the larger application.
collection are of limited use for gaining Monitoring tools must be able to interpret
visibility into serverless performance and the complex relationships and dependencies
availability. between each serverless function and the
various non-serverless microservices that
power the rest of the workload.
5
Monitoring Serverless Successfully: A Comprehensive Guide
Serverless is so-called because it eliminates Serverless functions are The final challenge in
the need for the teams who deploy serverless often deployed as part monitoring serverless
functions to set up or manage the servers that of continuous delivery functions is the sheer number
host them. The provider of the serverless server pipelines. Updates are rolled of functions that serverless
delivers a prebuilt, preconfigured environment out on an ongoing basis, workloads entail. Although
in which end-users can quickly deploy and meaning that new versions there is no minimum number
execute functions. This is one of the features of functions are frequently of functions required to use a
that makes serverless so valuable. deployed. serverless service, teams that
leverage serverless computing
From the perspective of monitoring, however, Static approaches to serverless often deploy a dozen or more
end-users’ inability to access or modify the host monitoring can’t keep up with functions at the same time.
environment represents a significant challenge. this rapid change. If monitoring They introduce new functions
It means they cannot modify the way that the tools must be manually and retire old ones on an
servers hosting their serverless functions log mapped to a specific serverless ongoing basis.
data or other metrics. Most serverless services function deployment, they
do provide facilities for forwarding log data to must be reconfigured manually Monitoring functions
other cloud services (such as AWS CloudWatch whenever the functions are on this scale, using
in the case of Lambda), but there is little or no updated. This dependency conventional, manual
ability for teams to customize the way that means that monitoring can approaches, is very
data is generated or structured. Nor can they get in the way of continuous difficult. It requires
deploy monitoring agents on host servers in delivery – or, worse, that tremendous effort and time
a conventional way to collect and aggregate new versions of serverless commitment on the part
metrics. functions are not properly of admins, and undercuts
monitored because the tools the ability of teams to
used to monitor them aren’t continue scaling up their
yet configured for the new deployments.
deployment.
6
Monitoring Serverless Successfully: A Comprehensive Guide
For one, they typically lack the ability to Ultimately, legacy APM solutions were
map and interpret the complex application designed for fundamentally different types of
architectures, of which serverless functions infrastructure. If they can work with serverless
are a part. Legacy APM tools were designed for functions at all, it is because facilities for
monitoring monoliths, and they are ill-equipped monitoring serverless under certain conditions
to understand inter-service dependencies or were grafted onto tools that were originally
distinguish normal activity from anomalies within created for different purposes. They simply lack
highly dynamic environments. cloud-native monitoring functionality.
8
Monitoring Serverless Successfully: A Comprehensive Guide
9
Monitoring Serverless Successfully: A Comprehensive Guide
10
Monitoring Serverless Successfully: A Comprehensive Guide
Conclusion
Serverless monitoring requires a fundamentally different set
of strategies and tooling than monitoring for conventional
applications. Without an APM solution that can handle the
unique challenges of serverless computing, organizations risk
performance and availability problems that bloat their costs and
undercut the value of adopting serverless in the first place.
Legacy APM tools are not designed to handle the complexity of serverless environments, or to keep
pace with the continuous delivery chains of which serverless functions are a part. But Instana, an
APM platform designed from the start for the cloud-native age, does.
Using data analytics and machine learning, Instana maps the complex dependencies that link
serverless functions to each other and to the rest of the application. It performs comprehensive
tracing and analytics, and offers rich visualizations to help teams understand both real-time and
historical data. And it works in a cloud-agnostic way, allowing teams to monitor their serverless
workloads across a range of serverless services. We invite you to sign up for a free Instana trial.
Monitoring Serverless Successfully: A Comprehensive Guide