AWS Lambda | Scalability and availability Flashcards

1
Q

How is AWS Lambda@Edge different from using AWS Lambda behind Amazon API Gateway?

Scalability and availability

AWS Lambda | Compute

A

The difference is that API Gateway and Lambda are regional services. Using Lambda@Edge and Amazon CloudFront allows you to execute logic across multiple AWS locations based on where your end viewers are located.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How available are AWS Lambda functions?

Scalability and availability

AWS Lambda | Compute

A

AWS Lambda is designed to use replication and redundancy to provide high availability for both the service itself and for the Lambda functions it operates. There are no maintenance windows or scheduled downtimes for either.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Do my AWS Lambda functions remain available when I change my code or its configuration?

Scalability and availability

AWS Lambda | Compute

A

Yes. When you update a Lambda function, there will be a brief window of time, typically less than a minute, when requests could be served by either the old or the new version of your function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Is there a limit to the number of AWS Lambda functions I can execute at once?

Scalability and availability

AWS Lambda | Compute

A

No. AWS Lambda is designed to run many instances of your functions in parallel. However, AWS Lambda has a default safety throttle for number of concurrent executions per account per region (visit here for info on default safety throttle limits). You can also control the maximum concurrent executions for individual AWS Lambda functions which you can use to reserve a subset of your account concurrency limit for critical functions, or cap traffic rates to downstream resources.

If you wish to submit a request to increase the throttle limit you can visit our Support Center, click “Open a new case,” and file a service limit increase request.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What happens if my account exceeds the default throttle limit on concurrent executions?

Scalability and availability

AWS Lambda | Compute

A

On exceeding the throttle limit, AWS Lambda functions being invoked synchronously will return a throttling error (429 error code). Lambda functions being invoked asynchronously can absorb reasonable bursts of traffic for approximately 15-30 minutes, after which incoming events will be rejected as throttled. In case the Lambda function is being invoked in response to Amazon S3 events, events rejected by AWS Lambda may be retained and retried by S3 for 24 hours. Events from Amazon Kinesis streams and Amazon DynamoDB streams are retried until the Lambda function succeeds or the data expires. Amazon Kinesis and Amazon DynamoDB Streams retain data for 24 hours.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Is the default limit applied on a per function level?

Scalability and availability

AWS Lambda | Compute

A

No, the default limit only applies at an account level.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What happens if my Lambda function fails during processing an event?

Scalability and availability

AWS Lambda | Compute

A

On failure, Lambda functions being invoked synchronously will respond with an exception. Lambda functions being invoked asynchronously are retried at least 3 times. Events from Amazon Kinesis streams and Amazon DynamoDB streams are retried until the Lambda function succeeds or the data expires. Kinesis and DynamoDB Streams retain data for a minimum of 24 hours.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What happens if my Lambda function invocations exhaust the available policy?

Scalability and availability

AWS Lambda | Compute

A

On exceeding the retry policy for asynchronous invocations, you can configure a “dead letter queue” (DLQ) into which the event will be placed; in the absence of a configured DLQ the event may be rejected. On exceeding the retry policy for stream based invocations, the data would have already expired and therefore rejected.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly