Computing Goes Serverless!
Serverless computing, such as AWS Lambda, IBM Cloud Functions, Microsoft Azure and Google Cloud Functions, take application development to the next level by liberating dev teams from infrastructure constraints.
Abstracting the server, however, creates some very real challenges: Functions and services evaporate into thin air once they have run, leaving no observable traces to follow when performance goes south. Obtaining visibility needed to debug issues, especially in production, is a tough challenge — according to many developers, the toughest they face when it comes to serverless.
The Serverless Debugging Challenge
Serverless infrastructures are created afresh for every event, resulting in workflows that vary a bit each time they run. This variability renders staging and pre-production testing less relevant, and limited observability makes production debugging a challenge as well.
With no stable underlying infrastructure on which to install agents or daemons, familiar ways of collecting, batching and publishing data in the background are simply not available for serverless. More importantly, collecting data is possible only during a function invocation. So instead of monitoring toward a “known good state,” serverless favors event-level observability tools which enable observers to peek into systems at critical junctures.
Rookout for Serverless
Rookout is the first production debugging platform to bring event-level observability to serverless functions.
With dedicated tools for AWS Lambda (and more coming soon), Rookout offers a simple way to insert non-breaking breakpoints so developer-defined data can be collected and pipelined during the split second while an application runs.
By enabling developers to peek inside serverless functions, Rookout replaces close-but-no-cigar simulations, local testing, and educating guessing with observable data and metrics for production debugging.