AWS Lambda

From BloomWiki
Jump to navigation Jump to search

AWS Lambda[edit]

AWS Lambda is Amazon’s event-driven, serverless compute service that runs code in response to triggers without provisioning or managing servers.

Remembering (Knowledge / Recall)[edit]

🧠 At this level, an expert can **define** AWS Lambda and **name** its core components, terminology, and usage contexts.

  • Core terminology & definitions
    • AWS Lambda – Amazon Web Services’ serverless compute platform that executes functions in response to events.
    • Serverless computing – A cloud execution model where infrastructure, scaling, and capacity are fully managed by the provider.
    • Function-as-a-Service (FaaS) – A cloud model where applications run as stateless functions invoked on demand.
    • Event-driven programming – A programming paradigm in which execution is triggered by external events.
    • Amazon Web Services (AWS) – The cloud platform that provides Lambda and related services.
  • Where AWS Lambda is commonly used
    • Serverless APIs, microservices, backend automation
    • Data processing pipelines and batch jobs
    • Real-time file, stream, or database event handling
    • Cloud automation and DevOps workflows
  • Typical recall-level facts
    • Introduced by AWS in **2014**.
    • Supports multiple languages (e.g., Python, Node.js, Java, Go).
    • Billed based on requests and execution duration.
    • Functions run in short-lived, stateless execution environments.

Understanding (Comprehension)[edit]

📖 At this level, an expert can **describe**, **summarize**, and **compare** AWS Lambda concepts and behaviors.

  • Conceptual relationships & contrasts
    • AWS Lambda vs. cloud VMs – No servers to manage or provision.
    • Serverless vs. microservices – Lambda can implement microservice patterns but is not required.
    • AWS Lambda vs. containerization – Lambda abstracts runtime environments and scaling.
  • Core principles & paradigms
    • Stateless execution — functions do not retain memory between invocations.
    • Automatic scaling — concurrency increases as events increase.
    • Pay-per-use — costs align with actual execution time.
    • Event-driven architecture — workloads react to triggers.
  • How AWS Lambda works
    • Code + runtime + configuration = deployed function.
    • Execution environments are created on demand.
    • Events trigger invocation; outputs return to the calling service.
  • Producer vs. consumer perspectives
    • Developer – Writes and packages function logic.
    • Platform engineer – Secures, monitors, and manages scaling.
    • Application user – Interacts indirectly through APIs, apps, or event triggers.
  • Typical comprehension-level abilities
    • Can explain why Lambda is useful.
    • Can identify services that can trigger a Lambda function.
    • Can describe cold starts and their impact.

Applying (Use / Application)[edit]

🛠️ At this level, an expert can **use** AWS Lambda to build functioning workloads.

  • "Hello, World" examples
    • Creating a simple function triggered by API Gateway.
    • Uploading a Lambda function package via AWS Console or CLI.
  • Guides for core task loops
    • Develop → package → deploy → test → monitor.
    • Connecting Lambda to S3, DynamoDB, or SNS event sources.
    • Wiring Lambda behind an HTTP endpoint.
  • Common commands / operations
    • Deploy function with AWS CLI (`aws lambda create-function`).
    • Update code or configuration (`aws lambda update-function-code`).
    • View logs in CloudWatch (`aws logs tail`).
  • Real-world use cases
    • Image or document processing on S3 upload.
    • Scheduled maintenance via CloudWatch Events.
    • ETL workloads on DynamoDB Streams or Kinesis.
  • Typical application-level abilities
    • Can deploy and invoke Lambda functions.
    • Can attach appropriate event sources.
    • Can troubleshoot basic permission or runtime issues.

Analyzing (Break Down / Analysis)[edit]

🔬 At this level, an expert can **examine**, **compare**, and **diagnose** AWS Lambda behavior and architecture.

  • Comparative analysis
    • Lambda vs. EC2 — operational burden vs. flexibility.
    • Lambda vs. ECS/EKS — ephemeral execution vs. container orchestration.
    • Lambda vs. Cloud Functions / Azure Functions — cross-provider trade-offs.
  • Failure modes & root causes
    • Timeout due to slow dependencies or networking.
    • Throttling caused by insufficient concurrency limits.
    • Permissions failures from incorrect IAM roles.
  • Troubleshooting & observability techniques
    • Use CloudWatch Logs for debugging errors.
    • Inspect distributed traces with AWS X-Ray.
    • Monitor concurrency, durations, and error rates.
  • Architectural insights
    • Event fan-out through SNS, SQS, or EventBridge.
    • Managing shared dependencies using Lambda layers.
  • Typical analysis-level abilities
    • Can identify performance bottlenecks.
    • Can map system behavior across multiple event sources.
    • Can choose between compute options based on workload.

Creating (Synthesis / Create)[edit]

🏗️ At this level, an expert can **design**, **compose**, and **optimize** systems using AWS Lambda.

  • Design patterns & best practices
    • Event-driven microservices using SNS or EventBridge.
    • Reusable logic via Lambda layers.
    • Idempotent execution to handle retries safely.
  • Security & authentication patterns
    • Principle of least privilege in IAM roles.
    • Secret storage using AWS Systems Manager Parameter Store or Secrets Manager.
    • VPC-integrated Lambda for private networking.
  • Lifecycle management strategies
    • Automated deployments with CI/CD pipelines.
    • Versioning and aliasing for staged rollouts.
    • Traffic shifting (blue-green or canary deployments).
  • Scalability & optimization patterns
    • Asynchronous processing with SQS.
    • Provisioned concurrency for latency-sensitive workloads.
    • Efficient packaging and dependency management.
  • Typical creation-level abilities
    • Can architect multi-service solutions using Lambda.
    • Can design cost-efficient, scalable serverless systems.
    • Can enforce security, resiliency, and maintainability.

Evaluating (Judgment / Evaluation)[edit]

⚖️ At this level, an expert can **assess**, **compare**, and **justify** AWS Lambda adoption and system quality.

  • Evaluation frameworks & tools
    • Load-testing APIs backed by Lambda.
    • Reviewing CloudWatch metrics for performance and cost.
    • Security audits for IAM roles, triggers, and data handling.
  • Maturity & adoption considerations
    • Team familiarity with serverless development.
    • Operational readiness for monitoring and incident response.
  • Key performance indicators
    • Execution duration, memory usage, concurrency.
    • Error rate, cold-start latency, throughput.
    • Cost per workload or per invocation.
  • Strategic decision criteria
    • Choose Lambda when workloads are event-driven, bursty, or unpredictable.
    • Prefer EC2/ECS/EKS when workloads require long-running compute or custom OS access.
  • Holistic impact analysis
    • Cost efficiency vs. operational control.
    • Vendor lock-in and portability considerations.
    • Developer productivity and release velocity.
  • Typical evaluation-level abilities
    • Can defend or reject Lambda adoption based on workload needs.
    • Can recommend service boundaries and compute alternatives.
    • Can prioritize improvements using objective data.