Serverless

AWS Lambda – how best to manage shared code and shared infrastructure

In the last post I discussed the pros & cons of following the Single Responsibility Principle (SRP) when moving to the serverless paradigm. One of the questions that popped up on both Twitter and Medium is “how do you deal with shared code?”. It is a FAQ whenever I speak at user groups or conferences about AWS Lambda, alongside “how do …

AWS Lambda – how best to manage shared code and shared infrastructure Read More »

AWS Lambda – should you have few monolithic functions or many single-purposed functions?

A funny moment (at 38:50) happened during Tim Bray’s session (SRV306) at re:invent 2017, when he asked the audience if we should have many simple, single-purposed functions, or fewer monolithic functions, and the room was pretty much split in half. Having been brought up on the SOLID principles, and especially the single responsibility principle (SRP), …

AWS Lambda – should you have few monolithic functions or many single-purposed functions? Read More »

You need to use structured logging with AWS Lambda

This is a lesson that I wished I learnt when I first started using AWS Lambda in anger, it would have made my life simpler right from the start.  But, we did get there before long, and it allowed us to track and include correlation IDs in our log messages (which are then pushed to an ELK stack)which would …

You need to use structured logging with AWS Lambda Read More »

I’m afraid you’re thinking about AWS Lambda cold starts all wrong

When I discuss AWS Lambda cold starts with folks in the context of API Gateway, I often get responses along the line of: Meh, it’s only the first request right? So what if one request is slow, the next million requests would be fast. Unfortunately that is an oversimplification of what happens. Cold start happens once for …

I’m afraid you’re thinking about AWS Lambda cold starts all wrong Read More »

AWS Lambda – use the invocation context to better handle slow HTTP responses

With API Gateway and Lambda, you’re forced to use relatively short timeouts on the server-side: API Gateway have a 30s max timeout on all integration points Serverless framework uses a default of 6s for AWS Lambda functions However, as you have limited influence over a Lambda function’s cold start time and have no control over the amount of …

AWS Lambda – use the invocation context to better handle slow HTTP responses Read More »

Applying principles of chaos engineering to AWS Lambda with latency injection

This is part 2 of a multipart series that explores ideas on how we could apply the principles of chaos engineering to serverless architectures built around Lambda functions. part 1: how can we apply principles of chaos engineering to Lambda? part 2: latency injection for APIs <- you’re here part 3: fault injection for Lambda …

Applying principles of chaos engineering to AWS Lambda with latency injection Read More »

How can we apply the principles of chaos engineering to AWS Lambda?

This is the first of a multipart series that explores ideas on how we could apply the principles of chaos engineering to serverless architectures built around Lambda functions. part 1: how can we apply principles of chaos engineering to Lambda? <- you’re here part 2: latency injection for APIs part 3: fault injection for Lambda …

How can we apply the principles of chaos engineering to AWS Lambda? Read More »

Mind the 75GB limit on AWS Lambda deployment packages

Gotta clean up those old Lambda deployment packages! With AWS Lambda and the Serverless framework, deploying your code has become so simple and frictionless. As you move more and more of your architecture to run on Lambda, you might find that, in addition to getting things done faster you are also deploying your code more frequently. That’s awesome! But, …

Mind the 75GB limit on AWS Lambda deployment packages Read More »

You should use SSM Parameter Store over Lambda env variables

AWS Lambda announced native support for environment variables at the end of 2016. But even before that, the Serverless framework had supported environment variables and I was using them happily as me and my team at the time migrated our monolithic Node.js backend to serverless. However, as our architecture expanded we found several drawbacks with managing configurations with environment variables. …

You should use SSM Parameter Store over Lambda env variables Read More »

Using Protocol Buffers with API Gateway and AWS Lambda

AWS announced binary support for API Gateway in late 2016, which opened up the door for you to use more efficient binary formats such as Google’s Protocol Buffers and Apache Thrift. Why? Compared to JSON – which is the bread and butter for APIs built with API Gateway and Lambda – these binary formats can produce significantly smaller payloads. At scale, …

Using Protocol Buffers with API Gateway and AWS Lambda Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close