TechWriterDev
  • Cloud
    • AWS
      • 00_Doubts
      • CloudPractitioner
        • Cloud Computing
        • AWS Global Infrastructure
        • Introduction to AWS EC2
        • Elastic load balancer(ELB)
        • 04_Messaging_Queuing
        • Aditional Computing Service
        • Accessing AWS resources
        • AWS Networking
        • Storage
        • Amazon Database Solutions
        • Monitoring Tools
        • AWS Security
        • Distributed Denial Of Service Attacks
      • DeveloperAssociate
        • References
        • AWS DVA-C02 Services Index
        • Services
          • 00_IAM
            • Identity and Access Management (IAM)
            • Account Protection Mechanisms
            • Access Mechanism of AWS Resources
            • Security Tools
            • Responsibility Model
            • Advanced Concepts
          • 01_EC2
            • Elastic Compute Cloud (EC2)
            • EC2 Volume Types
            • Amazon Machine Image (AMI)
            • AWS charges for IPv4 address
          • 02_SecurityGroups
            • Security Groups
          • 03_Elastic_LoadBalancing
            • Terminology
            • Elastic load balancer
            • Features
            • Basics
          • 04_AutoScaling
            • Auto Scaling
          • 05_RDS
            • Relational Database Service (RDS)
            • Aurora
            • Security
            • RDS Proxy
          • 06_ElastiCache
            • Cache
            • Cache Offerings
          • 07_Route53
            • Basics of DNS
            • Route 53
          • 08_VPC
            • Virtual Private Cloud (VPC)
          • 09_S3
            • Simple Storage Service (S3)
            • S3 Features
            • S3 Encryption
            • S3 Features
            • S3 Bucket Policy and IAM Policy
          • 10_ECS
            • Elastic Container Service (ECS)
            • Elastic Container Registry (ECR)
            • AWS Copilot
          • 11_EKS
            • Elastic Kubernetes Service (EKS)
          • 12_SDK_CLI_Tips
            • Access AWS Resources
          • 13_CloudFront
            • Cloud Front
          • 14_Messaging
            • Simple Queue Service (SQS)
            • Simple Notification Service (SNS)
            • Fan Out Pattern
            • Kinesis
            • Compare and Contrast
          • 15_ElasticBeanStalk
            • Elastic Beanstalk
          • 16_CloudFormation
            • CloudFormation
            • Dynamic References
          • 17_Monitoring
            • AWS Monitoring
            • AWS CloudWatch
            • CloudWatch Alarms
            • Synthetics Canary
            • Amazon EventBridge (formerly CloudWatch Events)
            • X-Ray
            • OpenTelemetry
            • CloudTrail
          • 18_Lambda
            • Lambda
            • Lambda Integrations
            • Configuring Lambda
            • Lambda Layers
          • 19_API_Gateway
            • API Gateway
            • API Gateway Integrations
          • 20_DynamoDB
            • DynamoDB
            • Operations
            • Indexes
            • DynamoDB Accelerator (DAX)
            • DynamoDB Streams
            • Transactions
            • Integrations
          • 21_CICD
            • CICD
            • CodeCommit
            • CodePipeline
            • CodeBuild
            • CodeDeploy
            • CodeArtifact
            • CloudGuru
          • 22_SAM
            • Serverless Application Model (SAM)
          • 23_CDK
            • Cloud Development Kit (CDK)
          • 24_StepFunctions
            • Step Functions
            • Types of step function
          • 25_AppSync
            • AppSync
          • 26_Amplify
            • Amplify
          • 27_STS
            • Security Token Service (STS)
          • 28_DirectoryService
            • Active Directory
          • 29_KMS
            • Encryption
            • KMS API
            • Features
            • Cloud Hardware Security Module (HSM)
          • 30_SSM_Store
            • SSM Parameter Store
          • 31_SecretsManager
            • Secrets Manager
          • 32_Cognito
            • Cognito
      • Questions
        • AWS_Region
        • EC2
        • IAM
  • Database
    • MongoDb
      • Mongo db Basics
      • Mongo DB Atlas
      • Document
      • Import-Export based on Data Format
      • Mongo Shell Commands
      • Query Operators
      • Indexes
      • Upsert
      • MongoDB Aggregation Framework
      • Aggregation Framework Operators
    • PostgreSQL
      • POSTGRE SQL DataTypes
      • About table
      • Constraints
  • Technologies
    • RabbitMQ
      • RabbitMQ Concepts
      • Introduction to Exchanges
      • Introduction to Queues
    • Terraform
      • 00_Introduction
      • Configuration blocks
      • Commands
      • Variables
      • Terraform Cloud
      • Modules
  • Languages
    • Java
      • Logging
        • Getting Started
      • 00_Core
        • 00_Basics
          • Java Vs C++
          • Object oriented principles
          • Steps to compile a java program
          • JVM Internals
          • Understanding Java Development Kit
          • What is JIT Compiler?
          • Java data types
          • 07_identifiers_type_conversion
          • 08_references_and_packages
          • Steps for attaching scanner
        • Concurrency
          • 00_Threads
            • Threads
          • 01_ExecutorFramework
            • Executor Framework
            • Asynchronous Computation
      • 01_Backend
        • 01_HttpAndWebServerBasics
          • HTTP
          • Content Type
          • Web Server
        • 02_J2EE_Basics
          • J2EE_Basics
          • Why HttpServlet classs is declared as abstract class BUT with 100 % concrete functionality ?
        • 03_TomCatAndSession
          • What is a Session?
          • WebContainer
        • 04_PageNavigation
          • Cookies Additional Information
          • Page Navigation Techniques
        • 05_AboutServlet
          • CGI v/s Servlet
          • Executor Framework
          • Servlet Life cycle
          • SERVLET CONFIG
          • Servlet Context
          • Servlet Listener (web application listener)
        • 08_SpringBoot
          • Spring Boot
          • Some common annotations used in spring eco system
        • 09_SpringDataJPA
          • Spring Data JPA
        • Java_Language_Changes
          • JDK enhancement tracking reference
        • 06_ORM_Hibernate
          • readmes
            • Hibernate
            • Advantages of Hibernate
            • Hibernate Caching
            • Hibernate API
            • Hibernate Query API
            • Hibernate Annotations and JPQL
            • Entity and Value Type
        • 07_SpringFramework
          • bean_validation
            • Bean Validation
          • core
            • readme
              • Spring
              • Spring Framework Modules
              • Spring MVC Request flow
              • Dependency Injection
              • Spring Beans
              • 06_Spring_Framework_Annotations
      • 03_Tools
        • Maven
          • Maven
  • SoftwareEngineering
    • DesignPatterns
      • Notes
        • Basics
        • OOP
        • SOLID Principles
        • 03_Creational
          • Abstract Factory (aka Kit)
          • Builder
          • Factory Method (aka Virtual constructor)
          • Prototype
          • Singleton
        • 04_Structural
          • Adapter (aka Wrapper)
          • Bridge (aka Handle | Body)
          • Composite
          • Decorator (aka Wrapper)
          • Facade
          • Flyweight
          • Proxy (aka Surrogate)
        • 05_Behavioral
          • Chain of Responsibility
          • Command (aka Action | Transaction)
          • Iterator (aka Cursor)
          • Observer (aka Publish-Subscribe | Dependents)
          • Strategy (aka Policy)
    • Principles
      • REST
        • REST
  • Tools
    • Containers
      • Docker
        • Docker
        • Docker Image
        • Commands
        • Compose
        • Best Practices
      • Kubernetes
        • Kubernetes
    • VCS
      • Git
        • Quick reference of useful Git commands
