Serverless Best Practices with AWS Lambda PowerTools

For one-off tasks, AWS Lambda really can be incredibly easy. You write a few lines of code, deploy it, and you have a function running in the cloud ready to respond to events, scale automatically, and that only costs you pennies.But as your application grows, so does some necessary complexity. When a few one-off functions become a full serverless backend architecture made up of interconnected services, you’ll need to pay careful attention to best practices to ensure that your application is easy to debug, maintain, and scale.That’s where AWS Powertools for Lambda fits in. It’s a suite of reusable utilities designed to simplify bringing best practices around things like logging, tracing, metrics, idempotency and more to your Lambda functions with minimal effort.This demo session will dive into some of the functionality provided by the AWS Powertools (TypeScript) core libraries, such as:Encapsulating best practices into reusable libraries for structured logging, metrics collection, idempotency, and more.Leveraging Middy middleware to integrate common cross-cutting concerns, such as injecting Lambda context or automatically flushing metric.Enabling local testing with LocalStack, allowing you to deploy and debug Lambda functions with structured logs, trace data, and embedded metrics.Providing modular examples that can be deployed to AWS or LocalStack with ease, enabling developers to explore libraries.

Related Talks

AWS Data Streaming with LocalStack in Action

In this session, Maximillian Hoheiser discussed developing & testing AWS Data Streaming with LocalStack! In this talk, he focused on Kinesis Data Firehose, an AWS service that allows you to extract, transform, and load streaming data into various destinations like Amazon S3.He dived into how to set up testing for Kinesis Firehose and seamlessly integrated it with other services using Boto3 and CDK/CloudFormation. Maximillian led a live demonstration, showcasing how to set up a practical business case, implement it, and rigorously test it using LocalStack.

Learn More
Learn More
Adopting Testcontainers for local development

Local development and testing are significant for engineers who wish to ship confidently onto production environments. Test-driven development (TDD) has been adopted as an essential practice to enforce that and ensure that every code change is validated locally and on CI. This is where we arrive at the Testcontainers libraries that support your tests, providing lightweight, ephemeral instances of common databases, message brokers, web browsers, or anything else that can run in a Docker container. With Testcontainers, available in different popular languages: Java, Go, .NET, JavaScript/Typescript, and Python, you can replicate the production environment on your local machine and test everything (including AWS APIs powered by LocalStack)! Testcontainers ensure that the data access layer, user interface, and application are tested well at each step. In this session, we have looked at Testcontainers and how to adopt them to develop our applications locally and run our integration tests while using LocalStack to provision cloud resources inside a Docker container before pushing your application to production! In the end, we have also discussed how LocalStack and the Java version of Testcontainers play nicely with each other and wind up with updates about the all-new LocalStack release!

Learn More
Learn More

Launch yourself in the world of local cloud development

Try for free
Try for free
Talk to Sales
Talk to Sales