AWS Certified Developer – Associate (DVA-C02)DeploymentMedium

A software company is developing a new serverless application that utilizes AWS Lambda functions. They want to ensure that all Lambda function code is packaged and deployed consistently across different environments (development, staging, production) using Infrastructure as Code. Which AWS service is best suited for defining and deploying these serverless resources?

  1. AAWS Serverless Application Model (SAM)
  2. BAWS Elastic Beanstalk
  3. CAWS Cloud9
  4. DAWS CodeDeploy
Show answer & explanation

Correct answer: A. AWS Serverless Application Model (SAM)

AWS Serverless Application Model (SAM) is an open-source framework specifically designed for building serverless applications on AWS. It extends AWS CloudFormation, providing a simplified syntax for defining serverless resources like Lambda functions, API Gateway, and DynamoDB tables, and supports consistent deployment across environments.

Why the other options are wrong

  • B. Elastic Beanstalk is for deploying web applications and services, often with EC2 instances, not primarily for serverless components.
  • C. Cloud9 is an integrated development environment (IDE) in the cloud, not a service for defining and deploying infrastructure.
  • D. CodeDeploy is a deployment service for EC2, Lambda, ECS, etc., but it doesn't define the infrastructure itself; it orchestrates the deployment of existing definitions.

AWS Serverless Application Model (SAM)

An open-source framework for building serverless applications on AWS, using a simplified syntax to define resources like Lambda functions, API Gateway, and DynamoDB.

  • Extension of AWS CloudFormation.
  • Simplifies serverless resource definition.
  • Supports consistent deployment across environments.
  • Includes SAM CLI for local development and testing.

Memory trick: SAM makes serverless simple, like a helpful program.

More Deployment questions