Which solution will meet this requirement with the LEAST development effort?
Create an Amazon EventBridge rule that has a rate expression that will run the rule every 15 minutes. Add the Lambda function as the target of the EventBridge rule.
Create an AWS Systems Manager document that has a script that will invoke the Lambda function on Amazon EC2. Use a Systems Manager Run Command task to run the shell script every 15 minutes.
Create an AWS Step Functions state machine. Configure the state machine to invoke the Lambda function execution role at a specified interval by using a Wait state. Set the interval to 15 minutes.
Provision a small Amazon EC2 instance. Set up a cron job that invokes the Lambda function every 15 minutes.
Explanations:
This option utilizes Amazon EventBridge to create a rule with a rate expression that triggers every 15 minutes. It directly integrates with the Lambda function as a target, providing a serverless solution with minimal setup and no additional infrastructure management. This approach is efficient and requires the least development effort.
This option requires creating an AWS Systems Manager document and a shell script to invoke the Lambda function on an Amazon EC2 instance. Additionally, managing EC2 instances adds complexity and overhead, making this solution more cumbersome than necessary for the task at hand.
Although using AWS Step Functions to invoke the Lambda function at a specified interval is a valid approach, it involves more complexity and development effort compared to using EventBridge. Setting up a state machine and managing its execution adds unnecessary overhead for a simple scheduled task.
Provisioning an EC2 instance and setting up a cron job involves managing additional infrastructure, which contradicts the serverless application approach. This method is not efficient for this use case, as it requires more resources and ongoing maintenance.