Cyber Monday 2024! Hurry Up, Grab the Special Discount - Save 25% - Ends In 00:00:00 Coupon code: SAVE25
Welcome to Pass4Success

- Free Preparation Discussions

Amazon Exam SAA-C03 Topic 3 Question 43 Discussion

Actual exam question for Amazon's SAA-C03 exam
Question #: 43
Topic #: 3
[All SAA-C03 Questions]

A company has 15 employees. The company stores employee start dates in an Amazon DynamoDB table. The company wants to send an email message to each employee on the day of the employee's work anniversary.

Which solution will meet these requirements with the MOST operational efficiency?

Show Suggested Answer Hide Answer
Suggested Answer: C

AWS Lambda for Operational Efficiency:

AWS Lambda is a serverless compute service that allows you to run code without provisioning or managing servers. It automatically scales based on the number of invocations and eliminates the need to maintain and monitor EC2 instances, making it far more operationally efficient compared to running a cron job on EC2.

By using Lambda, you pay only for the compute time that your function uses. This is especially beneficial when dealing with lightweight tasks, such as scanning a DynamoDB table and sending email messages once a day.

Amazon DynamoDB:

DynamoDB is a highly scalable, fully managed NoSQL database. The table stores employee start dates, and scanning the table to find the employees who have a work anniversary on the current day is a lightweight operation. Lambda can easily perform this operation using the DynamoDB Scan API or queries, depending on how the data is structured.

Amazon SNS for Email Notifications:

Amazon Simple Notification Service (SNS) is a fully managed messaging service that supports sending notifications to a variety of endpoints, including email. SNS is well-suited for sending out email messages to employees, as it can handle the fan-out messaging pattern (sending the same message to multiple recipients).

In this scenario, once Lambda identifies employees who have their work anniversaries, it can use SNS to send the email notifications efficiently. SNS integrates seamlessly with Lambda, and sending emails via SNS is a common pattern for this type of use case.

Event Scheduling:

To automate this daily task, you can schedule the Lambda function using Amazon EventBridge (formerly CloudWatch Events). EventBridge can trigger the Lambda function on a daily schedule (cron-like scheduling). This avoids the complexity and operational overhead of manually setting up cron jobs on EC2 instances.

Why Not EC2 or SQS?:

Option A & B suggest running a cron job on an Amazon EC2 instance. This approach requires you to manage, scale, and patch the EC2 instance, which increases operational overhead. Lambda is a better choice because it automatically scales and doesn't require server management.

Amazon Simple Queue Service (SQS) is ideal for decoupling distributed systems but isn't necessary in this context because the goal is to send notifications to employees on their work anniversaries. SQS adds unnecessary complexity for this straightforward use case, where SNS is the simpler and more efficient solution.

AWS Reference:

AWS Lambda

Amazon SNS

Amazon DynamoDB

Amazon EventBridge

Summary:

Using AWS Lambda combined with Amazon SNS to send notifications, and scheduling the function with Amazon EventBridge to run daily, is the most operationally efficient solution. It leverages AWS serverless technologies, which reduce the need for infrastructure management and provide automatic scaling. Therefore, Option C is the correct and optimal choice.


Contribute your Thoughts:

Gary
2 months ago
I love how these questions always involve some kind of 'most operationally efficient' requirement. It's like they're trying to trick us into overthinking it. I'd go with option C as well.
upvoted 0 times
Joseph
2 months ago
Yeah, scheduling the Lambda function to run daily makes it a convenient solution.
upvoted 0 times
...
Zita
2 months ago
I agree, using an AWS Lambda function with Amazon SNS would be efficient.
upvoted 0 times
...
Gary
2 months ago
Option C seems like the best choice for this scenario.
upvoted 0 times
...
...
Leana
3 months ago
Ah, the classic 'send email on work anniversary' problem. I bet the developers had a field day with this one. Option C gets my vote!
upvoted 0 times
...
Jesus
3 months ago
But with Lambda, we don't have to manage servers. It's more cost-effective in the long run.
upvoted 0 times
...
Kimi
3 months ago
Option D seems like a good choice too. Combining Lambda and SQS could provide more reliability and flexibility in the email delivery process.
upvoted 0 times
Vi
3 months ago
Yes, it's a great way to ensure efficient and reliable communication with employees on their work anniversaries.
upvoted 0 times
...
Michal
3 months ago
I agree, using Lambda and SQS together can definitely improve the email delivery process.
upvoted 0 times
...
...
Jamie
3 months ago
I agree with Jesus. Option C seems like the most efficient and cost-effective solution for this scenario.
upvoted 0 times
...
Sheldon
3 months ago
I disagree, I believe option A is more efficient. Running a script on EC2 instance is more reliable.
upvoted 0 times
...
Jesus
4 months ago
I think option C is the best solution. Using Lambda function will save time and resources.
upvoted 0 times
...
Lavonna
4 months ago
I think option C is the most efficient solution. Using a Lambda function to scan the DynamoDB table and send the email messages via SNS is a scalable and serverless approach.
upvoted 0 times
Yaeko
3 months ago
I think option C is better because it's serverless and more scalable.
upvoted 0 times
...
Candida
3 months ago
But wouldn't option A also work well with the cron job on an EC2 instance?
upvoted 0 times
...
Mohammad
3 months ago
I agree, option C with the Lambda function and SNS is definitely the way to go.
upvoted 0 times
...
...

Save Cancel