AWS CodePipeline for Continuous Integration and Deployment with Lambda Functions - Exam DOP-C01

Building a Pipeline for Microservices Using AWS CodePipeline

Prev Question Next Question

Question

A team is building up microservices using several Lambda functions.

The team consulted you on how to build a pipeline for the project.

The requirement is that the pipeline uses AWS CodePipeline which can continuously build the Lambda code and deploy the applications in AWS whenever there is a new Git commit by a team member.

In AWS CodePipeline, which combinations of services are valid for this scenario? (Select TWO.)

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E.

Correct Answer - A, D.

In CodePipeline, various services can be integrated into different stages which are very flexible for users.

However, for this particular case, not every service is suitable, although it may be a valid one for other scenarios.

Refer to.

https://docs.aws.amazon.com/codepipeline/latest/userguide/integrations-action-type.html

for the integrations.

Option A is CORRECT: Because CloudFormation can easily deploy Lambda functions with AWS SAM templates.

The AWS SAM templates come from the build stage.

Option B is incorrect: Because the deployment stage is not a valid one for this case.

Option C is incorrect: Because ECS in the deployment stage is inappropriate as it deals with EC2 instead of Lambda.

Option D is CORRECT: All stages have suitable services according to the above link.

Option E is incorrect: Because Travis CI is not a supported service in the build stage.

The scenario involves building a pipeline using AWS CodePipeline to build and deploy Lambda functions whenever there is a new Git commit. The pipeline should have a source stage, a build stage, and a deployment stage.

Let's go through each option to determine which combinations of services are valid for this scenario:

A. Source stage (CodeCommit), Build stage (CodeBuild), Deployment stage (CloudFormation) This option is valid because CodeCommit can be used as the source stage to store the Git repository, CodeBuild can build the Lambda code, and CloudFormation can be used to deploy the Lambda functions to AWS.

B. Source stage (GitHub), Build stage (Jenkins), Deployment stage (Code Commit) This option is not valid because GitHub cannot be used as a source stage in AWS CodePipeline. Also, Jenkins is not a service provided by AWS, and it is not necessary to use CodeCommit as a deployment stage.

C. Source stage (Bitbucket), Build stage (CodeBuild), Deployment stage (Amazon ECS) This option is not valid because Bitbucket cannot be used as a source stage in AWS CodePipeline, and Amazon ECS is not necessary to deploy Lambda functions.

D. Source stage (Github), Build stage (Jenkins), Deployment stage (CodeDeploy) This option is not valid because GitHub cannot be used as a source stage in AWS CodePipeline, and Jenkins is not a service provided by AWS. Also, CodeDeploy is not necessary to deploy Lambda functions.

E. Source stage (CodeCommit), Build stage (Travis CI), Deployment stage (CloudFormation) This option is not valid because Travis CI is not a service provided by AWS.

Therefore, the valid options for this scenario are A and D, but A is the best option because it uses AWS services only.