AWS Lambda: Difference between revisions

Content deleted Content added
Removed unnecessary details to improve the page and also because wikipedia is not a manual.
m Specification: Added link
Tags: Mobile edit Mobile app edit Android app edit
Line 15:
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}}</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}}</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}}</ref> was added to AWS Lambda.
 
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}}</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}}</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}}</ref>
 
AWS Lambda Layers allow developers to easily manage and share common components across multiple Lambda functions. It's designed to promote code reusability and simplify the deployment of libraries, custom runtimes, and other dependencies that Lambda functions might need. Lambda Layers can be particularly useful in microservices architectures, where multiple functions might share the same dependencies.<ref>{{Cite web |date=2022-08-11 |title=Building Serverless SaaS Microservices with AWS Lambda Layers {{!}} AWS Partner Network (APN) Blog |url=https://aws.amazon.com/blogs/apn/building-serverless-saas-microservices-with-aws-lambda-layers/ |access-date=2024-02-02 |website=aws.amazon.com |language=en-US}}</ref> By using layers, one can ensure that all functions are using the same version of a library, making the application more consistent and easier to manage.
 
==Best practices==
Following [[DevSecOps]] practices can help you to use and to secure Lambda-based applications more effectively. <ref>{{Cite book |last=Katzer |first=Jason |title=Learning Serverless: Design, Develop, and Deploy with Confidence |publisher=O'Reilly Media |year=2020 |isbn=978-1492057017}}</ref> In Lambda-based applications, the line between the infrastructure and business logic is blurred and the apps are usually spread across various services. According to Yan Cui, to get the most value from testing efforts, Lambda-based applications should to be tested mainly for their integrations, and unit tests should be used only if there is a complex business logic. Also, to make debugging and implementation of Lambda-based easier, developers should use [[Orchestration (computing)|orchestration]] within the [[Domain-driven design|bounded context]] of a [[Microservices|microservice]], and should use [[Service choreography|choreography]] between the bounded-contexts.<ref>{{Cite book |last=Cui |first=Yan |title=Serverless Architectures on AWS |publisher=Manning |year=2020 |isbn=978-1617295423 |edition=2nd}}</ref>