Which actions will help reduce both the operational burden and the number of parameters passed into a service deployment?
(Choose two.)
Create a new AWS CloudFormation template for each service. Alter the existing templates to use cross-stack references to eliminate passing many parameters to each template. Call each required stack for the application as a nested stack from the new stack. Call the newly created service stack from the AWS CloudFormation console to deploy the specific service with a subset of the parameters previously required.
Create a new portfolio in AWS Service Catalog for each service. Create a product for each existing AWS CloudFormation template required to build the service. Add the products to the portfolio that represents that service in AWS Service Catalog. To deploy the service, select the specific service portfolio and launch the portfolio with the necessary parameters to deploy all templates.
Set up an AWS CodePipeline workflow for each service. For each existing template, choose AWS CloudFormation as a deployment action. Add the AWS CloudFormation template to the deployment action. Ensure that the deployment actions are processed to make sure that dependencies are obeyed. Use configuration files and scripts to share parameters between the stacks. To launch the service, execute the specific template by choosing the name of the service and releasing a change.
Use AWS Step Functions to define a new service. Create a new AWS CloudFormation template for each service. Alter the existing templates to use cross- stack references to eliminate passing many parameters to each template. Call each required stack for the application as a nested stack from the new service template. Configure AWS Step Functions to call the service template directly. In the AWS Step Functions console, execute the step.
Create a new portfolio for the services in AWS Service Catalog. Create a new AWS CloudFormation template for each service. Alter the existing templates to use cross-stack references to eliminate passing many parameters to each template. Call each required stack for the application as a nested stack from the new stack. Create a product for each application. Add the service template to the product. Add each new product to the portfolio. Deploy the product from the portfolio to deploy the service with the necessary parameters only to start the deployment.
Explanations:
By using nested stacks and cross-stack references, this approach simplifies passing parameters between stacks. A new stack can handle the deployment and pass fewer parameters, reducing operational burden.
While AWS Service Catalog can be useful for managing services, it doesn’t address the complexity of passing parameters between multiple CloudFormation stacks directly. It would still require careful management of input/output dependencies between stacks.
AWS CodePipeline can automate the deployment of templates, but the approach does not directly address reducing the operational burden of passing parameters between multiple CloudFormation stacks. Configuration files/scripts might add complexity rather than simplify it.
While AWS Step Functions can manage workflows, it does not directly address simplifying the parameter passing between CloudFormation stacks. It introduces additional complexity and may not significantly reduce the operational burden.
This approach leverages nested stacks and cross-stack references to reduce parameter complexity and provides a streamlined way to deploy the service through AWS Service Catalog, allowing for easier management and deployment with fewer parameters.