Task Statement 1.4: Apply programming concepts.
1.A data engineering team is setting up a CI/CD pipeline using AWS services to automatically deploy changes to their AWS Glue ETL scripts. The pipeline should trigger on every push to the main branch of their AWS CodeCommit repository. Which TWO AWS services are essential for building the pipeline to test and deploy the scripts?(Select 2)
- A.Amazon SageMaker
- B.AWS CodePipeline
- C.AWS CodeBuild
- D.Amazon EC2
- E.AWS Data Pipeline
Show answer & explanation
Correct answers: B, C — AWS CodePipeline; AWS CodeBuild
- A. Incorrect. Amazon SageMaker is a fully managed service for building, training, and deploying machine learning (ML) models. It is not designed for creating CI/CD pipelines for general application code or ETL scripts.
- B. Correct. AWS CodePipeline is a fully managed continuous delivery service that orchestrates and automates the entire software release process. It is essential for defining the stages of the pipeline (source, build, test, deploy) and connecting the various services, such as triggering the pipeline from a CodeCommit push.
- C. Correct. AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy. In this scenario, CodeBuild would be a stage within CodePipeline responsible for running unit tests or validation checks on the Glue ETL scripts before they are deployed.
- D. Incorrect. Amazon EC2 provides raw virtual server compute capacity. While you could manually set up CI/CD tools on an EC2 instance, it is not a managed service specifically designed for this purpose. For a standard AWS CI/CD solution, CodePipeline and CodeBuild are the essential, purpose-built services.
- E. Incorrect. AWS Data Pipeline is a service used to orchestrate and automate data movement and transformation workflows (e.g., scheduling data copies or EMR jobs). It is designed for data orchestration, not for software delivery (CI/CD) pipelines that deploy code changes.