AWS Lambda: Difference between revisions

Content deleted Content added
Rescuing 13 sources and tagging 0 as dead.) #IABot (v2.0.9.5
Line 12:
 
==Specification==
As of 2024, each AWS Lambda instance runs within a lightweight container powered by [[Firecracker (software)|Firecracker]] microVMs, initialized from an Amazon Linux AMI (a RHEL/CentOS-based distribution). Firecracker provides hardware-virtualization-based isolation, aiming to achieve near-bare-metal performance with minimal overhead. AWS claims that, unlike traditional virtual machines, these microVMs launch in milliseconds, enabling rapid and secure function execution with a minimal memory footprint. The Amazon Linux AMI is specifically optimized for cloud-native and serverless workloads, aiming to provide a lightweight, secure, and performant runtime environment. <ref>{{Cite book |title=Accelerating Server-Side Development with Fastify: A comprehensive guide to API development for building a scalable backend for your web apps |isbn=9781800568747}}</ref><ref>{{Cite web |title=Firecracker – Lightweight Virtualization for Serverless Computing |url=https://aws.amazon.com/blogs/aws/firecracker-lightweight-virtualization-for-serverless-computing/ |url-status=live}}</ref><ref>{{Cite web |title=Secure and fast microVMs for serverless computing |url=https://firecracker-microvm.github.io/ |url-status=live}}</ref>
Each AWS Lambda instance is a [[OS-level_virtualisation|container]] created from [[Amazon Machine Image|Amazon Linux AMI]]s (a Linux distribution related to [[RHEL]]) and a configurable execution time. [[Node.js]], [[Python (programming language)|Python]], [[Java (programming language)|Java]], [[Go (programming language)|Go]],<ref>{{cite web |last=Munns |first=Chris |date=January 15, 2018 |title=Announcing Go Support for AWS Lambda |url=https://aws.amazon.com/blogs/compute/announcing-go-support-for-aws-lambda/ |access-date=December 10, 2019 |website=Amazon Web Services |archive-date=October 15, 2019 |archive-url=https://web.archive.org/web/20191015132051/https://aws.amazon.com/blogs/compute/announcing-go-support-for-aws-lambda/ |url-status=live }}</ref> [[Ruby (programming language)|Ruby]],<ref>{{cite web |last=Munns |first=Chris |date=November 29, 2018 |title=Announcing Ruby Support for AWS Lambda |url=https://aws.amazon.com/blogs/compute/announcing-ruby-support-for-aws-lambda/ |access-date=December 10, 2019 |website=Amazon Web Services |archive-date=October 15, 2019 |archive-url=https://web.archive.org/web/20191015132019/https://aws.amazon.com/blogs/compute/announcing-ruby-support-for-aws-lambda/ |url-status=live }}</ref> and [[C Sharp (programming language)|C#]] (through [[.NET]]) are all officially supported {{as of|2018|lc=1}}. In late 2018, custom runtime support<ref>{{cite web |date=November 29, 2018 |title=AWS Lambda Now Supports Custom Runtimes and Enables Sharing Common Code Between Functions |url=https://aws.amazon.com/about-aws/whats-new/2018/11/aws-lambda-now-supports-custom-runtimes-and-layers/ |access-date=December 10, 2019 |website=Amazon Web Services |archive-date=October 17, 2019 |archive-url=https://web.archive.org/web/20191017111944/https://aws.amazon.com/about-aws/whats-new/2018/11/aws-lambda-now-supports-custom-runtimes-and-layers/ |url-status=live }}</ref> was added to AWS Lambda.
 
As of Dec 2024, AWS Lambda supports [[Node.js]], [[Python (programming language)|Python]], [[Java (programming language)|Java]], [[Go (programming language)|Go]], [[.NET]], [[Ruby (programming language)|Ruby]] and custom runtimes. <ref>{{Cite web |title=Lambda runtimes |url=https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html |url-status=live}}</ref>
 
==Features==
In 2019, at the AWS annual cloud computing conference (AWS re:Invent), the AWS Lambda team announced "Provisioned Concurrency", a feature that "keeps functions initialized and hyper-ready to respond in double-digit milliseconds."<ref>{{cite web |date=3 December 2019 |title=New – Provisioned Concurrency for Lambda Functions |url=https://aws.amazon.com/blogs/aws/new-provisioned-concurrency-for-lambda-functions/ |access-date=2020-10-12 |website=aws.amazon.com |archive-date=2020-10-18 |archive-url=https://web.archive.org/web/20201018033719/https://aws.amazon.com/blogs/aws/new-provisioned-concurrency-for-lambda-functions/ |url-status=live }}</ref> The Lambda team described Provisioned Concurrency as "ideal for implementing interactive services, such as web and mobile backends, latency-sensitive [[microservices]], or synchronous APIs."<ref>{{Cite web |date=2019-12-03 |title=New – Provisioned Concurrency for Lambda Functions |url=https://aws.amazon.com/blogs/aws/new-provisioned-concurrency-for-lambda-functions/ |access-date=2020-02-03 |website=Amazon Web Services |language=en-US |archive-date=2020-02-03 |archive-url=https://web.archive.org/web/20200203223548/https://aws.amazon.com/blogs/aws/new-provisioned-concurrency-for-lambda-functions/ |url-status=live }}</ref>
 
The Lambda Function URL gives Lambda a unique and permanent [[URL]] which can be accessed by [[authenticated]] and non-authenticated users alike.<ref name=":0">{{Cite web |title=Lambda function URLs - AWS Lambda |url=https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html |access-date=2024-03-01 |website=docs.aws.amazon.com |archive-date=2024-03-01 |archive-url=https://web.archive.org/web/20240301105416/https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html |url-status=live }}</ref>
 
=== Lambda layer ===
AWS Lambda layer is a ZIP archive containing libraries, frameworks or custom code that can be added to AWS Lambda functions. <ref>{{Cite web |title=Managing Lambda dependencies with layers |url=https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html |url-status=live |access-date=2024-02-02 |archive-date=2024-02-04 |archive-url=https://web.archive.org/web/20240204142231/https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html }}</ref> As of December 2024, AWS Lambda layers have significant limitations: <ref>{{Cite book |last=Sbarski |first=Peter |title=Serverless Architectures on AWS: With examples using AWS Lambda |isbn=9781638351146}}</ref><ref>{{Cite book |title=Data Engineering with AWS: Learn how to design and build cloud-based data transformation pipelines using AWS |isbn=9781800569041}}</ref>