AWS Compute Blog
ICYMI: Serverless Q1 2021
Welcome to the 13th edition of the AWS Serverless ICYMI (in case you missed it) quarterly recap. Every quarter, we share all of the most recent product launches, feature enhancements, blog posts, webinars, Twitch live streams, and other interesting things that you might have missed!
In case you missed our last ICYMI, check out what happened last quarter here.
AWS re:Invent – January week
re:Invent was entirely virtual in 2020 and offered additional sessions in January 2021. The serverless developer advocacy team presented a number of talks to help developers build their skills. These are now available on-demand:
- Best practices for growing a serverless application with Ben Smith.
- Becoming proficient with serverless application observability with Julian Wood.
- Amazon API Gateway HTTP APIs: Beyond the proxy with Eric Johnson.
- AWS Lambda – Part 1: Optimizing your serverless applications with Chris Munns.
- Thinking serverless: From business problem to serverless solution with James Beswick.
- Amazon S3 to AWS Lambda: A flexible pattern at the core of serverless apps with James Beswick.
AWS Lambda
Lambda has launched the Lambda Operators Guide, which is built for developers and operators of Lambda-based applications. It provides opinionated guidance on how to build, measure, troubleshoot, and optimize your serverless compute applications. This guide covers many of the most important operational best practices and advice while explaining core topics underpinning how Lambda-based applications work.
Lambda announced support for Node.js 14, allowing developers to use the latest JavaScript engine for better performance. This runtime is natively supported, so you can choose it in the console or use the nodejs.14 runtime attribute in infrastructure-as-code templates.
Lambda added four new Trusted Advisor checks to help automate common best practices. These checks can identify functions with high error rates, excessive timeouts, deprecated runtimes, or VPC-enabled functions using only a single Availability Zone.
The Lambda console has been refreshed to reduce the amount of page scrolling and make it easier to complete common tasks. The new console provides logical groupings of features using tabs and side menus.
Amazon S3
Amazon launched S3 Object Lambda, which allows you to modify the contents of objects returned from GET requests. You can use this feature to filter data, redact sensitive information, or dynamically resize images.
This feature invokes a custom Lambda function after a GET request has retrieved data from a bucket. It replaces the need for additional infrastructure, such as a proxy layer, or having to maintain multiple derived copies of data.
To use this feature, you attach a processing Lambda function to an S3 Object Lambda Access Point. S3 automatically invokes the function to process and transform data, before returning it to the calling application.
AWS Step Functions
You can now define AWS Step Functions state machines in YAML in both the AWS Toolkit for Visual Studio Code and AWS CloudFormation. This simplifies infrastructure as code definitions by allowing you define workflows and other cloud resources in the same language.
You can now include AWS Glue DataBrew data preparation jobs in Step Functions workflows. You can orchestrate cleaning and data normalization steps in analytics and machine learning workflows.
Amazon API Gateway
Amazon API Gateway now allows data mapping in HTTP APIs. This allows developers to modify request data before it is sent downstream to backend integrations. This map process can replace the need for velocity templates.
API Gateway added 27 new conditional keys administrators can use to govern API deployment and configuration. These IAM condition keys are part of IAM and Service Control Policies (SCPs) used to centrally govern endpoint, authorization, and logging configurations.
The service also launched enhanced base path mapping for custom domains, introducing multi-level base path mapping. Previously, paths could not contain a forward slash in a base path. Now developers can use RESTful URLs to identity application paths using easy-to-understand patterns.
AWS X-Ray
AWS X-Ray Insights is now generally available. This feature can help customers proactively discover issues by using anomaly detection. X-Ray Insights can help determine the root cause of an issue, identify affected services, and understand the overall impact on end users.
Amazon EventBridge
Amazon EventBridge now supports trace propagation for X-Ray, which allows you to trace transactions through event-based architectures. This means that the trace headers that X-Ray adds to requests are passed to the event bus and through to target services.
Targets that support active tracing for X-Ray, such as Lambda, Step Functions and API Gateway, can use comprehensive traces from the event source. The samples in the GitHub repo show how to implement tracing across multiple AWS services.
EventBridge also launched API Destinations, which allows developers to route events to any REST API endpoint, even outside of AWS. This feature works with a range of SaaS providers or any other type of API or webhook. API Destinations stores the connection secret in AWS Secrets Manager and can limit the rate of invocations as a configurable setting. It retries the target for up to 24 hours and you can also configure a DLQ for additional resilience.
Developer tools
AWS Cloud9 now includes a git panel to enable visual source code integration. Previously, you could always use git in the terminal but this new visual tool allows you to push, pull, add, and commit files using the user interface.
Amazon DynamoDB
You can now use AWS CloudTrail to log data events for DynamoDB. You can log item-level activity from all tables or individual tables with read-only and write-only filters. You can use advanced event filters in CloudTrail to filter data events more specifically.
Additionally, you can also now log data-plane API activity on DynamoDB tables. You can record item-level activity to assist with audits or address compliance requirements for workloads. This feature can also monitor which IAM users, roles, and permissions are used to access table data.
AWS Amplify
Amplify Hosting has added Amazon CloudWatch integration, which provides monitoring capabilities for hosted websites. Amplify provides a dashboard with common metrics, such as bytes uploaded or downloaded, latency, and number of HTTP errors.
Amplify Flutter is now generally available. You can use the Amplify Flutter libraries with both Amplify-created backends and existing backends. This release adds Data, API, and Auth capabilities to the developer preview.
Amplify Android has also added first-class support for Kotlin, making it easier for Android developers to build in the AWS Cloud. This provides better hints in Android Studio and integrates with Android architecture components.
Announcing the Serverless Patterns Collection
The Serverless Land website has launched the Serverless Patterns Collection to help you find and use template snippets in your serverless applications. Select the services you want to use, and then copy and paste the resulting AWS SAM template into your code. We will continue to add new patterns and the site accepts contributions from the community to grow this collection.
View the Serverless Patterns Collection at http://serverlessland.com/patterns/.
Serverless Blog Posts
January
- Jan 4 – Discovering sensitive data in AWS CodeCommit with AWS Lambda
- Jan 11 – Operating Lambda: Understanding event-driven architecture – Part 1
- Jan 11 – Optimizing Lambda functions packaged as container images
- Jan 12 – Introducing message archiving and analytics for Amazon SNS
- Jan 19 – Operating Lambda: Design principles in event-driven architectures – Part 2
- Jan 21 – Building PHP Lambda functions with Docker container images
- Jan 25 – Operating Lambda: Anti-patterns in event-driven architectures – Part 3
- Jan 25 – Building a Jenkins Pipeline with AWS SAM
- Jan 27 – Building server-side rendering for React in AWS Lambda
February
- Feb 1 – Operating Lambda: Application design and Service Quotas – Part 1
- Feb 3 – Node.js 14.x runtime now available in AWS Lambda
- Feb 4 – Configuring private integrations with Amazon API Gateway HTTP APIs
- Feb 8 – Operating Lambda: Application design – Scaling and concurrency: Part 2
- Feb 9 – Extending SaaS products with serverless functions
- Feb 15 – Operating Lambda: Application design – Part 3
- Feb 22 – Operating Lambda: Building a solid security foundation – Part 1
- Feb 24 – Building a serverless multi-player game that scales
March
- Mar 1 – Operating Lambda: Building a solid security foundation – Part 2
- Mar 2 – Caching data and configuration settings with AWS Lambda extensions
- Mar 2 – Using AWS X-Ray tracing with Amazon EventBridge
- Mar 3 – Analyzing Freshdesk data using Amazon EventBridge and Amazon Athena
- Mar 4 – Using API destinations with Amazon EventBridge
- Mar 8 – Operating Lambda: Debugging code – Part 1
- Mar 9 – Building single binary file extensions for AWS Lambda with .NET
- Mar 10 – Accelerating workloads using parallelism in AWS Step Functions
- Mar 15 – Operating Lambda: Debugging configurations – Part 2
- Mar 17 – Building an image searching solution with the AWS CDK
- Mar 22 – Operating Lambda: Debugging configurations – Part 3
- Mar 24 – Announcing end of support for Python 2.7 in AWS Lambda
- Mar 24 – Integrating AWS Step Functions callbacks and external systems
- Mar 30 – Operating Lambda: Using CloudWatch Logs Insights
- Mar 31 – Using multiple segments in Amazon API Gateway base path mapping
Tech Talks & Events
We hold AWS Online Tech Talks covering serverless topics throughout the year. These are listed in the Serverless section of the AWS Online Tech Talks page. We also regularly deliver talks at conferences and events around the world, speak on podcasts, and record videos you can find to learn in bite-sized chunks.
Here are some from Q1:
- Enabling Observability of Serverless Workflows with AWS X-Ray with Ben Smith.
- Moving to Managed Airflow with Chris Munns.
Videos
February
- Serverless Office Hours: AWS Lambda – build applications with container image support for AWS Lambda
- Serverless Office Hours: AWS Step Functions – Automating operational tasks
- Serverless Office Hours: Amazon API Gateway – transforming API requests and responses in HTTP APIs
March
- Serverless Office Hours: AWS messaging and events – Decoupling applications with an event bus
- Serverless Office Hours: Serverless surprise! Serverless Flask apps with Ali Spittel
- Serverless Office Hours: AWS Lambda – observability!
- Serverless Office Hours: AWS Step Functions – Using parallelism in AWS Step Functions
- Serverless Office Hours: Amazon API Gateway – Amazon CloudWatch Synthetic blueprints for APIs
There are also other helpful videos covering Serverless available on the Serverless Land YouTube channel.
Still looking for more?
The Serverless landing page has more information. The Lambda resources page contains case studies, webinars, whitepapers, customer stories, reference architectures, and even more Getting Started tutorials.
You can also follow the Serverless Developer Advocacy team on Twitter to see the latest news, follow conversations, and interact with the team.
- Chris Munns: @chrismunns
- Eric Johnson: @edjgeek
- James Beswick: @jbesw
- Ben Smith: @benjamin_l_s
- Julian Wood: @julian_wood