AWS Services, Deploying and Monitoring Infrastructure Flashcards
What is AWS Lambda?
AWS Lambda is a serverless compute service that allows you to run code without provisioning or managing servers. It offers seamless scaling and operates in a reactive manner.
How is AWS Lambda billed?
Hint: Consider both requests and the amount of time your code runs.
You are charged per request and for the compute time used by your Lambda functions.
What programming languages does AWS Lambda support?
AWS Lambda supports many programming languages, but not arbitrary Docker containers.
What is the maximum execution time for an AWS Lambda function?
Hint: Think of a quarter-hour.
Lambda functions can run for a maximum of 15 minutes per invocation.
Name three use cases for AWS Lambda.
Hint: These involve automation, event triggers, and APIs.
Answer:
- Creating thumbnails for images uploaded to S3
- Running a serverless cron job
- Exposing Lambda functions as HTTP APIs via API Gateway
What is AWS CloudFormation?
CloudFormation is a declarative way to manage and provision AWS infrastructure using templates.
What types of resources can you define in CloudFormation?
- Security groups
- EC2 instances
- S3 buckets
- Load balancers (ELB)
What are some key benefits of using CloudFormation?
- Infrastructure as code
- No manual resource creation
- Changes are reviewed through code
How can you estimate costs with CloudFormation?
You can estimate the cost of your resources by reviewing the template before deploying the stack.
What is a common savings strategy for CloudFormation in a development environment?
Automate deletion of templates at 5 PM and recreate them at 8 AM to save on resources.
What is the AWS Cloud Development Kit (CDK)?
How does the CDK work with CloudFormation?
The CDK allows you to define your cloud infrastructure using a familiar programming language.
The CDK compiles code into a CloudFormation template (JSON/YAML), which is then used to deploy infrastructure.
Name two good use cases for the CDK.
- Defining Lambda functions
- Deploying Docker containers in ECS/EKS
What is Elastic Beanstalk?
Elastic Beanstalk is a developer-centric Platform as a Service (PaaS) that makes it easy to deploy applications in AWS.
What are the three Elastic Beanstalk architecture models?
- Single instance deployment (good for development)
- Load Balancer + ASG (for production/pre-production web apps)
- ASG only (for non-web apps in production)
What is the responsibility of a developer when using Elastic Beanstalk?
The developer is only responsible for the application code, as Elastic Beanstalk handles deployment, scaling, and monitoring.