You are helping a team to design a new CI/CD pipeline on the AWS platform.
The requirement is that the whole pipeline should be managed by an orchestration tool including source control, build and deploy.
In the deployment stage, there are different workflow-driven behaviors to be considered so that a state machine engine is needed to handle these actions properly.
The pipeline and state machine execution status should be visualized.
What two services in combinations can implement this solution? (Select TWO.)
Click on the arrows to vote for the correct answer
A. B. C. D. E.Correct Answer - C, D.
When an orchestration tool is required in AWS, the best service to be considered should be CodePipeline as it controls source control, build and deployment in a visualized way.
Option A is incorrect: Because AWS CodeStar is not enough for this case, although it can help manage various services.
CodePipeline is required as a centralized CI/CD pipeline tool.
Option B is incorrect: Because AWS CodeDeploy can only deal with the deployment stage.
However, source control and build parts are missing.
Option C is CORRECT: Because AWS CodePipeline automates the steps to release the software changes continuously, which is an ideal CI/CD orchestration tool.
Option D is CORRECT: Refer to page 150, Section "Tutorial: Use an AWS Step Functions Invoke Action in a Pipeline" in the link https://docs.aws.amazon.com/codepipeline/latest/userguide/codepipeline-user.pdf.
Option E is incorrect: Check the comparison between AWS Step Functions and SWF in.
https://aws.amazon.com/step-functions/faqs/.Basically, AWS Step Functions should be considered for all the new applications as it provides a more productive and agile approach using visualized workflows.
If external signals are required as a decider to influence the flow processes, AWF needs to be considered.
In this case, AWS Step Functions is more suitable.
The solution to implement a CI/CD pipeline managed by an orchestration tool that includes source control, build, deploy and state machine engine to handle workflow-driven behaviors and visualization of pipeline and state machine execution status requires the combination of two services.
The two services that can be used in combination to implement this solution are:
A. AWS CodeStar is a service that provides a fully integrated CI/CD toolchain for developing, building, and deploying applications on AWS. While it can manage the whole CI/CD services, it does not provide a state machine engine to handle workflow-driven behaviors. Therefore, option A is not the correct answer.
B. AWS CodeDeploy is a deployment automation service that automates software deployments to a variety of compute services such as Amazon EC2, AWS Fargate, AWS Lambda, and your on-premises servers. However, it is not an orchestration tool that can manage the whole pipeline. Therefore, option B is not the correct answer.
C. AWS CodePipeline is a fully managed continuous delivery service that helps you automate your release pipelines for fast and reliable application and infrastructure updates. It can be used to manage the whole CI/CD pipeline, including source control, build, and deploy. In this case, we can set up an AWS CodePipeline and configure a Lambda function as a trigger for the deployment stage. The Lambda function can then be used to initiate the state machine engine. Therefore, option C is a correct answer.
D. AWS Step Functions is a serverless workflow service that lets you build, run, and visualize workflows that integrate multiple AWS services. It provides a state machine engine to handle workflow-driven behaviors. We can configure an AWS Step Functions State Machine to process the state transition and return the running state when being asked. Therefore, option D is a correct answer.
E. AWS SWF (Simple Workflow Service) is an older service that provides a fully-managed workflow service to build applications that coordinate work across distributed components. While it can be used to create a state machine engine for workflow-driven behaviors, it has been deprecated and is not recommended for new applications. Therefore, option E is not the correct answer.
In conclusion, options C and D in combination can implement the solution of a CI/CD pipeline managed by an orchestration tool that includes source control, build, deploy and state machine engine to handle workflow-driven behaviors and visualization of pipeline and state machine execution status.