Which approach is the MOST SUITABLE for automating the provisioning of compute resources and ensuring seamless communication between stacks?
You are an ML engineer at an e-commerce company tasked with building an automated recommendation system that scales during peak shopping seasons. The solution requires provisioning multiple compute resources, including SageMaker for model training, EC2 instances for data preprocessing, and an RDS database for storing user interaction data. You need to automate the deployment and management of these resources, ensuring that the stacks can communicate effectively. The company prioritizes infrastructure as code (IaC) to maintain consistency and scalability across environments.
Which approach is the MOST SUITABLE for automating the provisioning of compute resources and ensuring seamless communication between stacks?
A . Manually provision the SageMaker, EC2, and RDS resources using the AWS Management Console, ensuring that communication is established by manually updating security groups and networking configurations
B . Use AWS Elastic Beanstalk to deploy the entire ML solution, relying on its built-in environment management to handle the provisioning and communication between resources automatically
C . Use AWS CDK (Cloud Development Kit) to define the infrastructure in a high-level programming language, deploying each service as an independent stack without configuring inter-stack communication
D . Use AWS CloudFormation with nested stacks to automate the provisioning of SageMaker, EC2, and RDS resources, and configure outputs from one stack as inputs to another to enable communication between them
Answer: D
Explanation:
Correct option:
Use AWS CloudFormation with nested stacks to automate the provisioning of SageMaker, EC2, and RDS resources, and configure outputs from one stack as inputs to another to enable communication between them
AWS CloudFormation with nested stacks allows you to modularize your infrastructure, making it easier to manage and reuse components. By passing outputs from one stack as inputs to another, you can automate the provisioning of resources while ensuring that all stacks can communicate effectively. This approach also enables consistent and scalable deployments across environments.
via – https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
Incorrect options:
Use AWS CDK (Cloud Development Kit) to define the infrastructure in a high-level programming language, deploying each service as an independent stack without configuring inter-stack communication – AWS CDK allows you to define infrastructure using high-level programming languages, which is flexible and powerful. However, failing to configure inter-stack communication would lead to a disjointed deployment, where services may not function together as required.
Manually provision the SageMaker, EC2, and RDS resources using the AWS Management Console, ensuring that communication is established by manually updating security groups and networking configurations – Manually provisioning resources through the AWS Management Console is error-prone and not scalable. It lacks the automation and repeatability that infrastructure as code provides, making it
unsuitable for managing complex ML solutions that require seamless communication between multiple resources.
Use AWS Elastic Beanstalk to deploy the entire ML solution, relying on its built-in environment management to handle the provisioning and communication between resources automatically – AWS Elastic Beanstalk is a managed service for deploying applications, but it is not designed for orchestrating complex ML workflows with multiple resource types like SageMaker, EC2, and RDS. It also lacks fine-grained control over resource provisioning and inter-stack communication.
Reference: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
Latest MLA-C01 Dumps Valid Version with 125 Q&As
Latest And Valid Q&A | Instant Download | Once Fail, Full Refund