Which solution will provide this visibility with the LEAST configuration effort?
Program an AWS Lambda function that creates Amazon CloudWatch custom metrics with information about successful runs and failed runs for each pipeline. Create an Amazon EventBridge rule to invoke the Lambda function every 5 minutes. Use the metrics to build a CloudWatch dashboard.
Program an AWS Lambda function that creates Amazon CloudWatch custom metrics with information about successful runs and failed runs for each pipeline. Create an Amazon EventBridge rule to invoke the Lambda function after every successful run and after every failed run. Use the metrics to build a CloudWatch dashboard.
Program an AWS Lambda function that writes information about successful runs and failed runs to Amazon DynamoDB. Create an Amazon EventBridge rule to invoke the Lambda function after every successful run and after every failed run. Build an Amazon QuickSight dashboard to show the information from DynamoDB.
Program an AWS Lambda function that writes information about successful runs and failed runs to Amazon DynamoDB. Create an Amazon EventBridge rule to invoke the Lambda function every 5 minutes. Build an Amazon QuickSight dashboard to show the information from DynamoDB.
Explanations:
This option uses an EventBridge rule to invoke a Lambda function every 5 minutes. This approach may not capture real-time data on successful and failed runs since it does not trigger on specific pipeline events, leading to potential delays in data accuracy and visibility.
This option triggers the Lambda function after every successful and failed run, providing immediate visibility into deployment events. The custom metrics created in CloudWatch can be used to build a dashboard that accurately reflects the average time between releases and recovery times, with minimal configuration effort.
Although this option captures successful and failed runs, it involves writing to DynamoDB and creating a QuickSight dashboard, which adds complexity. It requires more configuration than necessary for the immediate visibility needed, especially since CloudWatch metrics are more suitable for this use case.
This option also involves writing to DynamoDB and using QuickSight, while invoking the Lambda function every 5 minutes. This adds unnecessary complexity and latency in data capture, making it less efficient than capturing events directly after they occur, as in Option B.