Chapter 25. AWS Lambda

AWS Lambda is a new software execution environment created by AWS designed to provide event-driven compute capabilities without the need to purchase, set up, configure, or maintain servers. Lambda gives you virtually unlimited scalability with the ability to pay at a subsecond-metered level.

Lambda is a great technology for background processing of event-triggered actions. Here are some typical use cases:

  • Image transformation for newly uploaded images

  • Real-time metric data processing

  • Streaming data validation, filtering, and transformation

It is best suited for any sort of processing where:

  • Operations need to be performed as the result of an event occurring in your application or environment

  • A data stream needs filtering or transformation

  • Edge validation or regulation of inbound data is necessary

But the real power of Lambda is that it completely removes the concerns around scalability. Lambda can scale to almost any rational scaling size necessary, without any actions required to make that happen.

Using Lambda

At this point, you might be thinking “Sounds great, but what are some architectures that can utilize Lambda?” The following sections describe some of these.

Event Processing

Consider a picture management application. Users can upload pictures to the cloud, which are then stored in S3. The application displays thumbnail versions of those pictures and lets users update attributes associated with those pictures, such as name, location, ...

Get Architecting for Scale now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.