AWS Certified DevOps Engineer – ProfessionalSDLC AutomationMedium

A media company is using AWS Elemental MediaConvert to process video files. They want to automate the entire workflow, from video upload to processing and notification. When a new video file is uploaded to an S3 bucket, it should trigger a MediaConvert job, and upon job completion (success or failure), a notification should be sent to a Slack channel. Which AWS services should be used to build this event-driven automation pipeline?

  1. AAWS Step Functions to orchestrate S3 upload, MediaConvert job, and SNS notification.
  2. BAWS CodePipeline to manage the workflow, with S3 as source and MediaConvert as a build stage.
  3. CAmazon CloudWatch Events to detect S3 upload and MediaConvert job state changes, triggering AWS Lambda for notifications.
  4. DAmazon S3 event notification to AWS Lambda, which invokes MediaConvert and then sends a notification via Amazon SNS to Slack.
Show answer & explanation

Correct answer: D. Amazon S3 event notification to AWS Lambda, which invokes MediaConvert and then sends a notification via Amazon SNS to Slack.

S3 event notifications can directly trigger a Lambda function when a new object is created. The Lambda function can then initiate the MediaConvert job. MediaConvert job status changes can be sent to Amazon SNS, which can then be configured to send notifications to Slack (e.g., via a Lambda subscription or direct Slack integration). This creates a robust, event-driven pipeline.

Why the other options are wrong

  • A. Step Functions could orchestrate this, but for a relatively straightforward sequence, Lambda triggered by S3 events is often simpler and more cost-effective. MediaConvert can also send its own events to SNS/CloudWatch.
  • B. AWS CodePipeline is for CI/CD workflows, not for event-driven media processing. It's designed for software release automation, not direct S3-triggered processing tasks.
  • C. CloudWatch Events can detect S3 uploads and MediaConvert changes, but direct S3 event notifications to Lambda are more common for the initial trigger. Using Lambda for all notifications is also less scalable than SNS for multiple subscribers.

Event-Driven Architecture

A software architecture paradigm that promotes the production, detection, consumption of, and reaction to events. It enables loosely coupled, scalable, and resilient systems.

  • Components communicate via events, not direct calls.
  • Decouples producers from consumers.
  • Often uses message queues or event buses (e.g., SNS, SQS, EventBridge).

Memory trick: Events are like dominoes: one action triggers the next, all automatically.

More SDLC Automation questions