350-901 practice question 4 of 35

An automated solution is needed to configure VMs in numerous cloud provider environments to connect the environments to an SDWAN. The SDWAN edge VM…

Full set: 430 questions

Domain Using APIs

An automated solution is needed to configure VMs in numerous cloud provider environments to connect the environments to an SDWAN. The SDWAN edge VM is provided as an image in each of the relevant clouds and can be given an identity and all required configuration via cloud-init without needing to log into the VM once online. Which configuration management and/or automation tooling is needed for this solution?
Answer options
A: Ansible
B: Ansible and Terraform
C: NSO
D: Terraform Correct answer
E: Ansible and NSO
Correct Answer:
D. Terraform
Explanation

The scenario requires automating the provisioning of virtual machines (VMs) across multiple cloud providers. The core task is to create the infrastructure (the VM) from a pre-existing image and inject a configuration script (via cloud-init) at launch time. Terraform is an Infrastructure as Code (IaC) tool designed specifically for this purpose. It allows users to declaratively define and provision infrastructure resources across numerous cloud and on-premises providers. It directly supports passing user data (cloud-init scripts) during VM creation, which fulfills the requirement to configure the VM without needing to log in post-deployment. This makes Terraform the most suitable and direct tool for the described solution.

Why Incorrect

A. Ansible: Ansible is primarily a configuration management tool that configures software on existing, running systems. It is not the primary tool for provisioning the underlying infrastructure itself.
B. Ansible and Terraform: While Terraform provisions the VM, the scenario states all configuration is handled by cloud-init. Therefore, a separate configuration management tool like Ansible is not needed.
C. NSO: Cisco Network Services Orchestrator (NSO) is a network automation and orchestration platform for network devices and services, not a tool for provisioning general-purpose cloud VMs.
E. Ansible and NSO: This combination is incorrect as neither tool is the primary choice for cloud infrastructure provisioning, which is the central requirement of the question.

References

1. HashiCorp Terraform Documentation: The official documentation for various cloud providers demonstrates the use of arguments to pass cloud-init data. For example

the awsinstance resource uses the userdata argument.

Source: HashiCorp

"Terraform AWS Provider - awsinstance resource"

userdata argument documentation. (Available on the official Terraform Registry website).

Quote/Concept: "userdata - (Optional) The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see userdatabase64 instead." This argument is the standard mechanism for passing cloud-init scripts.

2. Cisco DevNet Documentation: Cisco provides official guides and code for deploying SD-WAN virtual appliances in public clouds using Terraform

validating it as the intended tool for this use case.

Source: Cisco DevNet

"Cisco SD-WAN Cloud OnRamp for IaaS with Terraform on AWS".

Section: The guide's overview and code examples explicitly use Terraform to provision EC2 instances for vEdge/cEdge Cloud routers and utilize userdata to pass bootstrap configurations.

3. University Courseware: Reputable computer science programs cover the distinct roles of provisioning and configuration management tools in their DevOps and Cloud Computing curricula.

Source: University of California

Berkeley

CS 162: Operating Systems and System Programming

Lecture 23: "Datacenter Computing".

Concept: The lecture materials differentiate between tools for provisioning (like Terraform) that create and manage infrastructure resources

and tools for configuration management (like Ansible

Puppet) that install and manage software on those resources. The question describes a provisioning task.

Scroll to Top