Powered by GitBook
On this page
  • Serverless
  • Icon
  • About
  • Event Object
  • Context Object
  • Lambda execution context
  • Examples
  • Pricing
  • Lambda Invocations
  • Lambda Limits
  • Execution
  • Deployment
  1. Cloud
  2. AWS
  3. DeveloperAssociate
  4. Services
  5. 18_Lambda

Lambda

Serverless

  • Serverless is a new paradigm in which developers dont have to manage servers anymore. Developers need not provision them, AWS will take care of it behind the scene.

  • They just deploy code and functions.

  • Initially they were called Function As A Service (FaaS).

  • Serverless was pioneered by AWS Lambda. However, it now includes database, messaging, storage etc.

  • Serverless services include,

    • Lambda

    • DynamoDB

    • Cognito

    • API Gateway

    • S3

    • SNS and SQS

    • Kinesis Data Firehose

    • Aurora

    • Step Functions

    • Fargate

Icon

About

  • AWS Lambda are virtual functions (i.e no servers to manage) whose executions are limited by the time (i.e., short executions upto 15 minutes).

  • They run on-demand.

  • Scaling is automated.

  • Can get upto 10 GB of RAM per functions.

  • Supports many languages such as,

    • Node.js

    • Java

    • Javascript

    • Python

    • C#

    • Powershell

  • Custom Runtime API for Golang and Rust.

  • Supports Container through Lambda Container Image, where container must implement Lamda Runtime API.

