AWS Compute Blog

James Beswick

Author: James Beswick

James Beswick is a Principal Developer Advocate for the AWS Serverless Team. He works with AWS's developer customers to understand how serverless technologies can drastically change the way they think about building and running applications at massive scale with minimal administration overhead. Follow James Beswick on Twitter: Visit for more serverless content.

Serverless GIF generator demo

Building a serverless GIF generator with AWS Lambda: Part 1

Many video streaming services show GIF animations in the frontend when users fast forward and rewind throughout a video. This helps customers see a preview and makes the user interface more intuitive. Generating these GIF files is a compute-intensive operation that becomes more challenging to scale when there are many videos. Over a typical 2-hour […]

Read More
Solution architecture

Sending mobile push notifications and managing device tokens with serverless applications

This blog shows how to deploy a serverless solution for validating and managing SNS platform endpoints and tokens. To publish push notifications successfully, use SNS to check the endpoint attribute and ensure it is mapped to the correct token and the endpoint is enabled.

Read More
Create function page

Python 3.9 runtime now available in AWS Lambda

You can now create new functions or upgrade existing Python functions to Python 3.9. Lambda’s support of the Python 3.9 runtime enables you to take advantage of improved performance and new features in this version. Additionally, the Lambda service now runs the code before the handler, supports TLS 1.3, and provides enhanced logging for errors.

Read More
Kinesis producers and consumers

Understanding data streaming concepts for serverless applications

In this post, I introduce some of the core streaming concepts for serverless applications. I explain some of the benefits of streaming architectures and how Kinesis works with producers and consumers. I compare different ways to ingest data, how streams are composed of shards, and how partition keys determine which shard is used. Finally, I explain the payload formats at the different stages of a streaming workload, how message ordering works with shards, and why idempotency is important to handle.

Read More