Troubleshooting, Monitoring, and Cost Tracking for Serverless Applications
By Trevor Hansen, Partner Solutions Architect at AWS
By Nitzan Shapira, Co-Founder & CEO at Epsagon
Serverless applications are becoming more and more popular as organizations seek to increase developer velocity, shorten time-to-market, and reduce infrastructure costs.
Services like AWS Lambda enable developers and DevOps engineers to be more productive by providing a managed service to run their code, as well as a large variety of APIs to build modern and scalable applications. With so many moving pieces in production, solutions like Epsagon enable companies to move faster by monitoring and solving issues with their serverless applications.
Whether you’re evaluating or currently developing distributed cloud applications on Amazon Web Services (AWS), stick around because we are going to unpack how using solutions provided by Epsagon will help you operate with more speed and confidence, while doing all of the heavy lifting for you.
Epsagon is an AWS Partner Network (APN) Advanced Technology Partner with the AWS DevOps Competency. It provides AWS customers with automated observability, monitoring, and cost tracking solutions that enable the adoption and growth of serverless, AWS Lambda-based applications.
Epsagon offers a holistic approach to monitoring and troubleshooting serverless applications. By leveraging distributed tracing and automated alerting, AWS Lambda users can get an auto-discovery view of their entire architecture, with a minimal setup effort and no code changes.
Key benefits for Epsagon’s customers include:
- Reduce troubleshooting and debugging time by over 90 percent.
- Monitor the system’s health 24/7.
- Visualize distributed serverless architectures.
- Forecast and monitor AWS Lambda costs.
- Discover crucial issues in serverless applications that remained unknown before Epsagon.
Epsagon is trusted by AWS Lambda customers as a source of confidence in their serverless journey, enabling organizations to grow their serverless footprint and removing any concerns.
There are several key use cases that particularly help Epsagon’s customers in their day-to-day work.
Troubleshooting Serverless Applications with Epsagon
Modern software architectures are more distributed than ever. They are comprised of the customer’s code, running on services such as AWS Lambda; managed services, like Amazon API Gateway, Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, or Amazon Kinesis; and third-party APIs such as Twilio or Stripe.
Figure 1 – End-to-end distributed tracing allows troubleshooting complex issues in seconds.
As shown in Figure 2, timeline view is an easy way to identify performance problems in your distributed application.
Figure 2 – Timeline view helps you identify performance issues in your application.
The nature of serverless applications involves ephemeral resources. Developers build a series of event triggers and the cloud vendor spins up the necessary resources, as needed. The beauty of that approach is programmers can code without worrying about infrastructure. The downside is that operations doesn’t have any way of controlling or understanding that infrastructure.
With serverless, there’s no location to place an agent. This makes using traditional logging tools inappropriate. Epsagon gets around this problem with an agentless approach using open-source libraries.
Epsagon’s distributed tracing technology automatically connects these events together. When a performance issue occurs, whether it’s a code exception or an API latency, Epsagon’s tracing allows fast troubleshooting. Companies can solve serverless issues in minutes with Epsagon, compared to hours or even days before.
Figure 3 – Advanced search for any trace or log data to find and investigate issues.
Increased Developer Velocity with End-to-End Visualization
As organizations grow, the complexity of their distributed applications grows as well. Developers find it difficult to keep up with this speed of change, which impacts their productivity.
Visualizing these distributed applications has proven to be key in enabling AWS Lambda users to perform and evolve quickly while keeping high-quality standards and preventing production errors.
Figure 4 – Architecture visualization helps gain confidence to increase developer velocity.
Automated Monitoring for AWS Lambda-Based Applications
By leveraging distributed tracing and artificial intelligence (AI) technologies, Epsagon provides a comprehensive, end-to-end view of serverless applications. Organizations gain rapid insight into application performance, allowing them to remediate bottlenecks within their environment, in real-time. The distributed tracing technology provides a visual representation of entire applications, with no manual input required by the organization.
Epsagon automatically analyzes the health of the serverless application and alerts the user immediately. Alerts can be received via a dedicated Slack application, email, or webhook, to name a few options. In addition, a special view presents the current issues in the application that needs to be taken care of.
Figure 5 – Issues Manager automatically discovers issues in the application and monitors them.
Cost Tracking and Forecasting
AWS Lambda is priced as a pay-per-use service, meaning companies are no longer paying for idle time. By paying only for what they’re using, organizations can save substantial amounts with AWS while greatly increasing cost efficiency. However, pay-per-use also produces challenges when it comes to predictability and budget.
That’s where Epsagon comes in. By providing a precise breakdown of the spend, AWS Lambda users know exactly what they’re paying for, and how much they will pay at the end of the month. In addition, cost monitoring alerts the user if there’s a spike in the cost or the cost crosses a defined threshold.
One-Click Monitoring with Lambda Layers
By partnering with AWS Lambda Layers, Epsagon enables customers with a fully-automated process needing no manual code changes.
Epsagon is an AWS Lambda Layers launch partner and utilizes the service to provide one-click monitoring, automatically instrumenting the application’s AWS Lambda code in production, with no effort on the user’s end.
Figure 6 – Auto-instrumenting AWS Lambda functions with no code changes.
Customer Use Case: Furnishing E-Commerce with Dunelm
Based in Leicester, Dunelm (Soft Furnishings) is one of the most popular websites in the United Kingdom to purchase home furnishings online.
To improve service and keep up with demand, Dunelm is going through a major transformation and are writing their e-commerce website in serverless. The project involves designing, building, and operating a serverless application, comprised of thousands of AWS Lambda functions, at a very high scale. A group of over 80 developers and DevOps practitioners in two separate locations are working on this large project. Overall, 90 percent of the code is serverless.
As Dunelm moved towards AWS Lambda, it was challenging for teams to break services into dozens of functions. It was difficult to correlate them and have a consolidated view of all the many services. They heard about Epsagon through AWS and started a proof of concept (POC).
“Setting up Epsagon required little effort and provided a lot of visibility very quickly,” says Tonino Greco, head of infrastructure and DevOps at Dunelm. “We clicked on one button and all the functions were visible right away. We were ecstatic.”
After a week, more people in the team were using Epsagon and Tonino demoed the tool to 80 people from additional teams to show them what they had been working on. The other teams were excited and asked to try Epsagon as well. “The adoption of the tool has been great. Epsagon is high up in everyone’s mind as THE tool to use. The architecture view was very useful to show to other teams and to the management,” says Tonino.
With Epsagon, Dunelm is able to execute their vision of a fully-serverless system at a high scale. Adoption across engineering and DevOps teams has been great, and the support that Epsagon provided was a key parameter in the success of using the tool.
“Epsagon’s team has been absolutely amazing,” says Tonino. “We had a Slack channel with several of Epsagon’s team. Questions were answered quickly—9 out of 10 questions were answered right away. We asked for a bunch of feature requests and most of them were implemented very quickly. The fact that the things they asked for are on a roadmap or just done is refreshing. It has been a really good journey.”
As engineering and DevOps teams are adopting modern cloud technologies, the complexity of their applications increases. Troubleshooting and monitoring are key challenges, as well as keeping track of the dynamic infrastructure cost. Developing new features is difficult due to lack of visibility into the production application.
Epsagon’s automated observability solution provides teams with the confidence to develop and operate complex, high scale applications. With a five-minute setup, companies can adopt modern microservice technologies while keeping track of their production workloads and preventing potential risks.
Epsagon – APN Partner Spotlight
Epsagon is an AWS DevOps Competency Partner. Its automated application performance monitoring platform helps customers leverage distributed tracing that monitors and troubleshoots your full application stack.
*Already worked with Epsagon? Rate this Partner
*To review an APN Partner, you must be an AWS customer that has worked with them directly on a project.