Event Object

  • Event Object represents event that triggered invocation of lambda.

  • This object will have details about,

    • Source of event

    • Region from which event was send

    • Time of event

    • Account details

    • Resources ARN and so on

  • Its in json form.

  • Its passed in runtime to lambda function.

Context Object

  • This involves details about runtime, lambda function's meta-data.

  • Will have details such as,

    • Function name

    • Memory limit

    • client context

    • function verson and so on

  • Its in json form.

  • This is passed to lambda function at runtime.

Lambda execution context

  • Its an execution context, which is a temporary runtime environment that initializes any external dependencies of your lambda code.

  • Useful for establishing Database connection, HTTP calls, SDK client.

  • The execution context once created will be maintained for some time in anticipation of another lambda function execution i.e., next function invocation can reuse the context and save time in initializing connection objects.

  • One can use /tmp directory (ephemeral storage) which will retain files across execution. Upto 10 GB of disk space is available. Though for permanent storage such as S3/EFS is recommended for permanent data.

  • Also to encrypt data in /tmp files, generate KMS Data keys and use them to encrypt them.

  • So these execution context which need to reused should be written outside of lambda handler code.

Examples

  • One can use CloudWatch Events EventBridge can be used to trigger AWS Lambda every 1 hour, creating serverless cron jobs.

Pricing

  • Pay per calls

    • First 1 million requests are free.

    • Thereafter $0.20 per million requests.

  • Pay per duration

    • 400,000 GB/s of compute time per month for free i.e., if function is having 1GB of RAM then one will get 400,000 seconds.

    • Thereafter it costs $1.00 for every 600,000 GB-seconds.

Lambda Invocations

  • CLI, SDK, API Gateway, ALB, CloudFront, S3 Batch and et. al invoke Lambda synchronously and expect result.

  • For such invocations, retries must happen at client side.

  • Asynchronous invocations can be done using service such as S3, Event-Bridge and so on.

Lambda Limits

Execution

  • Memory allocation: 128 MB - 10 GB (1 MB increments).

  • Maximum exeuction times: 900 seconds.

  • Environment variables: 4KB

  • Disk capacity in the function container (/tmp): 512 MB to 10 GB.

  • Concurrency executions: 1000 (can be increased)

Deployment

  • Lambda function deployment size (compressed .zip): 50 MB

  • Size of uncompressed deployment (code + dependencies): 250 MB

  • Can use /tmp directory to load other files at startup.

  • Size of environment variables: 4 KB.

Previous18_LambdaNextLambda Integrations

Last updated 4 months ago

Lambda Icon

Integrated with so and easy monitoring with AWS Cloud Watch.

can be done synchronously or asynchronously.

many services
Lambda invocations