AWS lambda documentation change
Summary
Restructured Lambda documentation with expanded feature explanations, added use case examples, and reorganized security-related content. Added details about execution roles, code signing, and VPC integration.
Security assessment
The changes add documentation about security features like execution roles ('lambda-permissions.html'), code signing for compliance, and VPC network security. However, there is no evidence of addressing a specific security vulnerability or incident. The updates improve security documentation but don't indicate remediation of a security issue.
Diff
diff --git a/lambda/latest/dg/welcome.md b/lambda/latest/dg/welcome.md index f924358ab..258783e16 100644 --- a//lambda/latest/dg/welcome.md +++ b//lambda/latest/dg/welcome.md @@ -5 +5 @@ -When to use LambdaKey features +When to use LambdaHow Lambda worksKey featuresRelated information @@ -9 +9 @@ When to use LambdaKey features -You can use AWS Lambda to run code without provisioning or managing servers. +You can use AWS Lambda to run code without provisioning or managing servers. Lambda runs your code on a high-availability compute infrastructure and manages all the computing resources, including server and operating system maintenance, capacity provisioning, automatic scaling, and logging. You organize your code into Lambda functions. The Lambda service runs your function only when needed and scales automatically. For pricing information, see [AWS Lambda Pricing](https://aws.amazon.com/lambda/pricing/) for details. @@ -11 +11 @@ You can use AWS Lambda to run code without provisioning or managing servers. -Lambda runs your code on a high-availability compute infrastructure and performs all of the administration of the compute resources, including server and operating system maintenance, capacity provisioning and automatic scaling, and logging. With Lambda, all you need to do is supply your code in one of the language runtimes that Lambda supports. +When using Lambda, you are responsible only for your code. Lambda manages the compute fleet that offers a balance of memory, CPU, network, and other resources to run your code. Because Lambda manages these resources, you cannot log in to compute instances or customize the operating system on provided runtimes. @@ -13 +13 @@ Lambda runs your code on a high-availability compute infrastructure and performs -You organize your code into Lambda functions. The Lambda service runs your function only when needed and scales automatically. You only pay for the compute time that you consume—there is no charge when your code is not running. For more information, see [AWS Lambda Pricing](https://aws.amazon.com/lambda/pricing/). +## When to use Lambda @@ -15 +15 @@ You organize your code into Lambda functions. The Lambda service runs your funct -###### Tip +Lambda is an ideal compute service for application scenarios that need to scale up rapidly, and scale down to zero when not in demand. For example, you can use Lambda for: @@ -17 +17 @@ You organize your code into Lambda functions. The Lambda service runs your funct -To learn how to build **serverless solutions** , check out the [Serverless Developer Guide](https://docs.aws.amazon.com/serverless/latest/devguide/). + * **Stream processing:** Use Lambda and Amazon Kinesis to process real-time streaming data for application activity tracking, transaction order processing, clickstream analysis, data cleansing, log filtering, indexing, social media analysis, Internet of Things (IoT) device data telemetry, and metering. @@ -19 +19 @@ To learn how to build **serverless solutions** , check out the [Serverless Devel -## When to use Lambda + * **Web applications:** Combine Lambda with other AWS services to build powerful web applications that automatically scale up and down and run in a highly available configuration across multiple data centers. To build web applications with AWS services, developers can use infrastructure as code (IaC) and orchestration tools such as [AWS CloudFormation](https://aws.amazon.com/cloudformation), [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk), [AWS Serverless Application Model](https://aws.amazon.com/serverless/sam), or coordinate complex workflows using [AWS Step Functions](https://aws.amazon.com/step-functions). @@ -21 +21 @@ To learn how to build **serverless solutions** , check out the [Serverless Devel -Lambda is an ideal compute service for application scenarios that need to scale up rapidly, and scale down to zero when not in demand. For example, you can use Lambda for: + * **Mobile backends:** Build backends using Lambda and Amazon API Gateway to authenticate and process API requests. Use AWS Amplify to easily integrate with your iOS, Android, Web, and React Native frontends. @@ -23 +23 @@ Lambda is an ideal compute service for application scenarios that need to scale - * **File processing:** Use Amazon Simple Storage Service (Amazon S3) to trigger Lambda data processing in real time after an upload. + * **[IoT backends](./services-iot.html):** Build serverless backends using Lambda to handle web, mobile, IoT, and third-party API requests. @@ -25 +25 @@ Lambda is an ideal compute service for application scenarios that need to scale - * **Stream processing:** Use Lambda and Amazon Kinesis to process real-time streaming data for application activity tracking, transaction order processing, clickstream analysis, data cleansing, log filtering, indexing, social media analysis, Internet of Things (IoT) device data telemetry, and metering. + * **[File processing:](./example-apps.html#examples-apps-file)** Use Amazon Simple Storage Service (Amazon S3) to trigger Lambda data processing in real time after an upload. @@ -27 +27 @@ Lambda is an ideal compute service for application scenarios that need to scale - * **Web applications:** Combine Lambda with other AWS services to build powerful web applications that automatically scale up and down and run in a highly available configuration across multiple data centers. + * **[Database Operations and Integration:](./example-apps.html#examples-apps-database)** Use Lambda to process database interactions both reactively and proactively, from handling queue messages for Amazon RDS operations like user registrations and order submissions, to responding to DynamoDB changes for audit logging, data replication, and automated workflows. @@ -29 +29 @@ Lambda is an ideal compute service for application scenarios that need to scale - * **IoT backends:** Build serverless backends using Lambda to handle web, mobile, IoT, and third-party API requests. + * **[Scheduled and Periodic Tasks:](./example-apps.html#examples-apps-scheduled)** Use Lambda with EventBridge rules to execute time-based operations such as database maintenance, data archiving, report generation, and other scheduled business processes using cron-like expressions. @@ -31 +30,0 @@ Lambda is an ideal compute service for application scenarios that need to scale - * **Mobile backends:** Build backends using Lambda and Amazon API Gateway to authenticate and process API requests. Use AWS Amplify to easily integrate with your iOS, Android, Web, and React Native frontends. @@ -34,0 +34 @@ Lambda is an ideal compute service for application scenarios that need to scale +## How Lambda works @@ -36 +36 @@ Lambda is an ideal compute service for application scenarios that need to scale -When using Lambda, you are responsible only for your code. Lambda manages the compute fleet that offers a balance of memory, CPU, network, and other resources to run your code. Because Lambda manages these resources, you cannot log in to compute instances or customize the operating system on provided runtimes. Lambda performs operational and administrative activities on your behalf, including managing capacity, monitoring, and logging your Lambda functions. +Because Lambda is a serverless, event-driven compute service, it uses a different programming paradigm than traditional web applications. The following model illustrates how Lambda fundementally works: @@ -38 +38,5 @@ When using Lambda, you are responsible only for your code. Lambda manages the co -## Key features + 1. You write and organize your code in [Lambda functions](./concepts-basics.html#gettingstarted-concepts-function), which are the basic building blocks you use to create a Lambda application. + + 2. You control security and access through [Lambda permissions](./lambda-permissions.html), using [execution roles](./lambda-intro-execution-role.html) to manage what AWS services your functions can interact with and what resource policies can interact with your code. + + 3. Event sources and AWS services [trigger](./concepts-event-driven-architectures.html) your Lambda functions, passing event data in JSON format, which your functions process (this includes event source mappings). @@ -40 +44 @@ When using Lambda, you are responsible only for your code. Lambda manages the co -The following key features help you develop Lambda applications that are scalable, secure, and easily extensible: + 4. [Lambda runs your code](./concepts-how-lambda-runs-code.html) with language-specific runtimes (like Node.js and Python) in execution environments that package your runtime, layers, and extensions. @@ -42 +45,0 @@ The following key features help you develop Lambda applications that are scalabl -**[Environment variables](./configuration-envvars.html)** @@ -45 +47,0 @@ The following key features help you develop Lambda applications that are scalabl -Use environment variables to adjust your function's behavior without updating code. @@ -47 +49,3 @@ Use environment variables to adjust your function's behavior without updating co -**[Versions](./configuration-versions.html)** +###### Tip + +To learn how to build **serverless solutions** , check out the [Serverless Developer Guide](https://docs.aws.amazon.com/serverless/latest/devguide/). @@ -48,0 +53 @@ Use environment variables to adjust your function's behavior without updating co +## Key features @@ -50 +55 @@ Use environment variables to adjust your function's behavior without updating co -Manage the deployment of your functions with versions, so that, for example, a new function can be used for beta testing without affecting users of the stable production version. +**Configure, control, and deploy secure applications:** @@ -52 +57 @@ Manage the deployment of your functions with versions, so that, for example, a n -**[Container images](./images-create.html)** + * [Environment variables](./configuration-envvars.html) modify application behavior without new code deployments. @@ -53,0 +59 @@ Manage the deployment of your functions with versions, so that, for example, a n + * [Versions](./configuration-versions.html) safely test new features while maintaining stable production environments. @@ -55 +61 @@ Manage the deployment of your functions with versions, so that, for example, a n -Create a container image for a Lambda function by using an AWS provided base image or an alternative base image so that you can reuse your existing container tooling or deploy larger workloads that rely on sizable dependencies, such as machine learning. + * [Lambda layers](./chapter-layers.html) optimize code reuse and maintenance by sharing common components across multiple functions. @@ -57 +63 @@ Create a container image for a Lambda function by using an AWS provided base ima -**[Lambda layers](./chapter-layers.html)** + * [Code signing](./configuration-codesigning.html) enforce security compliance by ensuring only approved code reaches production systems. @@ -60 +65,0 @@ Create a container image for a Lambda function by using an AWS provided base ima -Package libraries and other dependencies to reduce the size of deployment archives and makes it faster to deploy your code. @@ -62 +66,0 @@ Package libraries and other dependencies to reduce the size of deployment archiv -**[Lambda extensions](./lambda-extensions.html)** @@ -63,0 +68 @@ Package libraries and other dependencies to reduce the size of deployment archiv +**Scale and perform reliably:** @@ -65 +70 @@ Package libraries and other dependencies to reduce the size of deployment archiv -Augment your Lambda functions with tools for monitoring, observability, security, and governance. + * [Concurrency and scaling controls](./lambda-concurrency.html) precisely manage application responsiveness and resource utilization during traffic spikes. @@ -67 +72 @@ Augment your Lambda functions with tools for monitoring, observability, security -**[Function URLs](./urls-configuration.html)** + * [Lambda SnapStart](./snapstart.html) significantly reduce cold start times. Lambda SnapStart can provide as low as sub-second startup performance, typically with no changes to your function code. @@ -68,0 +74 @@ Augment your Lambda functions with tools for monitoring, observability, security + * [Response streaming](./configuration-response-streaming.html) optimize function performance by delivering large payloads incrementally for real-time processing. @@ -70 +76 @@ Augment your Lambda functions with tools for monitoring, observability, security -Add a dedicated HTTP(S) endpoint to your Lambda function. + * [Container images](./images-create.html) package functions with complex dependencies using container workflows. @@ -72 +77,0 @@ Add a dedicated HTTP(S) endpoint to your Lambda function. -**[Response streaming](./configuration-response-streaming.html)** @@ -75 +79,0 @@ Add a dedicated HTTP(S) endpoint to your Lambda function. -Configure your Lambda function URLs to stream response payloads back to clients from Node.js functions, to improve time to first byte (TTFB) performance or to return larger payloads. @@ -77 +81 @@ Configure your Lambda function URLs to stream response payloads back to clients -**[Concurrency and scaling controls](./lambda-concurrency.html)** +**Connect and integrate seamlessly:** @@ -78,0 +83 @@ Configure your Lambda function URLs to stream response payloads back to clients + * [VPC networks](./configuration-vpc.html) secure sensitive resources and internal services. @@ -80 +85 @@ Configure your Lambda function URLs to stream response payloads back to clients -Apply fine-grained control over the scaling and responsiveness of your production applications. + * [File system](./configuration-filesystem.html) integration that shares persistent data and manage stateful operations across function invocations. @@ -82 +87 @@ Apply fine-grained control over the scaling and responsiveness of your productio -**[Code signing](./configuration-codesigning.html)** + * [Function URLs](./urls-configuration.html) create public-facing APIs and endpoints without additional services. @@ -83,0 +89 @@ Apply fine-grained control over the scaling and responsiveness of your productio + * [Lambda extensions](./lambda-extensions.html) augment functions with monitoring, security, and operational tools. @@ -85 +90,0 @@ Apply fine-grained control over the scaling and responsiveness of your productio -Verify that only approved developers publish unaltered, trusted code in your Lambda functions @@ -87 +91,0 @@ Verify that only approved developers publish unaltered, trusted code in your Lam -**[Private networking](./configuration-vpc.html)** @@ -90 +94 @@ Verify that only approved developers publish unaltered, trusted code in your Lam -Create a private network for resources such as databases, cache instances, or internal services. +## Related information @@ -92 +96 @@ Create a private network for resources such as databases, cache instances, or in -**[File system](./configuration-filesystem.html)** + * For information on how Lambda works, see [How Lambda works](./concepts-basics.html). @@ -93,0 +98 @@ Create a private network for resources such as databases, cache instances, or in + * To start using Lambda, see [Create your first Lambda function](./getting-started.html). @@ -95 +100 @@ Create a private network for resources such as databases, cache instances, or in -Configure a function to mount an Amazon Elastic File System (Amazon EFS) to a local directory, so that your function code can access and modify shared resources safely and at high concurrency. + * For a list of example applications, see [Getting started with example applications and patterns](./example-apps.html). @@ -97 +101,0 @@ Configure a function to mount an Amazon Elastic File System (Amazon EFS) to a lo -**[Lambda SnapStart](./snapstart.html)** @@ -100 +103,0 @@ Configure a function to mount an Amazon Elastic File System (Amazon EFS) to a lo -Lambda SnapStart can provide as low as sub-second startup performance, typically with no changes to your function code. @@ -108 +111 @@ To use the Amazon Web Services Documentation, Javascript must be enabled. Please -Create your first function +How it works