AZ-900 · Domain 3: Describe Azure management and governance · 34% of the exam
Task 3.3: Describe features and tools for managing and deploying Azure resources
The Azure portal, Cloud Shell, Azure CLI and Azure PowerShell, Azure Arc, infrastructure as code, Azure Resource Manager and its templates.
Study it
The Azure portal, Cloud Shell, Azure CLI and Azure PowerShell
Lesson coming
Azure Arc for resources outside Azure
Lesson coming
Infrastructure as code with Azure Resource Manager, ARM templates and Bicep
Lesson coming
Sample questions
Try each one before opening the answer. Every option is explained, with the Microsoft documentation page that proves it.
Question 1 · choose 2
An engineer opens Azure Cloud Shell from the Azure portal. Which two command-line experiences can she choose there? (Choose TWO.)
ABash, with the Azure CLI
BWindows Command Prompt (cmd.exe)
CAzure Storage Explorer
DPowerShell, with Azure PowerShell
EA browser RDP session through Azure Bastion
Show the answer and why
ABash, with the Azure CLI
Correct
Cloud Shell includes a Bash experience with the Azure CLI ready to use.
BWindows Command Prompt (cmd.exe)
Incorrect
Cloud Shell offers Bash and PowerShell; the Windows Command Prompt isn't one of its shells.
CAzure Storage Explorer
Incorrect
Storage Explorer is a separate app, not one of Cloud Shell's shells.
DPowerShell, with Azure PowerShell
Correct
Cloud Shell includes a PowerShell experience with the Azure PowerShell modules ready to use.
EA browser RDP session through Azure Bastion
Incorrect
Bastion is a separate networking service, not one of Cloud Shell's shells.
In Azure Cloud Shell you choose the shell you're most familiar with: Bash, which includes the Azure CLI, or PowerShell, which includes Azure PowerShell.
A company runs 200 Linux servers in its own datacenter and 50 VMs in another public cloud. It wants to tag them, assign Azure Policy to them and see them in the Azure portal next to its Azure VMs, without moving them. What should it use?
AAzure Migrate
BAzure Arc
CAzure Site Recovery
DMicrosoft Entra Connect
Show the answer and why
AAzure Migrate
Incorrect
Azure Migrate moves servers into Azure, but these servers are to stay where they are.
BAzure Arc
Correct
Azure Arc projects non-Azure servers into Azure Resource Manager, so they can be tagged, governed with Azure Policy and viewed in the portal.
CAzure Site Recovery
Incorrect
Site Recovery replicates machines to a secondary location for disaster recovery; it doesn't bring them under Azure management in place.
DMicrosoft Entra Connect
Incorrect
Entra Connect wouldn't make the servers appear in the portal or let the company tag them and assign Azure Policy to them.
Azure Arc extends Azure Resource Manager to resources outside Azure. Servers and other resources on-premises or in other clouds appear as Azure resources, so the same tagging, Policy and monitoring apply to them as to native Azure resources.
A team's deployment script runs 40 Azure CLI commands in a fixed order. They want a file that describes the end state of the environment instead of the steps to build it. What should they use?
AAn ARM template or a Bicep file
BAn Azure PowerShell script with more error handling
CThe same CLI commands run from Azure Cloud Shell
DAn Azure Policy initiative that lists the resources
Show the answer and why
AAn ARM template or a Bicep file
Correct
Templates are declarative: they state what to deploy rather than the commands that build it.
BAn Azure PowerShell script with more error handling
Incorrect
A PowerShell script is still imperative: the team writes each step and its order.
CThe same CLI commands run from Azure Cloud Shell
Incorrect
Cloud Shell changes where the commands run, not how the deployment is described.
DAn Azure Policy initiative that lists the resources
Incorrect
A policy initiative checks compliance; it doesn't deploy an environment.
Infrastructure as code can start with scripts, but ARM templates and Bicep files are declarative: you define the desired end state, and Azure Resource Manager carries out the deployment. Imperative scripts spell out every command themselves.
An ARM template defines a virtual network, a NIC that uses the virtual network, a VM that uses the NIC, and two storage accounts that depend on nothing. How does Azure Resource Manager deploy them?
AIn the order they appear in the file, one resource at a time
BIn dependency order, deploying independent resources in parallel
CThe five resources together, retrying the VM until its dependencies exist
DNetworking first, then storage, then compute, by resource category
Show the answer and why
AIn the order they appear in the file, one resource at a time
Incorrect
The order in the file doesn't drive deployment; dependencies do, and unrelated resources don't wait for each other.
BIn dependency order, deploying independent resources in parallel
Correct
Resource Manager deploys dependent resources in the right order and runs independent ones in parallel when possible.
CThe five resources together, retrying the VM until its dependencies exist
Incorrect
Resource Manager doesn't rely on retries. It honors declared dependencies, so the NIC isn't attempted before its network exists.
DNetworking first, then storage, then compute, by resource category
Incorrect
There's no fixed category order. Two storage accounts that depend on nothing can start right away.
When a template is deployed, Azure validates it and then orchestrates creation: dependencies decide the order, so the network comes before the NIC and the NIC before the VM, while resources that depend on nothing are deployed in parallel.
A team deploys the same Bicep file to its test resource group twice in a row without changing the file. What's the result of the second deployment?
AThe environment ends up in the same state as after the first run
BThe deployment fails because the resources already exist
CA second copy of each resource is created with a new name
DThe existing resources are deleted and then created again
Show the answer and why
AThe environment ends up in the same state as after the first run
Correct
Bicep deployments are idempotent: deploying the same file again gives the same result.
BThe deployment fails because the resources already exist
Incorrect
Template deployments don't fail just because the resources already exist.
CA second copy of each resource is created with a new name
Incorrect
Resources are identified by their names in the file, so the same file targets the same resources instead of duplicating them.
DThe existing resources are deleted and then created again
Incorrect
Resource Manager updates resources toward the declared state rather than tearing them down and rebuilding them.
Microsoft lists repeatable deployments as a core benefit of Bicep and ARM templates: the files are idempotent, so you can deploy the same file many times and get the same resource types in the same state, which makes them safe to rerun across the development lifecycle.
A team lead wants one web-based console where she can manage every kind of Azure resource her team runs, through a graphical interface, and build a custom dashboard that shows those resources. Which tool fits?
AAzure Storage Explorer
BThe Azure portal
CCost analysis in Cost Management
DAzure Advisor
Show the answer and why
AAzure Storage Explorer
Incorrect
Storage Explorer is a standalone app for working with Azure Storage data; it doesn't manage other kinds of resources or host dashboards.
BThe Azure portal
Correct
The portal is a web-based, unified console with a graphical interface for managing Azure, and it lets you create custom dashboards for an organized view of resources.
CCost analysis in Cost Management
Incorrect
Cost analysis gives a visual view of costs by billing cycle, region, resource and so on; it doesn't manage the resources themselves.
DAzure Advisor
Incorrect
Advisor offers recommendations for improving resources; it isn't where the team manages and arranges all its resources.
The Azure portal is a web-based, unified console that offers an alternative to command-line tools. Teams build, manage and monitor deployments there through a graphical interface, and dashboards give a focused, organized view of the resources they work with.
An engineer on a borrowed laptop, where she can't install software, needs to run a few Azure CLI commands with her own permissions. What should she use?
AA local installation of the Azure CLI
BAzure Storage Explorer
CAn ARM template deployment from the portal
DAzure Cloud Shell in the browser
Show the answer and why
AA local installation of the Azure CLI
Incorrect
The Azure CLI can be installed on Windows, macOS and Linux, but she can't install software on this laptop.
BAzure Storage Explorer
Incorrect
Storage Explorer is a desktop app that would need installing, and it manages storage only.
CAn ARM template deployment from the portal
Incorrect
A template deploys resources declaratively; it doesn't run ad hoc CLI commands.
DAzure Cloud Shell in the browser
Correct
Cloud Shell runs in the browser with no local installation and is already authenticated with her Azure credentials.
Azure Cloud Shell is a browser-based shell that needs no local installation or configuration. It's authenticated with your Azure credentials, so it knows who you are and what you can do.
A team stops creating resources by clicking through the portal and instead keeps files that define its environments, deploying the same files to test and production. What is this practice called?
AInfrastructure as code
BInfrastructure as a service
CConfiguration drift
DLift and shift
Show the answer and why
AInfrastructure as code
Correct
Infrastructure as code manages infrastructure through code and templates instead of manual configuration, for repeatable deployments.
BInfrastructure as a service
Incorrect
IaaS is a cloud service type in which you rent infrastructure; it doesn't describe how you deploy it.
CConfiguration drift
Incorrect
Drift is what happens when environments diverge through manual changes, the problem this practice avoids.
DLift and shift
Incorrect
Lift and shift moves existing workloads to the cloud largely as they are; it isn't a way of defining environments.
Infrastructure as code means managing infrastructure through code and templates rather than manual configuration, so the same definitions deploy repeatable environments.
A team likes declarative ARM deployments but finds its large JSON templates hard to read and maintain. Which option keeps deployments going through Azure Resource Manager with simpler syntax?
ARewrite the deployments as Azure PowerShell scripts
BSwitch to managing the resources in the Azure portal
CRewrite the templates in Bicep
DSplit the JSON into more nested ARM templates
Show the answer and why
ARewrite the deployments as Azure PowerShell scripts
Incorrect
Scripts would replace the templates with step-by-step commands rather than simplify them.
BSwitch to managing the resources in the Azure portal
Incorrect
The portal is manual and graphical, which loses repeatable, declarative deployments.
CRewrite the templates in Bicep
Correct
Bicep is a declarative language for deploying through ARM that's simpler and more concise than JSON templates.
DSplit the JSON into more nested ARM templates
Incorrect
Nesting helps modularity but keeps the same verbose JSON syntax.
Bicep is a declarative language for Azure deployments that runs through Azure Resource Manager like JSON templates do. It's easier to read and write, supports modules for reuse and keeps deployments idempotent and orchestrated by Resource Manager.