Preview real exam questions, verified answers and available explanations before choosing a study plan.
Question 1
Single choice
You have an Azure subscription that contains four Azure virtual machines.
You need to configure the virtual machines to use a single identity. The solution must meet the following requirements:
1. Ensure that the credentials for the identity are managed automatically. 2. Support granting privileges to the identity.
Which type of identity should you use?
A
a system-assigned managed identity
B
a user-assigned managed identity
C
a service principal
D
a user account
Reveal answer detailsClose answer details
Correct answerB
Explanation
Managed Identity is suitable for scenarios where a single resource needs to access another Azure resource, while Service Principal is suitable for more complex scenarios where multiple resources need to access multiple Azure resources.
You have an X.509 certificate named cert1 that is managed by an external partner named Partner 1. You build a web app named Web1 that will be deployed by using Azure Pipelines. Web1 will be bound to cert1. You need to ensure that cert1 is available to Azure Pipelines. The solution must ensure that cert1 can only be updated by Partner1.
Where should you store cert1?
A
the Secure files library in Azure DevOps
B
a secure enclave
C
a variable group
D
an Azure key vault
Reveal answer detailsClose answer details
Correct answerD
Question 3
Single choice
You use GitHub Enterprise to manage source code and deployments.
From GitHub Actions, you create a reusable workflow named workflow 1.
You need to ensure that the secrets defined in the calling workflow are passed to workflow1.
What should you include in the YAML file for the calling workflow?
A
with:
secrets: all
B
on:
workflow_call:
secrets:
inherit: true
C
parent_workflow:
secrets: inherit
D
on:
workflow_dispatch:
inputs:
secrets: all
Reveal answer detailsClose answer details
Correct answerC
Question 4
Drag & drop
DRAG DROP
You have an Azure Repos Git repository named repo1.
You need to ensure that you can authenticate to repo1 by using SSH.
Which four actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of the correct orders you select.
Reveal answer detailsClose answer details
Question 5
Single choice
You are designing the development process for your company.
You need to recommend a solution for continuous inspection of the company's code base to locate common code patterns that are known to be problematic.
What should you include in the recommendation?
A
Microsoft Visual Studio test plans
B
Gradle wrapper scripts
C
SonarCloud analysis
D
the JavaScript task runner
Reveal answer detailsClose answer details
Correct answerC
Explanation
SonarCloud is a cloud service offered by SonarSource and based on SonarQube. SonarQube is a widely adopted open source platform to inspect continuously the quality of source code and detect bugs, vulnerabilities and code smells in more than 20 different languages.
Note: The SonarCloud Azure DevOps extension brings everything you need to have your projects analyzed on SonarCloud very quickly.
Incorrect Answers: A: Test plans are used to group together test suites and individual test cases. This includes static test suites, requirement-based suites, and query-based suites.
Your company develops an app for iOS. All users of the app have devices that are members of a private distribution group in Microsoft Visual Studio App Center. You plan to distribute a new release of the app.
You need to identify which certificate file you require to distribute the new release from App Center.
Which file type should you upload to App Center?
A
.cer
B
.pfx
C
.p12
D
.pvk
Reveal answer detailsClose answer details
Correct answerC
Explanation
A successful IOS device build will produce an ipa file. In order to install the build on a device, it needs to be signed with a valid provisioning profile and certificate. To sign the builds produced from a branch, enable code signing in the configuration pane and upload a provisioning profile (.mobileprovision) and a valid certificate (.p12), along with the password for the certificate.
You currently use JIRA, Jenkins, and Octopus as part of your DevOps processes.
You plan to use Azure DevOps to replace these tools.
Which Azure DevOps service should you use to replace each tool? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
JIRA: Release pipelines Atlassian's Jira Software is a popular application that helps teams to plan, track, and manage software releases, whereas Octopus Deploy helps teams automate their development and operations processes in a fast, repeatable, and reliable manner. Together, they enable teams to get better end-to-end visibility into their software pipelines from idea to production.
Jenkins: Repos One way to integrate Jenkins with Azure Pipelines is to run CI jobs in Jenkins separately. This involves configuration of a CI pipeline in Jenkins and a web hook in Azure DevOps that invokes the CI process when source code is pushed to a repository or a branch.
You have a multi-tier application. The front end of the application is hosted in Azure App Service.
You need to identify the average load times of the application pages.
What should you use?
A
Azure Application Insights
B
the activity log of the App Service
C
the diagnostics logs of the App Service
D
Azure Advisor
Reveal answer detailsClose answer details
Correct answerA
Explanation
Application Insights will tell you about any performance issues and exceptions, and help you find and diagnose the root causes.
Application Insights can monitor both Java and ASP.NET web applications and services, WCF services. They can be hosted on-premises, on virtual machines, or as Microsoft Azure websites.
On the client side, Application Insights can take telemetry from web pages and a wide variety of devices including iOS, Android, and Windows Store apps.
Task 2 You need to create an instance of AzureApplication Insights named az400-38443478-main and configure the instance to receive telemetry data from an Azure web app named az400-38443478-main
You must create a Log Analytics workspace before this task.
Reveal model answerClose model answer
Step 1: Create a Log Analytics Workspace
1. Go to the Azure portal.
2. Search for Log Analytics workspaces and click + Create.
3. Select your Azure subscription.
4. Select an existing resource group or create a new one.
5. Enter a unique name for the Log Analytics workspace.
6. Choose the appropriate region.
7. Click Review + Create, and then click Create.
Step 2: Create an Azure Application Insights Instance
1. In the Azure portal, search for Application Insights.
2. Click + Create.
3. Configure the following:
Name: az400-38443478-main
Subscription: Your Azure subscription
Resource Group: Select the appropriate resource group
Workspace: Select the Log Analytics workspace created in Step 1
4. Click Review + Create, and then click Create.
Step 3: Configure the Azure Web App to Send Telemetry Data
1. Go to the Azure web app named az400-38443478-main.
2. Under Monitoring, select Application Insights.
3. Choose Use existing resource.
4. Select the Application Insights instance named az400-38443478-main.
5. Complete the configuration. If required, configure the application by using the appropriate SDK and connection string or instrumentation key.
Step 4: Verify Telemetry Data Reception
1. Generate some test traffic to the web app.
2. Open the Application Insights instance.
3. Check the Overview or Performance page to verify that telemetry data is being received.
These steps will configure Azure Application Insights to collect telemetry data from the Azure web app by using the Log Analytics workspace.
Question 10
Fill in the blank
A. See the explanation below. B. Place Holder C. Place Holder D. Place Holder
Reveal answer detailsClose answer details
Accepted answerA
Explanation
Task 1: Create a wiki for your project Azure DevOps, Create a wiki for your project
Step 1: In Project1, use the navigation to get to the Wiki hub.
Step 2: Since this project does not yet have its wiki configured, click Create project wiki to set one up. When you create your first wiki, Azure DevOps will provision a Git repository that will store all your pages and artifacts.
Task 2: Render a diagram using the Mermaid syntax
The actual wiki diagram syntax is in the same file as your wiki document. The syntax for the Mermaid diagram is surrounded with the notation shown below.
:::mermaid <Mermaid Syntax>
In the preview panel to the right of your text, the image below will be displayed. Clicking on Load diagram, the Mermaid syntax is used to generate the diagram.
Depending on desired output.
A. Flow Chart Example :::mermaid graph TD A[Christmas] -->|Get money| B(Go shopping) B --> C{Let me think} C -->|One| D[Laptop] C -->|Two| E[iPhone] C -->|Three| F[fa-fa-fa Car] :::
Generate a picture that looks like the below.
B. Sequence :::mermaid sequenceDiagram Alice->>John: Hello John, how are you? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good! :::
Generate a picture that looks like the below.
C. Gantt Chart :::mermaid gantt title A Gantt Diagram dateFormat YYYY-MM-DD section Section A task :a1, 2014-01-01, 30d Another task :after a1, 20d section Another Task in sec :2014-01-12, 12d another task :24d :::
You have an Azure DevOps project that contains a build pipeline. The build pipeline uses approximately 50 open source libraries.
You need to ensure that the project can be scanned for known security vulnerabilities in the open source libraries.
What should you do? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Box 1: A Build task Trigger a build You have a Java code provisioned by the Azure DevOps demo generator. You will use WhiteSource Bolt extension to check the vulnerable components present in this code.
1. Go to Builds section under Pipelines tab, select the build definition WhiteSourceBolt and click on Queue to trigger a build. 2. To view the build in progress status, click on ellipsis and select View build results.
Box 2: WhiteSource Bolt WhiteSource is the leader in continuous open source software security and compliance management. WhiteSource integrates into your build process, irrespective of your programming languages, build tools, or development environments. It works automatically, continuously, and silently in the background, checking the security, licensing, and quality of your open source components against WhiteSource constantly-updated definitive database of open source repositories.
You have the repositories shown in the following table.
You need to migrate the contents of the GitHub repository to the Azure Repos repository. The solution must ensure that the Azure Repos repository only contains branches and history from the GitHub repository.
Which three commands should you run in sequence? To answer, move the appropriate commands from the list of commands to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Question 13
Single choice
You have an Azure DevOps subscription that contains two projects named Project 1 and Project2. The projects contain the jobs shown in the following table.
You purchase two parallel jobs. At 10:00 AM, you queue JobA and JobB. At 10:05 AM, you queue JobC.
When will JobC run?
A
1005 AM
B
10:10 AM
C
10:15 AM
D
10:20 AM
Reveal answer detailsClose answer details
Correct answerB
Question 14
Lab simulation
Simulation
You need to ensure that Microsoft Visual Studio 2017 can remotely attach to an Azure Function named fa-11566895.
To complete this task, sign in to the Microsoft Azure portal.
Reveal model answerClose model answer
Enable Remote Debugging Before we start a debugging session to our Azure Function app we need to enable the functionality.
1. Navigate in the Azure portal to your function app fa-11566895 2. Go to the "Application settings" 3. Under "Debugging" set Remote Debugging to On and set Remote Visual Studio version to 2017.
The company purchases an Azure subscription and implements Application Insights in Azure Monitor.
You plan to centralize distributed tracing for the apps.
You need to identify which libraries can integrate directly with Application Insights.
Which two libraries should you identify? Each correct answer presents a complete solution.
NOTE: Each correct solution is worth one point.
A
Honeycomb
B
OpenTracing
C
Jaeger
D
OpenTelemtry
E
OpenCensus
Reveal answer detailsClose answer details
Correct answersD, E
Explanation
Explanation: You can use OpenTelemetry Collector to collect traces to send to AppInsights. Run OpenTelemetry Collector to push to your Application Insights instance
Track incoming requests with OpenCensus Python Incoming request data is collected using OpenCensus Python and its various integrations. Track incoming request data sent to your web applications built on top of the popular web frameworks django, flask and pyramid. The data is then sent to Application Insights under Azure Monitor as requests telemetry.
You use GitHub for source control of .NET applications.
You need to deploy a documentation solution that meets the following requirements:
Documents will be written in Markdown as developers make code changes. Changes to the documents will trigger the recompilation of a static website. Users will access the documents from the static website. Documents will be stored in a GitHub repository.
Which two tools can you use to compile the website? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A
Word Press
B
Jekyll
C
DocFX
D
caret
E
Medium
Reveal answer detailsClose answer details
Correct answersB, C
Question 17
Lab simulation
Simulation
Navigate to https://dev.azure.com, select Start Free, and specify the following credentials:
Use the default setting to sign up for Azure DevOps and create an Azure DevOps organization. Once the organization is created, create a private project named Project1.
You need to add an external user that has an email address of [email protected] as a stakeholder of the User1-12345678 Azure DevOps organization.
The user must be added to the most restrictive Azure DevOps group.
To complete this task, sign in to the Azure DevOps portal as [email protected].
Reveal model answerClose model answer
Phase 1: Create an organization Azure DevOps, Create an organization
Step 1: Sign in to Azure DevOps. Step 2: Select New organization. Step 3: Confirm information, and then select Continue.
Congratulations, you're an organization owner!
Step 3: Confirm information, and then select Continue.
Congratulations, you're an organization owner!
Phase 2: Create a Private project Create a project in Azure DevOps
Step 4: Sign in to your organization ( https://dev.azure.com/{yourorganization}). Step 5: Select New project.
Step 6: Enter information into the form provided. Provide a name for your project. [Enter Project1] Choose the visibility, initial source control type, and work item process. [Select Private]
Phase 3: Add an external user Azure DevOps, Add external users to your organization Invite external user
Step 8: Sign in to your organization ( https://dev.azure.com/{yourorganization}). Step 9: Select the gear icon Organization settings.
Step 10: Select Users, and then select Add users.
Step 11: Enter information based on the following guidance, and then select Add. Users: Enter the email address for the user. [Enter [email protected]]
Question 18
Fill in the blank
You manage code by using GitHub. You plan to ensure that all GitHub Actions are validated by a security team. You create a branch protection rule requiring that code changes be reviewed by code owners. You need to create the CODEOWNERS file.
Where should you create the file?
A. .github/actions/ B. .github/ C. .git/ D. .github/workflows/
Reveal answer detailsClose answer details
Accepted answerB
Question 19
Multiple choice
Your company implements an Agile development methodology.
You plan to implement retrospectives at the end of each sprint.
Which three questions should you include? Each correct answer presents part of the solution.
You have a GitHub repository. A file that contains secrets is committed and pushed to the repository accidentally. You need to perform the following actions: - Remove the file from the repository. - Remove all commits that include the file from the repository. The solution must minimize administrative effort.
What should you use?
A
GitHub Actions
B
a branch protection rule
C
the git re command
D
the git filter-repo command
Reveal answer detailsClose answer details
Correct answerD
Question 21
Single choice
You have multiple teams that work on multiple projects in Azure DevOps.
You need to plan and manage the consumers and producers for each project. The solution must provide an overview of all the projects.
What should you do?
A
Add a Predecessor or Successor link to the feature or user story for the items of each project.
B
Add a Parent or Child link to the feature or user story for the items of each project.
C
Install the Dependency Tracker extension and create dependencies for each project.
D
Create a custom query to show the consumers and producers and add a widget to a dashboard.
Reveal answer detailsClose answer details
Correct answerC
Explanation
Explanation: The Dependency Tracker extension enables management of dependencies across teams, projects, and organizations. It provides filterable views to show all dependencies a team is consuming and producing. These views allow you to track the state and schedule of dependencies to support you in assessing the risk of dependencies to product deliverables.
You use the Dependency Tracker to plan dependencies at the beginning of an iteration or release, and to track the status during development. For any given dependency, there are two parties involved:
Consumer: Feature team who has a need and starts a request for work Producer: Feature team who makes a commitment to deliver work
1. Click Test to ensure Azure DevOps can send a message to the queue.
2. If the test succeeds, click Finish to create the service hook.
Step 6: Validate in the Azure Portal
1. In the Azure portal, go to storage48901628 > Queues > queue1.
2. You should see new messages appear in the queue whenever the configured Azure DevOps event (such as a push or pull request) occurs.
Question 23
Hotspot
HOTSPOT
You have a project in Azure DevOps that contains a Continuous Integration/Continuous Deployment (CI/CD) pipeline.
You need to enable detailed logging by defining a pipeline variable.
How should you configure the variable? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Explanation:
Box 1: system.debug To configure verbose logs for all runs, you can add a variable named system.debug and set its value to true.
Note: Verbose logging is the practice of recording to a persistent medium as much information as you possibly can about events that occur while the software runs.
You use Azure Artifacts to host NuGet packages that you create.
You need to make one of the packages available to anonymous users outside your organization. The solution must minimize the number of publication points.
What should you do?
A
Change the feed URL of the package
B
Create a new feed for the package
C
Promote the package to a release view.
D
Publish the package to a public NuGet repository.
Reveal answer detailsClose answer details
Correct answerB
Explanation
Azure Artifacts introduces the concept of multiple feeds that you can use to organize and control access to your packages. Packages you host in Azure Artifacts are stored in a feed. Setting permissions on the feed allows you to share your packages with as many or as few people as your scenario requires. Feeds have four levels of access: Owners, Contributors, Collaborators, and Readers.
Your company has two virtual machines that run Linux in a third-party public cloud. You plan to use the company's Azure Automation State Configuration implementation to manage the two virtual machines and detect configuration drift. You need to onboard the Linux virtual machines. You install PowerShell Desired State Configuration (DSC) on the virtual machines, and then run register.py.
Which three actions should you perform next in sequence? To answer, move the actions from the list of actions to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Explanation
Step 1: Create a DSC metaconfiguration Load up the DSC Configuration into Azure Automation.
Step 2: Copy the metaconfiguration to the virtual machines. Linking the Node Configuration to the Linux Host
Step 3: Add the virtual machines as DSC nodes in Azure Automation. go to DSC Nodes, select your node, and then click Assign node configuration. This step assigns the DSC configuration to the Linux machine. Next up will be to link the node configuration to the host. Go to the host and press the "Assign node..."-button. Next up you can select your node configuration.
Case study
Case Study 1
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Litware, Inc. is an independent software vendor (ISV). Litware has a main office and five branch offices.
Existing Environment
Application Architecture
The company's primary application is a single monolithic retirement fund management system based on ASP.NET web forms that use logic written in VB.NET. Some new sections of the application are written in C#.
Variations of the application are created for individual customers. Currently, there are more than 80 live code branches in the application's code base.
The application was developed by using Microsoft Visual Studio. Source code is stored in Team Foundation Server (TFS) in the main office. The branch offices access the source code by using TFS proxy servers.
Architectural Issues
Litware focuses on writing new code for customers. No resources are provided to refactor or remove existing code. Changes to the code base take a long time, as dependencies are not obvious to individual developers.
Merge operations of the code often take months and involve many developers. Code merging frequently introduces bugs that are difficult to locate and resolve.
Customers report that ownership costs of the retirement fund management system increase continually. The need to merge unrelated code makes even minor code changes expensive.
Customers report that bug reporting is overly complex.
Requirements
Planned changes
Litware plans to develop a new suite of applications for investment planning. The investment planning applications will require only minor integration with the existing retirement fund management system.
The investment planning applications suite will include one multi-tier web application and two iOS mobile applications. One mobile application will be used by employees; the other will be used by customers.
Litware plans to move to a more agile development methodology. Shared code will be extracted into a series of packages.
Litware has started an internal cloud transformation process and plans to use cloud-based services whenever suitable.
Litware wants to become proactive in detecting failures, rather than always waiting for customer bug reports.
Technical requirements
The company's investment planning applications suite must meet the following requirements:
1. New incoming connections through the firewall must be minimized. 2. Members of a group named Developers must be able to install packages. 3. The principle of least privilege must be used for all permission assignments. 4. A branching strategy that supports developing new functionality in isolation must be used. 5. Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds. 6. Visual Studio App Center must be used to centralize the reporting of mobile application crashes and device types in use. 7. By default, all releases must remain available for 30 days, except for production releases, which must be kept for 60 days. 8. Code quality and release quality are critical. During release, deployments must not proceed between stages if any active bugs are logged against the release. 9. The mobile applications must be able to call the share pricing service of the existing retirement fund management system. Until the system is upgraded, the service will only support basic authentication over HTTPS. 10. The required operating system configuration for the test servers changes weekly. Azure Automation State Configuration must be used to ensure that the operating system on each test server is configured the same way when the servers are created and checked periodically.
Current Technical Issue
The test servers are configured correctly when first deployed, but they experience configuration drift over time. Azure Automation State Configuration fails to correct the configurations.
Azure Automation State Configuration nodes are registered by using the following command.
Question 29
Testlet 1Single choice
What should you use to implement the code quality restriction on the release pipeline for the investment planning applications suite?
A
a trigger
B
a pre-deployment approval
C
a post-deployment approval
D
a deployment gate
Reveal answer detailsClose answer details
Correct answerD
Question 30
Single choice
You plan to create an image that will contain a .NET Core application.
You have a Dockerfile file that contains the following code. (Line numbers are included for reference only.)
You need to ensure that the image is as small as possible when the image is built.
Which line should you modify in the file?
A
1
B
3
C
4
D
7
Reveal answer detailsClose answer details
Correct answerC
Question 31
Multiple choice
Your company has an on-premises Bitbucket Server that is used for Git-based source control. The server is protected by a firewall that blocks inbound Internet traffic.
You plan to use Azure DevOps to manage the build and release processes.
Which two components are required to integrate Azure DevOps and Bitbucket? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A
a deployment group
B
a Microsoft-hosted agent
C
service hooks
D
a self-hosted agent
E
an External Git service connection
Reveal answer detailsClose answer details
Correct answersD, E
Explanation
E: GitLab CI/CD can be used with GitHub or any other Git server such as BitBucket. Instead of moving your entire project to GitLab, you can connect your external repository to get the benefits of GitLab CI/CD.
Note: When a pipeline uses a remote, 3rd-party repository host such as Bitbucket Cloud, the repository is configured with webhooks that notify Azure Pipelines Server or TFS when code has changed and a build should be triggered. Since on-premises installations are normally protected behind a firewall, 3rd-party webhooks are unable to reach the on-premises server. As a workaround, you can use the External Git repository type which uses polling instead of webhooks to trigger a build when code has changed.
Note: This section contains one or more sets of questions with the same scenario and problem. Each question presents a unique solution to the problem. You must determine whether the solution meets the stated goals. More than one solution in the set might solve the problem. It is also possible that none of the solutions in the set solve the problem.
After you answer a question in this section, you will NOT be able to return. As a result, these questions do not appear on the Review Screen.
You have an on-premises web server named Server1. You need to ensure that you can build .NET apps and deploy the apps to Server1 by using Azure Pipelines.
Solution: You deploy Managed DevOps Pools and select the Azure Pipelines - Windows Server 2022 image.
Does this meet the goal?
A
Yes
B
No
Reveal answer detailsClose answer details
Correct answerB
Question 33
Single choice
You manage build pipelines and deployment pipelines by using Azure DevOps.
Your company has a team of 500 developers. New members are added continually to the team.
You need to automate the management of users and licenses whenever possible.
Which task must you perform manually?
A
modifying group memberships
B
adding users
C
assigning entitlements
D
procuring licenses
Reveal answer detailsClose answer details
Correct answerD
Explanation
Incorrect Answers: A: You can seamlessly replace existing solutions with group-based licensing to more easily manage licenses in Azure DevOps. You can use Group rules.
C: Member Entitlement Management APIs allow managing Entitlements that include - 1. License 2. Extensions 3. Project/Team memberships
You commit a change to repol. You need to update the commit message. The solution must ensure that the version number remains the same.
Which command should you run?
A
git commit --patch
B
git commit --amend
C
git status --renames
D
git restore --patch
Reveal answer detailsClose answer details
Correct answerB
Case study
Case Study 1
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Litware, Inc. is an independent software vendor (ISV). Litware has a main office and five branch offices.
Existing Environment
Application Architecture
The company's primary application is a single monolithic retirement fund management system based on ASP.NET web forms that use logic written in VB.NET. Some new sections of the application are written in C#.
Variations of the application are created for individual customers. Currently, there are more than 80 live code branches in the application's code base.
The application was developed by using Microsoft Visual Studio. Source code is stored in Team Foundation Server (TFS) in the main office. The branch offices access the source code by using TFS proxy servers.
Architectural Issues
Litware focuses on writing new code for customers. No resources are provided to refactor or remove existing code. Changes to the code base take a long time, as dependencies are not obvious to individual developers.
Merge operations of the code often take months and involve many developers. Code merging frequently introduces bugs that are difficult to locate and resolve.
Customers report that ownership costs of the retirement fund management system increase continually. The need to merge unrelated code makes even minor code changes expensive.
Customers report that bug reporting is overly complex.
Requirements
Planned changes
Litware plans to develop a new suite of applications for investment planning. The investment planning applications will require only minor integration with the existing retirement fund management system.
The investment planning applications suite will include one multi-tier web application and two iOS mobile applications. One mobile application will be used by employees; the other will be used by customers.
Litware plans to move to a more agile development methodology. Shared code will be extracted into a series of packages.
Litware has started an internal cloud transformation process and plans to use cloud-based services whenever suitable.
Litware wants to become proactive in detecting failures, rather than always waiting for customer bug reports.
Technical requirements
The company's investment planning applications suite must meet the following requirements:
1. New incoming connections through the firewall must be minimized. 2. Members of a group named Developers must be able to install packages. 3. The principle of least privilege must be used for all permission assignments. 4. A branching strategy that supports developing new functionality in isolation must be used. 5. Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds. 6. Visual Studio App Center must be used to centralize the reporting of mobile application crashes and device types in use. 7. By default, all releases must remain available for 30 days, except for production releases, which must be kept for 60 days. 8. Code quality and release quality are critical. During release, deployments must not proceed between stages if any active bugs are logged against the release. 9. The mobile applications must be able to call the share pricing service of the existing retirement fund management system. Until the system is upgraded, the service will only support basic authentication over HTTPS. 10. The required operating system configuration for the test servers changes weekly. Azure Automation State Configuration must be used to ensure that the operating system on each test server is configured the same way when the servers are created and checked periodically.
Current Technical Issue
The test servers are configured correctly when first deployed, but they experience configuration drift over time. Azure Automation State Configuration fails to correct the configurations.
Azure Automation State Configuration nodes are registered by using the following command.
Question 35
Testlet 1Single choice
Which branching strategy should you recommend for the investment planning applications suite?
A
release isolation
B
main only
C
development isolation
D
feature isolation
Reveal answer detailsClose answer details
Correct answerC
Explanation
Scenario: A branching strategy that supports developing new functionality in isolation must be used.
Feature isolation is a special derivation of the development isolation, allowing you to branch one or more feature branches from main, as shown, or from your dev branches.
When you need to work on a particular feature, it might be a good idea to create a feature branch.
You plan to use Dependabot to scan for code dependencies.
You need to identify when scanning will be triggered automatically.
Which two actions will trigger a scan? Each correct answer presents a complete solution.
NOTE: Each correct solution is worth one point.
A
The dependency graph of a repository changes.
B
A pull request is created.
C
A branch is forked.
D
Any commit is pushed.
E
A new advisory is added.
Reveal answer detailsClose answer details
Correct answersA, E
Explanation
About Dependabot alerts, Detection of insecure dependencies Dependabot performs a scan of the default branch of your repository to detect insecure dependencies, and sends Dependabot alerts when:
A new advisory is added to the GitHub Advisory Database. Note: Only advisories that have been reviewed by GitHub will trigger Dependabot alerts.
The dependency graph for a repository changes. For example, when a contributor pushes a commit to change the packages or versions it depends on, or when the code of one of the dependencies changes.
You need to recommend a development environment that meets the following requirements:
1. Integrates with GitHub 2. Provides integrated debugging tools 3. Supports remote workers and hot-desking environments 4. Supports developers who use browsers, tablets, and Chromebooks
What should you recommend?
A
VS Code
B
Xamarin Studio
C
MonoDevelop
D
Github Codespaces
Reveal answer detailsClose answer details
Correct answerD
Explanation
You can develop in your codespace directly in Visual Studio Code by connecting the GitHub Codespaces extension with your account on GitHub.
You have a GitHub Actions workflow named workflow1 that is used to deploy an app name App1.
You need to ensure that App1 is deployed only when the following conditions are met:
- A pull request is merged to the main branch. - The change includes a JavaScript file. Solution: You configure the YAML file of workflow1 to include the following:
Does this meet the goal?
A
Yes
B
No
Reveal answer detailsClose answer details
Correct answerB
Question 39
Single choice
You have been tasked with strengthening the security of your team's development process.
You need to suggest a security tool type for the Continuous Integration (CI) phase of the development process.
Which of the following is the option you would suggest?
A
Penetration testing
B
Static code analysis
C
Threat modeling
D
Dynamic code analysis
Reveal answer detailsClose answer details
Correct answerB
Explanation
Validation in the CI/CD begins before the developer commits his or her code. Static code analysis tools in the IDE provide the first line of defense to help ensure that security vulnerabilities are not introduced into the CI/CD process.
You have an Azure subscription that contains an Azure Active Directory (Azure AD) tenant.
You are configuring a build pipeline in Azure Pipelines that will include a task named Task1. Task1 will authenticate by using an Azure AD service principal.
Which three values should you configure for Task1? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A
the tenant ID
B
the subscription ID
C
the client secret
D
the app ID
E
the object ID
Reveal answer detailsClose answer details
Correct answersA, C, D
Explanation
Create an Azure Resource Manager service connection with an existing service principal
AB: Enter the information about your service principal into the Azure subscription dialog textboxes: 1. Tenant ID 2. Subscription ID 3. Subscription name 4. Service principal ID Either the service principal client key or, if you have selected Certificate, enter the contents of both the certificate and private key sections of the *.pem file.
If you're using the classic editor, select data you need. For example, the App service name. If you're using YAML, then go to the resource in the Azure portal, and then copy the data into your code. For example, to deploy a web app, you would copy the name of the App Service into the WebAppName value.
You need to ensure that an Azure web app named az400-9940427-main supports rolling upgrades. The solution must ensure that only 10 percent of users who connect to az400-9940427-main use update versions of the app.
The solution must minimize administrative effort.
To complete this task, sign in to the Microsoft Azure portal.
Reveal model answerClose model answer
Set up staging environments in Azure App Service
1. Open Microsoft Azure Portal
2. Log into your Azure account, select your app's resource page, in the left pane, select Deployment slots > Add Slot.
3. In the Add a slot dialog box, give the slot a name, and select whether to clone an app configuration from another deployment slot. Select Add to continue.
4. After the slot is added, select Close to close the dialog box. The new slot is now shown on the Deployment slots page. By default, Traffic % is set to 0 for the new slot, with all customer traffic routed to the production slot.
5. Select the new deployment slot to open that slot's resource page.
You have an Azure subscription. You need to ensure that users can provision preconfigured cloud-based environments for developing apps. The solution must minimize administrative effort.
What should you include in the solution?
A
Microsoft Dev Box
B
Windows 365 Cloud PC
C
Azure Deployment Environments
D
Azure Virtual Desktop
Reveal answer detailsClose answer details
Correct answerC
Question 43
Single choice
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have an Azure DevOps organization named Contoso and an Azure subscription. The subscription contains an Azure virtual machine scale set named VMSS1 that is configured for autoscaling.
You have a project in Azure DevOps named Project1. Project1 is used to build a web app named App1 and deploy App1 to VMSS1.
You need to ensure that an email alert is generated whenever VMSS1 scales in or out.
Solution: From Azure DevOps, configure the Notifications settings for Project1.
Does this meet the goal?
A
Yes
B
No
Reveal answer detailsClose answer details
Correct answerB
Explanation
Notifications help you and your team stay informed about activity that occurs within your projects in Azure DevOps. You can get notified when changes occur to the following items: work items code reviews pull requests source control files builds
What are two ways to achieve the goal? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A
Review the historical graph for the agent pools.
B
Review the Pipeline duration report.
C
Query the TaskAgentPoolSizeSnapshot/TaskAgentPoolSizeSnapshots endpoint.
D
Query the PipelineRun/PipelineRuns endpoint.
Reveal answer detailsClose answer details
Correct answersA, C
Question 46
Lab simulation
Simulation
You need to configure an Azure web app named az400-9940427-main to contain an environmental variable named "MAX_ITEMS". The environmental variable must have a value of 50.
To complete this task, sign in to the Microsoft Azure portal.
Reveal model answerClose model answer
1. In the Azure portal, navigate to the az400-9940427-main app's management page. In the app's left menu, click Configuration > Application settings.
You need to recommend a development environment that meets the following requirements:
1. Integrates with GitHub 2. Provides integrated debugging tools 3. Supports remote workers and hot-desking environments 4. Supports developers who use browsers, tablets, and Chromebooks
What should you recommend?
A
VS Code
B
Xamarin Studio
C
MonoDevelop
D
Visual Studio Codespaces
Reveal answer detailsClose answer details
Correct answerD
Explanation
Visual Studio Codespaces is built to accommodate the widest variety of projects or tasks, including GitHub and integrating debugging.
Visual Studio Codespaces conceptually and technically extends the Visual Studio Code Remote Development extensions.
In addition to "backend" environments, Visual Studio Codespaces supports these "frontend" editors: Visual Studio Code Visual Studio Code-based editor in the browser
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Contoso, Ltd. is a manufacturing company that has a main office in Chicago.
Existing Environment
Contoso plans to improve its IT development and operations processes by implementing Azure DevOps principles. Contoso has an Azure subscription and creates an Azure DevOps organization.
The Azure DevOps organization includes:
1. The Docker extension 2. A deployment pool named Pool7 that contains 10 Azure virtual machines that run Windows Server 2016
The Azure subscription contains an Azure Automation account.
Requirements
Planned changes
Contoso plans to create projects in Azure DevOps as shown in the following table.
Technical requirements
Contoso identifies the following technical requirements:
1. Implement build agents for Project1. 2. Whenever possible, use Azure resources. 3. Avoid using deprecated technologies. 4. Implement a code flow strategy for Project2 that will: -Enable Team2 to submit pull requests for Project2. -Enable Team2 to work independently on changes to a copy of Project2. -Ensure that any intermediary changes performed by Team2 on a copy of Project2 will be subject to the same restrictions as the ones defined in the build policy of Project2 5. Whenever possible implement automation and minimize administrative effort. 6. Implement Project3, Project5, Project6, and Project7 based on the planned changes 7. Implement Project4 and configure the project to push Docker images to Azure Container Registry.
Question 48
Testlet 2Drag & drop
DRAG DROP
You need to implement the code flow strategy for Project2 in Azure DevOps.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Explanation
Step 1: Create a repository A Git repository, or repo, is a folder that you've told Git to help you track file changes in.You can have any number of repos on your computer, each stored in their own folder.
Step 2: Create a branch Branch policies help teams protect their important branches of development. Policies enforce your team's code quality and change management standards.
Step 3: Add a build validation policy When a build validation policy is enabled, a new build is queued when a new pull request is created or when changes are pushed to an existing pull request targeting this branch. The build policy then evaluates the results of the build to determine whether the pull request can be completed.
Scenario: Implement a code flow strategy for Project2 that will: 1. Enable Team2 to submit pull requests for Project2. 2. Enable Team2 to work independently on changes to a copy of Project2. 3. Ensure that any intermediary changes performed by Team2 on a copy of Project2 will be subject to the same restrictions as the ones defined in the build policy of Project2.
You have an Azure DevOps project that is used to build and test an app named App1.
You need to troubleshoot the following issues:
1. Most bugs are detected and reported by customers. 2. It takes a long time to detect failures.
Which metric should you review for each issue? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Question 51
Hotspot
HOTSPOT
You have an Azure web app named webapp1 that uses the .NET Core runtime stack. You have an Azure Application Insights resource named AppInsights1 that collects telemetry data generated by webapp1.
You plan to deploy webapp1 by using an Azure DevOps pipeline.
You need to modify the sampling rate of the telemetry data processed by AppInsights1 without having to redeploy webapp1 after each modification.
What should you do? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Explanation: Box 1: Modify ApplicationInsights.config In ApplicationInsights.config, you can adjust several parameters in the AdaptiveSamplingTelemetryProcessor node. The figures shown are the default values:
The target rate of logical operations that the adaptive algorithm aims to collect on each server host. If your web app runs on many hosts, reduce this value so as to remain within your target rate of traffic at the Application Insights portal.
<EvaluationInterval>00:00:15</EvaluationInterval>
The interval at which the current rate of telemetry is reevaluated. Evaluation is performed as a moving average. You might want to shorten this interval if your telemetry is liable to sudden bursts.
Etc.
Box 2: Modify the Usage and estimated costs settings.
Ingestion sampling Use this type of sampling if your app often goes over its monthly quota and you don't have the option of using either of the SDK-based types of sampling.
Set the sampling rate in the Usage and estimated costs page:
Incorrect: * Smart detection Proactive diagnostics is a recent feature. Without any special configuration by you, Application Insights automatically detects and alerts you about unusual rises in failure rates in your app. It's smart enough to ignore a background of occasional failures, and also rises that are simply proportionate to a rise in requests. So for example, if there's a failure in one of the services you depend on, or if the new build you just deployed isn't working so well, then you'll know about it as soon as you look at your email. (And there are webhooks so that you can trigger other apps.)
Another aspect of this feature performs a daily in-depth analysis of your telemetry, looking for unusual patterns of performance that are hard to discover. For example, it can find slow performance associated with a particular geographical area, or with a particular browser version.
* Continuous Export Want to keep your telemetry for longer than the standard retention period? Or process it in some specialized way? Continuous Export is ideal for this purpose. The events you see in the Application Insights portal can be exported to storage in Microsoft Azure in JSON format. From there, you can download your data and write whatever code you need to process it.
You need to recommend a procedure to clone the repository from GitHub to Azure DevOps.
What should you recommend?
A
Create a pull request.
B
Create a webhook.
C
Create a service connection for GitHub.
D
From Import a Git repository, click Import.
E
Create a personal access token in Azure DevOps.
Reveal answer detailsClose answer details
Correct answerD
Explanation
You can import an existing Git repo from GitHub, Bitbucket, GitLab, or other location into a new or empty existing repo in your project in Azure DevOps.
Import into a new repo 1. Select Repos, Files. 2. From the repo drop-down, select Import repository. 3. If the source repo is publicly available, just enter the clone URL of the source repository and a name for your new Git repository.
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Litware, Inc. is an independent software vendor (ISV). Litware has a main office and five branch offices.
Existing Environment
Application Architecture
The company's primary application is a single monolithic retirement fund management system based on ASP.NET web forms that use logic written in VB.NET. Some new sections of the application are written in C#.
Variations of the application are created for individual customers. Currently, there are more than 80 live code branches in the application's code base.
The application was developed by using Microsoft Visual Studio. Source code is stored in Team Foundation Server (TFS) in the main office. The branch offices access the source code by using TFS proxy servers.
Architectural Issues
Litware focuses on writing new code for customers. No resources are provided to refactor or remove existing code. Changes to the code base take a long time, as dependencies are not obvious to individual developers.
Merge operations of the code often take months and involve many developers. Code merging frequently introduces bugs that are difficult to locate and resolve.
Customers report that ownership costs of the retirement fund management system increase continually. The need to merge unrelated code makes even minor code changes expensive.
Customers report that bug reporting is overly complex.
Requirements
Planned changes
Litware plans to develop a new suite of applications for investment planning. The investment planning applications will require only minor integration with the existing retirement fund management system.
The investment planning applications suite will include one multi-tier web application and two iOS mobile applications. One mobile application will be used by employees; the other will be used by customers.
Litware plans to move to a more agile development methodology. Shared code will be extracted into a series of packages.
Litware has started an internal cloud transformation process and plans to use cloud-based services whenever suitable.
Litware wants to become proactive in detecting failures, rather than always waiting for customer bug reports.
Technical requirements
The company's investment planning applications suite must meet the following requirements:
1. New incoming connections through the firewall must be minimized. 2. Members of a group named Developers must be able to install packages. 3. The principle of least privilege must be used for all permission assignments. 4. A branching strategy that supports developing new functionality in isolation must be used. 5. Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds. 6. Visual Studio App Center must be used to centralize the reporting of mobile application crashes and device types in use. 7. By default, all releases must remain available for 30 days, except for production releases, which must be kept for 60 days. 8. Code quality and release quality are critical. During release, deployments must not proceed between stages if any active bugs are logged against the release. 9. The mobile applications must be able to call the share pricing service of the existing retirement fund management system. Until the system is upgraded, the service will only support basic authentication over HTTPS. 10. The required operating system configuration for the test servers changes weekly. Azure Automation State Configuration must be used to ensure that the operating system on each test server is configured the same way when the servers are created and checked periodically.
Current Technical Issue
The test servers are configured correctly when first deployed, but they experience configuration drift over time. Azure Automation State Configuration fails to correct the configurations.
Azure Automation State Configuration nodes are registered by using the following command.
Question 53
Testlet 1Drag & drop
DRAG DROP
Which package feed access levels should be assigned to the Developers and Team Leaders groups for the investment planning applications suite? To answer, drag the appropriate access levels to the correct groups. Each access level may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Box 1: Reader Members of a group named Developers must be able to install packages.
Feeds have four levels of access: Owners, Contributors, Collaborators, and Readers. Owners can add any type of identity-individuals, teams, and groups-to any access level.
Box 2: Owner Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds.
Question 54
Single choice
You have the services shown in the following table.
You manage a project by using Azure Boards.
You need to notify the services of build status changes.
Which services can be notified by using a webhook?
A
Service1 only
B
Service2 only
C
Service1 and Service2
Reveal answer detailsClose answer details
Correct answerC
Explanation
Webhooks provide a way to send a JSON representation of an event to any service. All that is required is a public endpoint (HTTP or HTTPS).
Q: Can I send webhooks to non HTTPS endpoints? A: Yes. However, it's recommended that you only use HTTPS endpoints for your webhooks. Using HTTP means there is the potential for private data being sent unencrypted. This includes any authentication headers in your webhook.
You have a private project in Azure DevOps and two users named User1 and User2.
You need to add User1 and User2 to groups to meet the following requirements:
1. User1 must be able to create a code wiki. 2. User2 must be able to edit wiki pages. 3. The solution must use the principle of least privilege.
To which group should you add each user? To answer, drag the appropriate groups to the correct users. Each group may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
User1: Project Administrators You must have the permission Create Repository to publish code as wiki. By default, this permission is set for members of the Project Administrators group.
User2: Contributors Anyone who is a member of the Contributors security group can add or edit wiki pages.
Anyone with access to the team project, including stakeholders, can view the wiki.
You have a project in Azure DevOps named Project1 that contains two Azure DevOps pipelines named Pipeline1 and Pipeline2.
You need to ensure that Pipeline1 can deploy code successfully to an Azure web app named webapp1. The solution must ensure that Pipeline2 does not have permission to webapp1.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Question 58
Single choice
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have an Azure pipeline that is used to deploy a web app. The pipeline includes a test suite named TestSuite1. TestSuite1 is used to validate the operations of the web app.
TestSuite1 fails intermittently.
You identify that the failures are unrelated to changes in the source code and execution environment.
You need to minimize troubleshooting effort for the TestSuite1 failures.
Solution: You implement the Test Results Trend widget.
Does this meet the goal?
A
Yes
B
No
Reveal answer detailsClose answer details
Correct answerB
Explanation
Manage flaky tests Productivity for developers relies on the ability of tests to find real problems with the code under development or update in a timely and reliable fashion. Flaky tests present a barrier to finding real problems, since the failures often don't relate to the changes being tested. A flaky test is a test that provides different outcomes, such as pass or fail, even when there are no changes in the source code or execution environment. Flaky tests also impact the quality of shipped code.
The goal of bringing flaky test management in-product is to reduce developer pain cause by flaky tests and cater to the whole workflow. Flaky test management provides the following benefits.
Detection - Auto detection of flaky test with rerun or extensibility to plug in your own custom detection method
Management of flakiness - Once a test is marked as flaky, the data is available for all pipelines for that branch
Report on flaky tests - Ability to choose if you want to prevent build failures caused by flaky tests, or use the flaky tag only for troubleshooting
Resolution - Manual bug-creation or manual marking and unmarking test as flaky based on your analysis
Close the loop - Reset flaky test as a result of bug resolution / manual input
Your company plans to use an agile approach to software development.
You need to recommend an application to provide communication between members of the development team who work in locations around the world. The applications must meet the following requirements:
1. Provide the ability to isolate the members of different project teams into separate communication channels and to keep a history of the chats within those channels. 2. Be available on Windows 10, Mac OS, iOS, and Android operating systems. 3. Provide the ability to add external contractors and suppliers to projects. 4. Integrate directly with Azure DevOps.
What should you recommend?
A
Microsoft Project
B
Bamboo
C
Microsoft Lync
D
Microsoft Teams
E
Octopus
Reveal answer detailsClose answer details
Correct answerD
Explanation
1. Within each team, users can create different channels to organize their communications by topic. Each channel can include a couple of users or scale to thousands of users. 2. Microsoft Teams works on Android, iOS, Mac and Windows systems and devices. It also works in Chrome, Firefox, Internet Explorer 11 and Microsoft Edge web browsers. 3. The guest-access feature in Microsoft Teams allows users to invite people outside their organizations to join internal channels for messaging, meetings and file sharing. This capability helps to facilitate business-to-business project management. 4. Teams integrates with Azure DevOps.
Note: Slack would also be a correct answer, but it is not an option here.
You have a GitHub repository that contains multiple versions of an Azure Pipelines template.
You plan to deploy multiple pipelines that will use a template stored in the repository.
You need to ensure that you use a fixed version of the template.
What should you use to reference which version of the template repository to use?
A
the serial
B
the SHA-based hashes
C
the runner
D
the branch
Reveal answer detailsClose answer details
Correct answerD
Explanation
Explanation: Repositories are resolved only once, when the pipeline starts up. After that, the same resource is used for the duration of the pipeline. Only the template files are used. Once the templates are fully expanded, the final pipeline runs as if it were defined entirely in the source repo. This means that you can't use scripts from the template repo in your pipeline.
If you want to use a particular, fixed version of the template, be sure to pin to a ref. The refs are either branches (refs/heads/<name>) or tags (refs/tags/<name>). If you want to pin a specific commit, first create a tag pointing to that commit, then pin to that tag.
NOTE: If no ref is specified, the pipeline will default to using refs/heads/main.
You have a GitHub Enterprise account. You have three projects named Project1, Project2, and Project3.
Project1 must meet the following requirements:
Perform concurrent testing across 700 hosts.
Support workflow job durations of at least five hours.
Project2 must meet the following requirements:
Perform concurrent load testing across 35 hosts that run macOS.
Support workflow job durations of at least one hour.
Project3 must meet the following requirements:
Perform concurrent load testing across 200 hosts that run Windows.
Support workflow job durations of at least 24 hours.
You need to recommend an architecture for the GitHub runners of the projects. The solution must minimize costs.
What should you recommend for each project? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Question 62
Single choice
You are building a Microsoft ASP.NET application that requires authentication. You need to authenticate users by using Azure Active Directory (Azure AD).
What should you do first?
A
Create a membership database in an Azure SQL database.
B
Assign an enterprise application to users and groups.
C
Create an app registration in Azure AD.
D
Configure the application to use a SAML endpoint.
E
Create a new OAuth token from the application.
Reveal answer detailsClose answer details
Correct answerC
Explanation
Register your application to use Azure Active Directory. Registering the application means that your developers can use Azure AD to authenticate users and request access to user resources such as email, calendar, and documents.
You need to configure a virtual machine template in a DevTest Labs environment named az400-38443478-dtl1. The operating system must be based on Windows Server 2016 Datacenter. Virtual machines created from the DevTest Lab must include the Selenium tool and the Google Chrome browser.
Reveal model answerClose model answer
To configure a virtual machine template in your DevTest Labs environment named az400-38443478-dtl1 with Windows Server 2016 Datacenter that includes the Selenium tool and the Google Chrome browser, follow these steps:
Step 1: Create a Custom Image with Windows Server 2016 Datacenter
1. In the Azure portal, go to your DevTest Lab named az400-38443478-dtl1.
2. Navigate to Configuration and policies > Custom images.
3. Use an existing virtual machine or create a new one based on Windows Server 2016 Datacenter.
4. After configuring the virtual machine, capture it to create a custom image.
Step 2: Install Selenium and Google Chrome
1. Connect to the virtual machine by using Remote Desktop (RDP).
2. Download and install the Selenium WebDriver from the official Selenium website.
3. Download and install Google Chrome from the official Google Chrome website.
Step 3: Generalize the Virtual Machine
1. Run the `sysprep` command to generalize the virtual machine.
2. Wait for Sysprep to complete.
3. Shut down the virtual machine.
Step 4: Capture the Generalized Virtual Machine
1. In the Azure portal, open the virtual machine.
2. Select Capture.
3. Provide the required information and create the image.
Step 5: Add Selenium and Google Chrome Artifacts
1. Return to the DevTest Lab named az400-38443478-dtl1.
2. Select Artifacts.
3. Add the Selenium and Google Chrome artifacts to the virtual machine template.
4. Ensure the artifacts are configured to install automatically during virtual machine deployment.
Step 6: Create Virtual Machines from the Template
1. Create a new virtual machine in the DevTest Lab.
2. Select the custom image you created.
3. The virtual machine will be deployed with Windows Server 2016 Datacenter, Selenium, and Google Chrome installed automatically.
By following these steps, all virtual machines created from this template in the DevTest Lab will include the required operating system, Selenium, and Google Chrome.
Question 64
Multiple choice
You use GitHub for source control.
You are evaluating whether to use proxying to add a private upstream MyGet package feed to your MyGet feed.
What are two possible advantages of this approach? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A
minimizes the impact of upstream source availability issues
You use an Azure Pipelines pipeline to build and release an ASP.NET Core app named App1.
You run builds on a Microsoft-hosted Ubuntu 18.04 build agent.
You need to implement incremental builds for App1.
What should you do?
A
Upgrade the build agent
B
Install a sell-hosted Linux build agent.
C
Use a Microsoft-hosted Windows build agent.
D
Purchase additional parallel jobs.
Reveal answer detailsClose answer details
Correct answerA
Question 66
Multiple choice
You have a build pipeline in Azure Pipelines that uses different jobs to compile an application for 10 different architectures.
The build pipeline takes approximately one day to complete.
You need to reduce the time it takes to execute the build pipeline
Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point
A
Move to a blue/green deployment pattern.
B
Create an agent pool.
C
Create a deployment group.
D
Reduce the size of the repository.
E
Increase the number of parallel jobs.
Reveal answer detailsClose answer details
Correct answersB, E
Explanation
Question I need more hosted build resources. What can I do? Answer The Azure Pipelines pool provides all Azure DevOps organizations with cloud-hosted build agents and free build minutes each month. If you need more Microsoft-hosted build resources, or need to run more jobs in parallel, then you can either: Host your own agents on infrastructure that you manage. Buy additional parallel jobs.
You plan to add a new web farm that will be published by using an IP address of 10.0.0.5.
You need to allow traffic from the web farm to an Azure Database for MySQL server named az400-11566895-mysql.
To complete this task, sign in to the Microsoft Azure portal.
Reveal model answerClose model answer
Server-level firewall rules can be used to manage access to an Azure Database for MySQL Server from a specified IP address or a range of IP addresses.
Create a server-level firewall rule in the Azure portal
1. On the MySQL server page, under Settings heading, click Connection Security to open the Connection Security page for the Azure Database for MySQL.
2. In the firewall rules for the Azure Database for MySQL, you can specify a single IP address or a range of addresses. If you want to limit the rule to a single IP address, type the same address in the Start IP and End IP fields. Opening the firewall enables administrators, users, and application to access any database on the MySQL server to which they have valid credentials.
3. Click Save on the toolbar to save this server-level firewall rule. Wait for the confirmation that the update to the firewall rules is successful.
You have a project in Azure DevOps named Project1.
You implement a Continuous Integration/Continuous Deployment (CI/CD) pipeline that uses PowerShell Desired State Configuration (DSC) to configure the application infrastructure.
You need to perform a unit test and an integration test of the configuration before Project1 is deployed.
What should you use?
A
the PSScriptAnalyzer tool
B
the Pester test framework
C
the PSCodeHealth module
D
the Test-DscConfiguration cmdlet
Reveal answer detailsClose answer details
Correct answerB
Explanation
Explanation: Pester is a testing and mocking framework for PowerShell.
Pester provides a framework for writing and running tests. Pester is most commonly used for writing unit and integration tests, but it is not limited to just that. It is also a base for tools that validate whole environments, computer deployments, database configurations and so on.
Example: Building a Continuous Integration and Continuous Deployment pipeline with DSC This example demonstrates how to build a Continuous Integration/Continuous Deployment (CI/CD) pipeline by using PowerShell, DSC, and Pester.
IntegrationTests: Runs the Pester integration tests. UnitTests: Runs the Pester unit tests.
Incorrect: * PSScriptAnalyzer PSScriptAnalyzer is a static code checker for PowerShell modules and scripts. PSScriptAnalyzer checks the quality of PowerShell code by running a set of rules. The rules are based on PowerShell best practices identified by PowerShell Team and the community. It generates DiagnosticResults (errors and warnings) to inform users about potential code defects and suggests possible solutions for improvements.
PSScriptAnalyzer ships with a collection of built-in rules that check various aspects of PowerShell code such as:
The presence of uninitialized variables Use of PSCredential type Use of Invoke-Expression And many more
You delete a file, commit the changes, and continue to work.
You need to recover the deleted file.
Which three commands should you run in sequence? To answer, move the appropriate commands from the list of commands to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Explanation
Explanation:
Step 1: git log. Find the commit SHA of the commit you want to revert to. To look through a log of commits, type git log.
Step 2: git checkout [hash]~1 --path/to/file If you have deleted the file and already committed the changes, you need to use the `git checkout` command to restore the file. First, you need to find out the checksum of the commit that deleted the file, and then check out the file from the previous commit.
This command tells `git` to list all commits, which can be reached from the HEAD, that changed the file `file1.txt`. The `-n 1` option tells `git` to limit the result to only one commit. The output is the checksum of the commit that deleted the file.
To undo changes on a single file or directory from commit B, but retain them in the staged state:
git checkout <commit-B-SHA> <file
Step 3: git restore path/to/file To unstage the file but keep your changes:
git restore --staged <file>
Note: Recovering Deleted Files with the Command Line Recovering a deleted file using the Git command line involves the `git restore` or `git checkout`command. Whenever you modify files in Git-including creating new files, editing, or deleting existing files-the changes start as unstaged. Then you stage the changes with the `git add` command, and finally, you commit the changes using the `git commit` command. Git provides ways to recover a deleted file at any point in this life cycle of changes.
If you have not staged the deletion yet, simply run `git restore <filename>` and the file will be restored from the index.
You need to recommend a solution for deploying charts by using Helm and Tiller to Azure Kubernetes Service (AKS) in an RBAC-enabled cluster.
Which three commands should you recommend be run in sequence? To answer, move the appropriate commands from the list of commands to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Explanation
Step 1: Kubectl create You can add a service account to Tiller using the --service-account <NAME> flag while you're configuring Helm (step 2 below). As a prerequisite, you'll have to create a role binding which specifies a role and a service account name that have been set up in advance. Example: Service account with cluster-admin role $ kubectl create -f rbac-config.yaml serviceaccount "tiller" created clusterrolebinding "tiller" created $ helm init --service-account tiller
Step 2: helm init To deploy a basic Tiller into an AKS cluster, use the helm init command.
Step 3: helm install To install charts with Helm, use the helm install command and specify the name of the chart to install.
Your company uses GitHub for source control. GitHub repositories store source code and store process documentation. The process documentation is saved as Microsoft Word documents that contain simple flow charts stored as .bmp files. You need to optimize the integration and versioning of the process documentation and the flow charts. The solution must meet the following requirements: 1. Store documents as plain text. 2. Minimize the number of files that must be maintained. 3. Simplify the modification, merging, and reuse of flow charts. 4. Simplify the modification, merging, and reuse of documents.
What should you include in the solution? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Question 72
Drag & drop
DRAG DROP
You have an Azure Repos repository named repo1.
You delete a branch named features/feature11.
You need to recover the deleted branch.
Which three commands should you run in sequence? To answer, move the appropriate commands from the list of commands to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Question 73
Single choice
You have a private project in Azure DevOps.
You need to ensure that a project manager can create custom work item queries to report on the project's progress.
The solution must use the principle of least privilege. To which security group should you add the project manager?
A
Project Collection Administrators
B
Reader
C
Project Administrators
D
Contributor
Reveal answer detailsClose answer details
Correct answerD
Explanation
Contributors have permissions to contribute fully to the project code base and work item tracking. The main permissions they don't have or those that manage or administer resources.
You need to create a new team dashboard named Dashboard1 for the default project team of Project1.
The dashboard must display the members of the team.
Reveal model answerClose model answer
Step 1: Create a New Team Dashboard Navigate to Azure DevOps: Go toAzure DevOpsand sign in with your credentials. Select Your Project: ChooseProject1from your list of projects. Access Dashboards: In the left-hand menu, selectDashboards. Create a New Dashboard: Click onNew Dashboard. Enter the nameDashboard1. ClickCreate.
Step 2: Add the Team Members Widget Open the Widget Catalog: After creating the dashboard, the widget catalog will open automatically. If it doesn't, click onAdd Widget. Search for Team Members Widget: In the widget catalog, search forTeam Members. Add the Widget: Click on theTeam Memberswidget and then clickAddto place it on your dashboard. Configure the Widget: Once added, you can resize and move the widget to your preferred location on the dashboard.
Step 3: Save and Share the Dashboard Save the Dashboard: Click onSaveto save your changes. Share the Dashboard: You can share the dashboard URL with your team members or set permissions to control who can view or edit the dashboard. By following these steps, you will have a new team dashboard namedDashboard1that displays the members of the default project team forProject1Ensure the dashboard type is set toTeam Dashboard.
Question 75
Lab simulation
Simulation
In Project1, you need to create a variable group named varGroup1 that will contain the following variables:
serverName: server1 dbName: db1
Reveal model answerClose model answer
Azure DevOps Azure Pipelines: Manage variable groups
Create a variable group You can create variable groups for the pipeline runs in your project.
Step 1: In your Azure DevOps project [Here Project1], select Pipelines > Library from the left menu.
Step 2: On the Library page, select + Variable group.
Step 3: On the new variable group page, under Properties, enter a name [Here Group1] and an optional description for the variable group.
Step 4: Under Variables, select + Add, and then enter a variable name and value to include in the group. If you want to encrypt and securely store the value, select the lock icon next to the variable. [Add variable + value: serverName: server1] [Add variable + value: dbName: db1]
Step 5: Select + Add to add each new variable. When you finish adding variables, select Save.
You use Azure Pipelines to manage the build and deployment of apps. You are planning the release strategies for a new app. You need to choose strategies for the following scenarios: Releases will be made available to users who are grouped by their tolerance for software faults.
1. Code will be deployed to enable functionality that will be available in later releases of the app. 2. When a new release occurs, the existing deployment will remain active to minimize recovery time if a return to the previous version is required.
Which strategy should you choose for each scenario? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Box 1: Progressive exposure Continuous Delivery may sequence multiple deployment "rings" for progressive exposure (also known as "controlling the blast radius"). Progressive exposure groups users who get to try new releases to monitor their experience in "rings." The first deployment ring is often a "canary" used to test new versions in production before a broader rollout. CD automates deployment from one ring to the next and may optionally depend on an approval step, in which a decision maker signs off on the changes electronically. CD may create an auditable record of the approval in order to satisfy regulatory procedures or other control objectives.
Box 2: Feature flags Feature flags support a customer-first DevOps mindset, to enable (expose) and disable (hide) features in a solution, even before they are complete and ready for release.
Box 3: Blue/green Blue/green deployments which means that instead of replacing the previous version (here we refer to this version as blue), we bring up the new version (here referred to as the green version) next to the existing version, but not expose it to the actual users right away. On the condition of having successfully validated that the green version works correctly, we will promote this version to the public version by changing the routing configuration without downtime. If something is wrong with the green version we can revert back without users every noticing interruptions.
You plan to use Terraform to deploy an Azure resource group from a Windows system.
You need to install the required frameworks to support the planned deployment.
Which two frameworks should you install? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A
Vault
B
Terratest
C
Node.js
D
Yeoman
E
Tiller
Reveal answer detailsClose answer details
Correct answersB, D
Explanation
You can use the combination of Terraform and Yeoman. Terraform is a tool for creating infrastructure on Azure. Yeoman makes it easy to create Terraform modules.
Terratest provides a collection of helper functions and patterns for common infrastructure testing tasks, like making HTTP requests and using SSH to access a specific virtual machine. The following list describes some of the major advantages of using Terratest: 1. Convenient helpers to check infrastructure - This feature is useful when you want to verify your real infrastructure in the real environment. 2. Organized folder structure - Your test cases are organized clearly and follow the standard Terraform module folder structure. 3. Test cases are written in Go - Many developers who use Terraform are Go developers. If you're a Go developer, you don't have to learn another programming language to use Terratest. 4. Extensible infrastructure - You can extend additional functions on top of Terratest, including Azure-specific features.
You have a GitHub repository that contains the code for an app named App1.
App1 depends on a library of functions from a repository at https://github.com/contoso/afeed.
You need to keep a clone of the afeed repository as a subdirectory of the App1 repository.
How should you complete the Git command? To answer, drag the appropriate values to the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Explanation:
Box 1: clone git-clone - Clone a repository into a new directory
Box 2: branch --branch <name> Instead of pointing the newly created HEAD to the branch pointed to by the cloned repository's HEAD, point to <name> branch instead. In a non-bare repository, this is the branch that will be checked out. --branch can also take tags and detaches the HEAD at that commit in the resulting repository.
Incorrect: * git pull
The git pull command is used to fetch and download content from a remote repository and immediately update the local repository to match that content. SYNOPSIS git pull [<options>] [<repository> [<refspec>...]]
Your company uses Azure DevOps for the build pipelines and deployment pipelines of Java-based projects. You need to recommend a strategy for managing technical debt.
Which action should you include in the recommendation?
A
Configure post-deployment approvals in the deployment pipeline.
B
Integrate Azure DevOps and SonarQube.
C
Integrate Azure DevOps and Azure DevTest Labs.
Reveal answer detailsClose answer details
Correct answerB
Explanation
You can manage technical debt with SonarQube and Azure DevOps. Note: Technical debt is the set of problems in a development effort that make forward progress on customer value inefficient. Technical debt saps productivity by making code hard to understand, fragile, time-consuming to change, difficult to validate, and creates unplanned work that blocks progress. Unless they are managed, technical debt can accumulate and hurt the overall quality of the software and the productivity of the development team in the long term SonarQube an open source platform for continuous inspection of code quality to perform automatic reviews with static analysis of code to: Detect Bugs Code Smells Security Vulnerabilities Centralize Quality What's covered in this lab
You are designing a versioning strategy for Git-based packages.
You plan to use a Semantic Versioning (SemVer)-based strategy.
You need to identify when to change the build version.
What should you identify for each scenario? To answer, drag the appropriate versions to the correct scenarios. Each version may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Explanation:
Box 1: MAJOR Semantic Versioning 2.0.0 Summary Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes
Note: Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Box 2: Minor How should I handle deprecating functionality? Deprecating existing functionality is a normal part of software development and is often required to make forward progress. When you deprecate part of your public API, you should do two things: (1) update your documentation to let users know about the change, (2) issue a new minor release with the deprecation in place. Before you completely remove the functionality in a new major release there should be at least one minor release that contains the deprecation so that users can smoothly transition to the new API.
Box 3: Minor MINOR version when you add functionality in a backwards compatible manner
Incorrect: * Patch PATCH version when you make backwards compatible bug fixes
References: https://semver.org/
Case study
Case Study 2
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Contoso, Ltd. is a manufacturing company that has a main office in Chicago.
Existing Environment
Contoso plans to improve its IT development and operations processes by implementing Azure DevOps principles. Contoso has an Azure subscription and creates an Azure DevOps organization.
The Azure DevOps organization includes:
1. The Docker extension 2. A deployment pool named Pool7 that contains 10 Azure virtual machines that run Windows Server 2016
The Azure subscription contains an Azure Automation account.
Requirements
Planned changes
Contoso plans to create projects in Azure DevOps as shown in the following table.
Technical requirements
Contoso identifies the following technical requirements:
1. Implement build agents for Project1. 2. Whenever possible, use Azure resources. 3. Avoid using deprecated technologies. 4. Implement a code flow strategy for Project2 that will: -Enable Team2 to submit pull requests for Project2. -Enable Team2 to work independently on changes to a copy of Project2. -Ensure that any intermediary changes performed by Team2 on a copy of Project2 will be subject to the same restrictions as the ones defined in the build policy of Project2 5. Whenever possible implement automation and minimize administrative effort. 6. Implement Project3, Project5, Project6, and Project7 based on the planned changes 7. Implement Project4 and configure the project to push Docker images to Azure Container Registry.
Question 81
Testlet 2Drag & drop
DRAG DROP
You need to recommend a procedure to implement the build agent for Project1.
Which three actions should you recommend be performed in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Explanation
Scenario:
Step 1: Sign in to Azure Devops by using an account that is assigned the Administrator service connection security role.
Note: Under Agent Phase, click Deploy Service Fabric Application. Click Docker Settings and then click Configure Docker settings. In Registry Credentials Source, select Azure Resource Manager Service Connection. Then select your Azure subscription.
Step 2: Create a personal access token.. A personal access token or PAT is required so that a machine can join the pool created with the Agent Pools (read, manage) scope.
Step 3: Install and register the Azure Pipelines agent on an Azure virtual machine. By running a Azure Pipeline agent in the cluster, we make it possible to test any service, regardless of type.
You have the standards shown in the following table.
You plan to use Azure Pipelines to build and release web apps.
You need to recommend a solution to build the pipelines. The solution must meet the following requirements:
1. Ensure that all new pipelines meet the security requirements defined in Standard1. 2. Ensure that the first stage of all new pipelines contains the software prerequisites defined in Standard2. 3. Minimize administrative effort.
What should you use to implement each standard? To answer, drag the appropriate options to the correct standards. Each component may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Question 84
Single choice
You build an iOS app.
You receive crash reports from Crashlytics.
You need to capture the following data:
Crash-free users Custom events Breadcrumbs
What should you do?
A
Configure the xcworkspace file in the project
B
Add the GoogleAnalytics pod to the app.
C
Configure the Crashlytics pod in the app.
D
Import the Firebase module to UIApplicationDelegate.
Reveal answer detailsClose answer details
Correct answerD
Explanation
Explanation: Step 1: Add the Firebase Crashlytics SDK to your app. Configure the Firebase module: Import the Firebase module in your App struct or UIApplicationDelegate
You are preparing to deploy an Azure resource group via Terraform.
To achieve your goal, you have to install the necessary frameworks.
Which of the following are the frameworks you should use? Answer by dragging the correct options from the list to the answer area.
Reveal answer detailsClose answer details
Explanation
You can use the combination of Terraform and Yeoman. Terraform is a tool for creating infrastructure on Azure. Yeoman makes it easy to create Terraform modules.
Terratest provides a collection of helper functions and patterns for common infrastructure testing tasks, like making HTTP requests and using SSH to access a specific virtual machine. The following list describes some of the major advantages of using Terratest: 1. Convenient helpers to check infrastructure - This feature is useful when you want to verify your real infrastructure in the real environment. 2. Organized folder structure - Your test cases are organized clearly and follow the standard Terraform module folder structure. 3. Test cases are written in Go - Many developers who use Terraform are Go developers. If you're a Go developer, you don't have to learn another programming language to use Terratest. 4. Extensible infrastructure - You can extend additional functions on top of Terratest, including Azure-specific features.
You need to deploy a new project in Azure DevOps that has the following requirements:
1. The lead developer must be able to create repositories, manage permissions, manage policies, and contribute to the repository. 2. Developers must be able to contribute to the repository and create branches, but NOT bypass policies when pushing builds. 3. Project managers must only be able to view the repository. 4. The principle of least privilege must be used.
You create a new Azure DevOps project team for each role.
To which Azure DevOps groups should you add each team? To answer, drag the appropriate groups to the correct teams. Each group may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Box 1: Readers Project managers must only be able to view the repository. Only read permission necessary.
Box 2: Project Administrators The lead developer must be able to create repositories, manage permissions, manage policies, and contribute to the repository. Add to the Project Collection Administrators security group users tasked with managing organization or collection resources.
Box 3: Contributors Developers must be able to contribute to the repository and create branches, but NOT bypass policies when pushing builds. Add to the Contributors security group full-time workers who contribute to the code base or manage projects. References: https://docs.microsoft.com/en-us/azure/devops/organizations/security/look-up-project-collection-administrators
Question 87
Single choice
Note: The question is included in a number of questions that depicts the identical set-up. However, every question has a distinctive result. Establish if the solution satisfies the requirements.
You run the Register-AzureRmAutomationDscNode command in your company's environment.
You need to make sure that your company's test servers remain correctly configured, regardless of configuration drift.
Solution: You set the -ConfigurationMode parameter to ApplyOnly.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You need to recommend an integration strategy for the build process of a Java application. The solution must meet the following requirements:
1. The builds must access an on-premises dependency management system. 2. The build outputs must be stored as Server artifacts in Azure DevOps. 3. The source code must be stored in a Git repository in Azure DevOps.
Solution: Configure the build pipeline to use a Hosted Ubuntu agent pool. Include the Java Tool Installer task in the build pipeline.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have an Azure DevOps project.
Your build process creates several artifacts.
You need to deploy the artifacts to on-premises servers.
Solution: You deploy a Docker build to an on-premises server. You add a Download Build Artifacts task to the deployment pipeline.
Does this meet the goal?
A
Yes
B
No
Reveal answer detailsClose answer details
Correct answerB
Explanation
Instead you should deploy an Azure self-hosted agent to an on-premises server.
Note: To build your code or deploy your software using Azure Pipelines, you need at least one agent.
If your on-premises environments do not have connectivity to a Microsoft-hosted agent pool (which is typically the case due to intermediate firewalls), you'll need to manually configure a self-hosted agent on on-premises computer(s).
You have an Azure DevOps pipeline that is used to deploy a Node.js app.
You need to ensure that the dependencies are cached between builds.
How should you configure the deployment YAML? To answer, drag the appropriate values to the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Explanation:
Box 1: build.sh Conditioning on cache restoration In some scenarios, the successful restoration of the cache should cause a different set of steps to be run. For example, a step that installs dependencies can be skipped if the cache was restored. This is possible using the cacheHitVar task input. Setting this input to the name of an environment variable will cause the variable to be set to true when there's a cache hit, inexact on a restore key cache hit, otherwise it will be set to false. This variable can then be referenced in a step condition or from within a script.
In the following example, the install-deps.sh step is skipped when the cache is restored:
Incorrect: * always() condition: always() # this step will always run, even if the pipeline is canceled
* .integrationtest.sh Build base images in integration tests.
* npm install npm install downloads a package and it's dependencies. When run without arguments, npm install downloads dependencies defined in a package.json file and generates a node_modules folder with the installed modules.
As part of your application build process, you need to deploy a group of resources to Azure by using an Azure Resource Manager template located on GitHub. Which three action should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Reveal answer detailsClose answer details
Question 92
Single choice
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have an approval process that contains a condition. The condition requires that releases be approved by a team leader before they are deployed.
You have a policy stating that approvals must occur within eight hours.
You discover that deployment fail if the approvals take longer than two hours.
You need to ensure that the deployments only fail if the approvals take longer than eight hours.
Solution: From Pre-deployment conditions, you modify the Time between re-evaluation of gates option.
Does this meet the goal?
A
Yes
B
No
Reveal answer detailsClose answer details
Correct answerB
Explanation
Gates allow automatic collection of health signals from external services, and then promote the release when all the signals are successful at the same time or stop the deployment on timeout. Typically, gates are used in connection with incident management, problem management, change management, monitoring, and external approval systems.
Approvals and gates give you additional control over the start and completion of the deployment pipeline. Each stage in a release pipeline can be configured with pre-deployment and post-deployment conditions that can include waiting for users to manually approve or reject deployments, and checking with other automated systems until specific conditions are verified.
You have a tenant in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra. The tenant contains three groups named Group1, Group2, and Group3.
You create a new project in Azure DevOps named Project1.
You need to secure the service connections for Project1. The solution must meet the following requirements:
1. The members of Group1 must be able to share and unshare a service connection with other projects. 2. The members of Group2 must be able to rename a service connection and update the description. 3. The members of Group3 must be able to use the service connection within build or release pipelines. 4. The principle of least privilege must be followed.
Which permission should you grant to each group? To answer, drag the appropriate permissions to the correct groups. Each permission may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
Box 1: Organization-level Administrator The members of Group1 must be able to share and unshare a service connection with other projects.
Add members to the Project Collection Administrators group When you create an organization, you become a member of the Project Collection Administrators group. This group has the authority to manage the organization's settings, policies, and processes. It can also create and manage all the projects and extensions in the organization.
Incorrect: * Project-level Administrators Add members to the Project Administrators group The person who creates a project is automatically added as a member to the Project Administrators group. Members of this group have permissions to manage project configuration, repositories, pipeline resources, teams, and all project-level permissions.
It's always a good idea to have more than one person who has administrative privileges. To add a user to this group, see Change permissions at the project level, Add members to the Project Administrators group.
Grant or restrict permissions Permissions are managed at the following three levels and through role-based assignments.
object project organization or collection As a member of the Project Administrators group, you can grant or restrict permissions for all objects and at the project-level. To delegate specific tasks to others, we recommend that you add them to a built-in or custom security group, or add them to a specific role.
Box 2: Creator
The members of Group2 must be able to rename a service connection and update the description.
You can create, view, use, and manage a service connection based on your assigned user roles. Role Creator Members of this role can create the service connection in the project. Contributors are added as members by default
Box 3: User The members of Group3 must be able to use the service connection within build or release pipelines.
Role User Members of this role can use the service connection when authoring build or release pipelines or authorize yaml pipelines.
You manage source code control and versioning by using GitHub.
You need to ensure that a PowerShell script is executed automatically before rebase operations are performed.
What should you use?
A
a package
B
GitHub Copilot
C
a webhook
D
a gist
Reveal answer detailsClose answer details
Correct answerC
Question 95
Drag & drop
DRAG DROP
You need to use Azure Automation State Configuration to manage the ongoing consistency of virtual machine configurations.
Which five actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of the correct orders you select.
Reveal answer detailsClose answer details
Explanation
Step 1: Assign the node configuration. You create a simple DSC configuration that ensures either the presence or absence of the Web-Server Windows Feature (IIS), depending on how you assign nodes.
Step 2: Upload a configuration to Azure Automation State Configuration. You import the configuration into the Automation account.
Step 3: Compiling a configuration into a node configuration Compiling a configuration in Azure Automation Before you can apply a desired state to a node, a DSC configuration defining that state must be compiled into one or more node configurations (MOF document), and placed on the Automation DSC Pull Server.
Step 4: Onboard the virtual machines to Azure State Configuration Onboarding an Azure VM for management with Azure Automation State Configuration
Step 5: Check the compliance status of the node. Viewing reports for managed nodes. Each time Azure Automation State Configuration performs a consistency check on a managed node, the node sends a status report back to the pull server. You can view these reports on the page for that node.
On the blade for an individual report, you can see the following status information for the corresponding consistency check: The report status - whether the node is "Compliant", the configuration "Failed", or the node is "Not Compliant" (when the node is in ApplyandMonitor mode and the machine is not in the desired state).
You have several Azure virtual machines that run Windows Server 2019.
You need to identify the distinct event IDs of each virtual machine as shown in the following table.
How should you complete the Azure Monitor query? To answer, drag the appropriate values to the correct locations. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Reveal answer detailsClose answer details
Explanation
You can use makelist to pivot data by the order of values in a particular column. For example, you may want to explore the most common order events take place on your machines. You can essentially pivot the data by the order of EventIDs on each machine.
Example: Event | where TimeGenerated > ago(12h) | order by TimeGenerated desc | summarize makelist(EventID) by Computer
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
The lead developer at your company reports that adding new application features takes longer than expected due to a large accumulated technical debt.
You need to recommend changes to reduce the accumulated technical debt.
Solution: You recommend reducing the code complexity.
Your company deploys applications in Docker containers.
You want to detect known exploits in the Docker images used to provision the Docker containers.
You need to integrate image scanning into the application lifecycle. The solution must expose the exploits as early as possible during the application lifecycle.
What should you configure?
A
a task executed in the continuous integration pipeline and a scheduled task that analyzes the image registry
B
manual tasks performed during the planning phase and the deployment phase
C
a task executed in the continuous deployment pipeline and a scheduled task against a running production container
D
a task executed in the continuous integration pipeline and a scheduled task that analyzes the production container
Reveal answer detailsClose answer details
Correct answerA
Explanation
You can use the Docker task to sign into ACR and then use a subsequent script to pull an image and scan the container image for vulnerabilities. Use the docker task in a build or release pipeline. This task can be used with Docker or Azure Container registry.
Incorrect Answers: C: We should not wait until deployment. We want to detect the exploits as early as possible. D: We should wait until the image is in the product container. We want to detect the exploits as early as possible.
You have an Azure subscription that contains four Azure virtual machines.
You need to configure the virtual machines to use a single identity. The solution must meet the following requirements:
1. Ensure that the credentials for the identity are managed automatically. 2. Support granting privileges to the identity.
Which type of identity should you use?
A.
a system-assigned managed identity
B.
a user-assigned managed identity
C.
a service principal
D.
a user account
Correct Answer: B
Explanation
Explanation/Reference:
Managed Identity is suitable for scenarios where a single resource needs to access another Azure resource, while Service Principal is suitable for more complex scenarios where multiple resources need to access multiple Azure resources.
You have an X.509 certificate named cert1 that is managed by an external partner named Partner 1. You build a web app named Web1 that will be deployed by using Azure Pipelines. Web1 will be bound to cert1. You need to ensure that cert1 is available to Azure Pipelines. The solution must ensure that cert1 can only be updated by Partner1.
Where should you store cert1?
A.
the Secure files library in Azure DevOps
B.
a secure enclave
C.
a variable group
D.
an Azure key vault
Correct Answer: D
QUESTION 3
You use GitHub Enterprise to manage source code and deployments.
From GitHub Actions, you create a reusable workflow named workflow 1.
You need to ensure that the secrets defined in the calling workflow are passed to workflow1.
What should you include in the YAML file for the calling workflow?
A.
with:
secrets: all
B.
on:
workflow_call:
secrets:
inherit: true
C.
parent_workflow:
secrets: inherit
D.
on:
workflow_dispatch:
inputs:
secrets: all
Correct Answer: C
QUESTION 4
DRAG DROP
You have an Azure Repos Git repository named repo1.
You need to ensure that you can authenticate to repo1 by using SSH.
Which four actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of the correct orders you select.
Correct Answer:
QUESTION 5
You are designing the development process for your company.
You need to recommend a solution for continuous inspection of the company's code base to locate common code patterns that are known to be problematic.
What should you include in the recommendation?
A.
Microsoft Visual Studio test plans
B.
Gradle wrapper scripts
C.
SonarCloud analysis
D.
the JavaScript task runner
Correct Answer: C
Explanation
Explanation/Reference:
SonarCloud is a cloud service offered by SonarSource and based on SonarQube. SonarQube is a widely adopted open source platform to inspect continuously the quality of source code and detect bugs, vulnerabilities and code smells in more than 20 different languages.
Note: The SonarCloud Azure DevOps extension brings everything you need to have your projects analyzed on SonarCloud very quickly.
Incorrect Answers: A: Test plans are used to group together test suites and individual test cases. This includes static test suites, requirement-based suites, and query-based suites.
Your company develops an app for iOS. All users of the app have devices that are members of a private distribution group in Microsoft Visual Studio App Center. You plan to distribute a new release of the app.
You need to identify which certificate file you require to distribute the new release from App Center.
Which file type should you upload to App Center?
A.
.cer
B.
.pfx
C.
.p12
D.
.pvk
Correct Answer: C
Explanation
Explanation/Reference:
A successful IOS device build will produce an ipa file. In order to install the build on a device, it needs to be signed with a valid provisioning profile and certificate. To sign the builds produced from a branch, enable code signing in the configuration pane and upload a provisioning profile (.mobileprovision) and a valid certificate (.p12), along with the password for the certificate.
You currently use JIRA, Jenkins, and Octopus as part of your DevOps processes.
You plan to use Azure DevOps to replace these tools.
Which Azure DevOps service should you use to replace each tool? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
JIRA: Release pipelines Atlassian's Jira Software is a popular application that helps teams to plan, track, and manage software releases, whereas Octopus Deploy helps teams automate their development and operations processes in a fast, repeatable, and reliable manner. Together, they enable teams to get better end-to-end visibility into their software pipelines from idea to production.
Jenkins: Repos One way to integrate Jenkins with Azure Pipelines is to run CI jobs in Jenkins separately. This involves configuration of a CI pipeline in Jenkins and a web hook in Azure DevOps that invokes the CI process when source code is pushed to a repository or a branch.
You have a multi-tier application. The front end of the application is hosted in Azure App Service.
You need to identify the average load times of the application pages.
What should you use?
A.
Azure Application Insights
B.
the activity log of the App Service
C.
the diagnostics logs of the App Service
D.
Azure Advisor
Correct Answer: A
Explanation
Explanation/Reference:
Application Insights will tell you about any performance issues and exceptions, and help you find and diagnose the root causes.
Application Insights can monitor both Java and ASP.NET web applications and services, WCF services. They can be hosted on-premises, on virtual machines, or as Microsoft Azure websites.
On the client side, Application Insights can take telemetry from web pages and a wide variety of devices including iOS, Android, and Windows Store apps.
Task 2 You need to create an instance of AzureApplication Insights named az400-38443478-main and configure the instance to receive telemetry data from an Azure web app named az400-38443478-main
You must create a Log Analytics workspace before this task.
Correct Answer:
Step 1: Create a Log Analytics Workspace
1. Go to the Azure portal.
2. Search for Log Analytics workspaces and click + Create.
3. Select your Azure subscription.
4. Select an existing resource group or create a new one.
5. Enter a unique name for the Log Analytics workspace.
6. Choose the appropriate region.
7. Click Review + Create, and then click Create.
Step 2: Create an Azure Application Insights Instance
1. In the Azure portal, search for Application Insights.
2. Click + Create.
3. Configure the following:
Name: az400-38443478-main
Subscription: Your Azure subscription
Resource Group: Select the appropriate resource group
Workspace: Select the Log Analytics workspace created in Step 1
4. Click Review + Create, and then click Create.
Step 3: Configure the Azure Web App to Send Telemetry Data
1. Go to the Azure web app named az400-38443478-main.
2. Under Monitoring, select Application Insights.
3. Choose Use existing resource.
4. Select the Application Insights instance named az400-38443478-main.
5. Complete the configuration. If required, configure the application by using the appropriate SDK and connection string or instrumentation key.
Step 4: Verify Telemetry Data Reception
1. Generate some test traffic to the web app.
2. Open the Application Insights instance.
3. Check the Overview or Performance page to verify that telemetry data is being received.
These steps will configure Azure Application Insights to collect telemetry data from the Azure web app by using the Log Analytics workspace.
QUESTION 10
A. See the explanation below. B. Place Holder C. Place Holder D. Place Holder
Correct Answer: A
Explanation
Explanation/Reference:
Task 1: Create a wiki for your project Azure DevOps, Create a wiki for your project
Step 1: In Project1, use the navigation to get to the Wiki hub.
Step 2: Since this project does not yet have its wiki configured, click Create project wiki to set one up. When you create your first wiki, Azure DevOps will provision a Git repository that will store all your pages and artifacts.
Task 2: Render a diagram using the Mermaid syntax
The actual wiki diagram syntax is in the same file as your wiki document. The syntax for the Mermaid diagram is surrounded with the notation shown below.
:::mermaid <Mermaid Syntax>
In the preview panel to the right of your text, the image below will be displayed. Clicking on Load diagram, the Mermaid syntax is used to generate the diagram.
Depending on desired output.
A. Flow Chart Example :::mermaid graph TD A[Christmas] -->|Get money| B(Go shopping) B --> C{Let me think} C -->|One| D[Laptop] C -->|Two| E[iPhone] C -->|Three| F[fa-fa-fa Car] :::
Generate a picture that looks like the below.
B. Sequence :::mermaid sequenceDiagram Alice->>John: Hello John, how are you? loop Healthcheck John->>John: Fight against hypochondria end Note right of John: Rational thoughts! John-->>Alice: Great! John->>Bob: How about you? Bob-->>John: Jolly good! :::
Generate a picture that looks like the below.
C. Gantt Chart :::mermaid gantt title A Gantt Diagram dateFormat YYYY-MM-DD section Section A task :a1, 2014-01-01, 30d Another task :after a1, 20d section Another Task in sec :2014-01-12, 12d another task :24d :::
You have an Azure DevOps project that contains a build pipeline. The build pipeline uses approximately 50 open source libraries.
You need to ensure that the project can be scanned for known security vulnerabilities in the open source libraries.
What should you do? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Box 1: A Build task Trigger a build You have a Java code provisioned by the Azure DevOps demo generator. You will use WhiteSource Bolt extension to check the vulnerable components present in this code.
1. Go to Builds section under Pipelines tab, select the build definition WhiteSourceBolt and click on Queue to trigger a build. 2. To view the build in progress status, click on ellipsis and select View build results.
Box 2: WhiteSource Bolt WhiteSource is the leader in continuous open source software security and compliance management. WhiteSource integrates into your build process, irrespective of your programming languages, build tools, or development environments. It works automatically, continuously, and silently in the background, checking the security, licensing, and quality of your open source components against WhiteSource constantly-updated definitive database of open source repositories.
You have the repositories shown in the following table.
You need to migrate the contents of the GitHub repository to the Azure Repos repository. The solution must ensure that the Azure Repos repository only contains branches and history from the GitHub repository.
Which three commands should you run in sequence? To answer, move the appropriate commands from the list of commands to the answer area and arrange them in the correct order.
Correct Answer:
QUESTION 13
You have an Azure DevOps subscription that contains two projects named Project 1 and Project2. The projects contain the jobs shown in the following table.
You purchase two parallel jobs. At 10:00 AM, you queue JobA and JobB. At 10:05 AM, you queue JobC.
When will JobC run?
A.
1005 AM
B.
10:10 AM
C.
10:15 AM
D.
10:20 AM
Correct Answer: B
QUESTION 14
Simulation
You need to ensure that Microsoft Visual Studio 2017 can remotely attach to an Azure Function named fa-11566895.
To complete this task, sign in to the Microsoft Azure portal.
Correct Answer:
Enable Remote Debugging Before we start a debugging session to our Azure Function app we need to enable the functionality.
1. Navigate in the Azure portal to your function app fa-11566895 2. Go to the "Application settings" 3. Under "Debugging" set Remote Debugging to On and set Remote Visual Studio version to 2017.
The company purchases an Azure subscription and implements Application Insights in Azure Monitor.
You plan to centralize distributed tracing for the apps.
You need to identify which libraries can integrate directly with Application Insights.
Which two libraries should you identify? Each correct answer presents a complete solution.
NOTE: Each correct solution is worth one point.
A.
Honeycomb
B.
OpenTracing
C.
Jaeger
D.
OpenTelemtry
E.
OpenCensus
Correct Answer: DE
Explanation
Explanation/Reference:
Explanation: You can use OpenTelemetry Collector to collect traces to send to AppInsights. Run OpenTelemetry Collector to push to your Application Insights instance
Track incoming requests with OpenCensus Python Incoming request data is collected using OpenCensus Python and its various integrations. Track incoming request data sent to your web applications built on top of the popular web frameworks django, flask and pyramid. The data is then sent to Application Insights under Azure Monitor as requests telemetry.
You use GitHub for source control of .NET applications.
You need to deploy a documentation solution that meets the following requirements:
Documents will be written in Markdown as developers make code changes. Changes to the documents will trigger the recompilation of a static website. Users will access the documents from the static website. Documents will be stored in a GitHub repository.
Which two tools can you use to compile the website? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A.
Word Press
B.
Jekyll
C.
DocFX
D.
caret
E.
Medium
Correct Answer: BC
QUESTION 17
Simulation
Navigate to https://dev.azure.com, select Start Free, and specify the following credentials:
Use the default setting to sign up for Azure DevOps and create an Azure DevOps organization. Once the organization is created, create a private project named Project1.
You need to add an external user that has an email address of [email protected] as a stakeholder of the User1-12345678 Azure DevOps organization.
The user must be added to the most restrictive Azure DevOps group.
To complete this task, sign in to the Azure DevOps portal as [email protected].
Correct Answer:
Phase 1: Create an organization Azure DevOps, Create an organization
Step 1: Sign in to Azure DevOps. Step 2: Select New organization. Step 3: Confirm information, and then select Continue.
Congratulations, you're an organization owner!
Step 3: Confirm information, and then select Continue.
Congratulations, you're an organization owner!
Phase 2: Create a Private project Create a project in Azure DevOps
Step 4: Sign in to your organization ( https://dev.azure.com/{yourorganization}). Step 5: Select New project.
Step 6: Enter information into the form provided. Provide a name for your project. [Enter Project1] Choose the visibility, initial source control type, and work item process. [Select Private]
Phase 3: Add an external user Azure DevOps, Add external users to your organization Invite external user
Step 8: Sign in to your organization ( https://dev.azure.com/{yourorganization}). Step 9: Select the gear icon Organization settings.
Step 10: Select Users, and then select Add users.
Step 11: Enter information based on the following guidance, and then select Add. Users: Enter the email address for the user. [Enter [email protected]]
QUESTION 18
You manage code by using GitHub. You plan to ensure that all GitHub Actions are validated by a security team. You create a branch protection rule requiring that code changes be reviewed by code owners. You need to create the CODEOWNERS file.
Where should you create the file?
A. .github/actions/ B. .github/ C. .git/ D. .github/workflows/
Correct Answer: B
QUESTION 19
Your company implements an Agile development methodology.
You plan to implement retrospectives at the end of each sprint.
Which three questions should you include? Each correct answer presents part of the solution.
You have a GitHub repository. A file that contains secrets is committed and pushed to the repository accidentally. You need to perform the following actions: - Remove the file from the repository. - Remove all commits that include the file from the repository. The solution must minimize administrative effort.
What should you use?
A.
GitHub Actions
B.
a branch protection rule
C.
the git re command
D.
the git filter-repo command
Correct Answer: D
QUESTION 21
You have multiple teams that work on multiple projects in Azure DevOps.
You need to plan and manage the consumers and producers for each project. The solution must provide an overview of all the projects.
What should you do?
A.
Add a Predecessor or Successor link to the feature or user story for the items of each project.
B.
Add a Parent or Child link to the feature or user story for the items of each project.
C.
Install the Dependency Tracker extension and create dependencies for each project.
D.
Create a custom query to show the consumers and producers and add a widget to a dashboard.
Correct Answer: C
Explanation
Explanation/Reference:
Explanation: The Dependency Tracker extension enables management of dependencies across teams, projects, and organizations. It provides filterable views to show all dependencies a team is consuming and producing. These views allow you to track the state and schedule of dependencies to support you in assessing the risk of dependencies to product deliverables.
You use the Dependency Tracker to plan dependencies at the beginning of an iteration or release, and to track the status during development. For any given dependency, there are two parties involved:
Consumer: Feature team who has a need and starts a request for work Producer: Feature team who makes a commitment to deliver work
1. Click Test to ensure Azure DevOps can send a message to the queue.
2. If the test succeeds, click Finish to create the service hook.
Step 6: Validate in the Azure Portal
1. In the Azure portal, go to storage48901628 > Queues > queue1.
2. You should see new messages appear in the queue whenever the configured Azure DevOps event (such as a push or pull request) occurs.
QUESTION 23
HOTSPOT
You have a project in Azure DevOps that contains a Continuous Integration/Continuous Deployment (CI/CD) pipeline.
You need to enable detailed logging by defining a pipeline variable.
How should you configure the variable? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Explanation:
Box 1: system.debug To configure verbose logs for all runs, you can add a variable named system.debug and set its value to true.
Note: Verbose logging is the practice of recording to a persistent medium as much information as you possibly can about events that occur while the software runs.
You use Azure Artifacts to host NuGet packages that you create.
You need to make one of the packages available to anonymous users outside your organization. The solution must minimize the number of publication points.
What should you do?
A.
Change the feed URL of the package
B.
Create a new feed for the package
C.
Promote the package to a release view.
D.
Publish the package to a public NuGet repository.
Correct Answer: B
Explanation
Explanation/Reference:
Azure Artifacts introduces the concept of multiple feeds that you can use to organize and control access to your packages. Packages you host in Azure Artifacts are stored in a feed. Setting permissions on the feed allows you to share your packages with as many or as few people as your scenario requires. Feeds have four levels of access: Owners, Contributors, Collaborators, and Readers.
Your company has two virtual machines that run Linux in a third-party public cloud. You plan to use the company's Azure Automation State Configuration implementation to manage the two virtual machines and detect configuration drift. You need to onboard the Linux virtual machines. You install PowerShell Desired State Configuration (DSC) on the virtual machines, and then run register.py.
Which three actions should you perform next in sequence? To answer, move the actions from the list of actions to the answer area and arrange them in the correct order.
Correct Answer:
Explanation
Explanation/Reference:
Step 1: Create a DSC metaconfiguration Load up the DSC Configuration into Azure Automation.
Step 2: Copy the metaconfiguration to the virtual machines. Linking the Node Configuration to the Linux Host
Step 3: Add the virtual machines as DSC nodes in Azure Automation. go to DSC Nodes, select your node, and then click Assign node configuration. This step assigns the DSC configuration to the Linux machine. Next up will be to link the node configuration to the host. Go to the host and press the "Assign node..."-button. Next up you can select your node configuration.
Case Study 1
Case Study Questions
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Litware, Inc. is an independent software vendor (ISV). Litware has a main office and five branch offices.
Existing Environment
Application Architecture
The company's primary application is a single monolithic retirement fund management system based on ASP.NET web forms that use logic written in VB.NET. Some new sections of the application are written in C#.
Variations of the application are created for individual customers. Currently, there are more than 80 live code branches in the application's code base.
The application was developed by using Microsoft Visual Studio. Source code is stored in Team Foundation Server (TFS) in the main office. The branch offices access the source code by using TFS proxy servers.
Architectural Issues
Litware focuses on writing new code for customers. No resources are provided to refactor or remove existing code. Changes to the code base take a long time, as dependencies are not obvious to individual developers.
Merge operations of the code often take months and involve many developers. Code merging frequently introduces bugs that are difficult to locate and resolve.
Customers report that ownership costs of the retirement fund management system increase continually. The need to merge unrelated code makes even minor code changes expensive.
Customers report that bug reporting is overly complex.
Requirements
Planned changes
Litware plans to develop a new suite of applications for investment planning. The investment planning applications will require only minor integration with the existing retirement fund management system.
The investment planning applications suite will include one multi-tier web application and two iOS mobile applications. One mobile application will be used by employees; the other will be used by customers.
Litware plans to move to a more agile development methodology. Shared code will be extracted into a series of packages.
Litware has started an internal cloud transformation process and plans to use cloud-based services whenever suitable.
Litware wants to become proactive in detecting failures, rather than always waiting for customer bug reports.
Technical requirements
The company's investment planning applications suite must meet the following requirements:
1. New incoming connections through the firewall must be minimized. 2. Members of a group named Developers must be able to install packages. 3. The principle of least privilege must be used for all permission assignments. 4. A branching strategy that supports developing new functionality in isolation must be used. 5. Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds. 6. Visual Studio App Center must be used to centralize the reporting of mobile application crashes and device types in use. 7. By default, all releases must remain available for 30 days, except for production releases, which must be kept for 60 days. 8. Code quality and release quality are critical. During release, deployments must not proceed between stages if any active bugs are logged against the release. 9. The mobile applications must be able to call the share pricing service of the existing retirement fund management system. Until the system is upgraded, the service will only support basic authentication over HTTPS. 10. The required operating system configuration for the test servers changes weekly. Azure Automation State Configuration must be used to ensure that the operating system on each test server is configured the same way when the servers are created and checked periodically.
Current Technical Issue
The test servers are configured correctly when first deployed, but they experience configuration drift over time. Azure Automation State Configuration fails to correct the configurations.
Azure Automation State Configuration nodes are registered by using the following command.
QUESTION 29
What should you use to implement the code quality restriction on the release pipeline for the investment planning applications suite?
A.
a trigger
B.
a pre-deployment approval
C.
a post-deployment approval
D.
a deployment gate
Correct Answer: D
QUESTION 30
You plan to create an image that will contain a .NET Core application.
You have a Dockerfile file that contains the following code. (Line numbers are included for reference only.)
You need to ensure that the image is as small as possible when the image is built.
Which line should you modify in the file?
A.
1
B.
3
C.
4
D.
7
Correct Answer: C
QUESTION 31
Your company has an on-premises Bitbucket Server that is used for Git-based source control. The server is protected by a firewall that blocks inbound Internet traffic.
You plan to use Azure DevOps to manage the build and release processes.
Which two components are required to integrate Azure DevOps and Bitbucket? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A.
a deployment group
B.
a Microsoft-hosted agent
C.
service hooks
D.
a self-hosted agent
E.
an External Git service connection
Correct Answer: DE
Explanation
Explanation/Reference:
E: GitLab CI/CD can be used with GitHub or any other Git server such as BitBucket. Instead of moving your entire project to GitLab, you can connect your external repository to get the benefits of GitLab CI/CD.
Note: When a pipeline uses a remote, 3rd-party repository host such as Bitbucket Cloud, the repository is configured with webhooks that notify Azure Pipelines Server or TFS when code has changed and a build should be triggered. Since on-premises installations are normally protected behind a firewall, 3rd-party webhooks are unable to reach the on-premises server. As a workaround, you can use the External Git repository type which uses polling instead of webhooks to trigger a build when code has changed.
Note: This section contains one or more sets of questions with the same scenario and problem. Each question presents a unique solution to the problem. You must determine whether the solution meets the stated goals. More than one solution in the set might solve the problem. It is also possible that none of the solutions in the set solve the problem.
After you answer a question in this section, you will NOT be able to return. As a result, these questions do not appear on the Review Screen.
You have an on-premises web server named Server1. You need to ensure that you can build .NET apps and deploy the apps to Server1 by using Azure Pipelines.
Solution: You deploy Managed DevOps Pools and select the Azure Pipelines - Windows Server 2022 image.
Does this meet the goal?
A.
Yes
B.
No
Correct Answer: B
QUESTION 33
You manage build pipelines and deployment pipelines by using Azure DevOps.
Your company has a team of 500 developers. New members are added continually to the team.
You need to automate the management of users and licenses whenever possible.
Which task must you perform manually?
A.
modifying group memberships
B.
adding users
C.
assigning entitlements
D.
procuring licenses
Correct Answer: D
Explanation
Explanation/Reference:
Incorrect Answers: A: You can seamlessly replace existing solutions with group-based licensing to more easily manage licenses in Azure DevOps. You can use Group rules.
C: Member Entitlement Management APIs allow managing Entitlements that include - 1. License 2. Extensions 3. Project/Team memberships
You commit a change to repol. You need to update the commit message. The solution must ensure that the version number remains the same.
Which command should you run?
A.
git commit --patch
B.
git commit --amend
C.
git status --renames
D.
git restore --patch
Correct Answer: B
Case Study 1
Case Study Questions
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Litware, Inc. is an independent software vendor (ISV). Litware has a main office and five branch offices.
Existing Environment
Application Architecture
The company's primary application is a single monolithic retirement fund management system based on ASP.NET web forms that use logic written in VB.NET. Some new sections of the application are written in C#.
Variations of the application are created for individual customers. Currently, there are more than 80 live code branches in the application's code base.
The application was developed by using Microsoft Visual Studio. Source code is stored in Team Foundation Server (TFS) in the main office. The branch offices access the source code by using TFS proxy servers.
Architectural Issues
Litware focuses on writing new code for customers. No resources are provided to refactor or remove existing code. Changes to the code base take a long time, as dependencies are not obvious to individual developers.
Merge operations of the code often take months and involve many developers. Code merging frequently introduces bugs that are difficult to locate and resolve.
Customers report that ownership costs of the retirement fund management system increase continually. The need to merge unrelated code makes even minor code changes expensive.
Customers report that bug reporting is overly complex.
Requirements
Planned changes
Litware plans to develop a new suite of applications for investment planning. The investment planning applications will require only minor integration with the existing retirement fund management system.
The investment planning applications suite will include one multi-tier web application and two iOS mobile applications. One mobile application will be used by employees; the other will be used by customers.
Litware plans to move to a more agile development methodology. Shared code will be extracted into a series of packages.
Litware has started an internal cloud transformation process and plans to use cloud-based services whenever suitable.
Litware wants to become proactive in detecting failures, rather than always waiting for customer bug reports.
Technical requirements
The company's investment planning applications suite must meet the following requirements:
1. New incoming connections through the firewall must be minimized. 2. Members of a group named Developers must be able to install packages. 3. The principle of least privilege must be used for all permission assignments. 4. A branching strategy that supports developing new functionality in isolation must be used. 5. Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds. 6. Visual Studio App Center must be used to centralize the reporting of mobile application crashes and device types in use. 7. By default, all releases must remain available for 30 days, except for production releases, which must be kept for 60 days. 8. Code quality and release quality are critical. During release, deployments must not proceed between stages if any active bugs are logged against the release. 9. The mobile applications must be able to call the share pricing service of the existing retirement fund management system. Until the system is upgraded, the service will only support basic authentication over HTTPS. 10. The required operating system configuration for the test servers changes weekly. Azure Automation State Configuration must be used to ensure that the operating system on each test server is configured the same way when the servers are created and checked periodically.
Current Technical Issue
The test servers are configured correctly when first deployed, but they experience configuration drift over time. Azure Automation State Configuration fails to correct the configurations.
Azure Automation State Configuration nodes are registered by using the following command.
QUESTION 35
Which branching strategy should you recommend for the investment planning applications suite?
A.
release isolation
B.
main only
C.
development isolation
D.
feature isolation
Correct Answer: C
Explanation
Explanation/Reference:
Scenario: A branching strategy that supports developing new functionality in isolation must be used.
Feature isolation is a special derivation of the development isolation, allowing you to branch one or more feature branches from main, as shown, or from your dev branches.
When you need to work on a particular feature, it might be a good idea to create a feature branch.
You plan to use Dependabot to scan for code dependencies.
You need to identify when scanning will be triggered automatically.
Which two actions will trigger a scan? Each correct answer presents a complete solution.
NOTE: Each correct solution is worth one point.
A.
The dependency graph of a repository changes.
B.
A pull request is created.
C.
A branch is forked.
D.
Any commit is pushed.
E.
A new advisory is added.
Correct Answer: AE
Explanation
Explanation/Reference:
About Dependabot alerts, Detection of insecure dependencies Dependabot performs a scan of the default branch of your repository to detect insecure dependencies, and sends Dependabot alerts when:
A new advisory is added to the GitHub Advisory Database. Note: Only advisories that have been reviewed by GitHub will trigger Dependabot alerts.
The dependency graph for a repository changes. For example, when a contributor pushes a commit to change the packages or versions it depends on, or when the code of one of the dependencies changes.
You need to recommend a development environment that meets the following requirements:
1. Integrates with GitHub 2. Provides integrated debugging tools 3. Supports remote workers and hot-desking environments 4. Supports developers who use browsers, tablets, and Chromebooks
What should you recommend?
A.
VS Code
B.
Xamarin Studio
C.
MonoDevelop
D.
Github Codespaces
Correct Answer: D
Explanation
Explanation/Reference:
You can develop in your codespace directly in Visual Studio Code by connecting the GitHub Codespaces extension with your account on GitHub.
You have a GitHub Actions workflow named workflow1 that is used to deploy an app name App1.
You need to ensure that App1 is deployed only when the following conditions are met:
- A pull request is merged to the main branch. - The change includes a JavaScript file. Solution: You configure the YAML file of workflow1 to include the following:
Does this meet the goal?
A.
Yes
B.
No
Correct Answer: B
QUESTION 39
You have been tasked with strengthening the security of your team's development process.
You need to suggest a security tool type for the Continuous Integration (CI) phase of the development process.
Which of the following is the option you would suggest?
A.
Penetration testing
B.
Static code analysis
C.
Threat modeling
D.
Dynamic code analysis
Correct Answer: B
Explanation
Explanation/Reference:
Validation in the CI/CD begins before the developer commits his or her code. Static code analysis tools in the IDE provide the first line of defense to help ensure that security vulnerabilities are not introduced into the CI/CD process.
You have an Azure subscription that contains an Azure Active Directory (Azure AD) tenant.
You are configuring a build pipeline in Azure Pipelines that will include a task named Task1. Task1 will authenticate by using an Azure AD service principal.
Which three values should you configure for Task1? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A.
the tenant ID
B.
the subscription ID
C.
the client secret
D.
the app ID
E.
the object ID
Correct Answer: ACD
Explanation
Explanation/Reference:
Create an Azure Resource Manager service connection with an existing service principal
AB: Enter the information about your service principal into the Azure subscription dialog textboxes: 1. Tenant ID 2. Subscription ID 3. Subscription name 4. Service principal ID Either the service principal client key or, if you have selected Certificate, enter the contents of both the certificate and private key sections of the *.pem file.
If you're using the classic editor, select data you need. For example, the App service name. If you're using YAML, then go to the resource in the Azure portal, and then copy the data into your code. For example, to deploy a web app, you would copy the name of the App Service into the WebAppName value.
You need to ensure that an Azure web app named az400-9940427-main supports rolling upgrades. The solution must ensure that only 10 percent of users who connect to az400-9940427-main use update versions of the app.
The solution must minimize administrative effort.
To complete this task, sign in to the Microsoft Azure portal.
Correct Answer:
Set up staging environments in Azure App Service
1. Open Microsoft Azure Portal
2. Log into your Azure account, select your app's resource page, in the left pane, select Deployment slots > Add Slot.
3. In the Add a slot dialog box, give the slot a name, and select whether to clone an app configuration from another deployment slot. Select Add to continue.
4. After the slot is added, select Close to close the dialog box. The new slot is now shown on the Deployment slots page. By default, Traffic % is set to 0 for the new slot, with all customer traffic routed to the production slot.
5. Select the new deployment slot to open that slot's resource page.
You have an Azure subscription. You need to ensure that users can provision preconfigured cloud-based environments for developing apps. The solution must minimize administrative effort.
What should you include in the solution?
A.
Microsoft Dev Box
B.
Windows 365 Cloud PC
C.
Azure Deployment Environments
D.
Azure Virtual Desktop
Correct Answer: C
QUESTION 43
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen. You have an Azure DevOps organization named Contoso and an Azure subscription. The subscription contains an Azure virtual machine scale set named VMSS1 that is configured for autoscaling.
You have a project in Azure DevOps named Project1. Project1 is used to build a web app named App1 and deploy App1 to VMSS1.
You need to ensure that an email alert is generated whenever VMSS1 scales in or out.
Solution: From Azure DevOps, configure the Notifications settings for Project1.
Does this meet the goal?
A.
Yes
B.
No
Correct Answer: B
Explanation
Explanation/Reference:
Notifications help you and your team stay informed about activity that occurs within your projects in Azure DevOps. You can get notified when changes occur to the following items: work items code reviews pull requests source control files builds
What are two ways to achieve the goal? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A.
Review the historical graph for the agent pools.
B.
Review the Pipeline duration report.
C.
Query the TaskAgentPoolSizeSnapshot/TaskAgentPoolSizeSnapshots endpoint.
D.
Query the PipelineRun/PipelineRuns endpoint.
Correct Answer: AC
QUESTION 46
Simulation
You need to configure an Azure web app named az400-9940427-main to contain an environmental variable named "MAX_ITEMS". The environmental variable must have a value of 50.
To complete this task, sign in to the Microsoft Azure portal.
Correct Answer:
1. In the Azure portal, navigate to the az400-9940427-main app's management page. In the app's left menu, click Configuration > Application settings.
You need to recommend a development environment that meets the following requirements:
1. Integrates with GitHub 2. Provides integrated debugging tools 3. Supports remote workers and hot-desking environments 4. Supports developers who use browsers, tablets, and Chromebooks
What should you recommend?
A.
VS Code
B.
Xamarin Studio
C.
MonoDevelop
D.
Visual Studio Codespaces
Correct Answer: D
Explanation
Explanation/Reference:
Visual Studio Codespaces is built to accommodate the widest variety of projects or tasks, including GitHub and integrating debugging.
Visual Studio Codespaces conceptually and technically extends the Visual Studio Code Remote Development extensions.
In addition to "backend" environments, Visual Studio Codespaces supports these "frontend" editors: Visual Studio Code Visual Studio Code-based editor in the browser
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Contoso, Ltd. is a manufacturing company that has a main office in Chicago.
Existing Environment
Contoso plans to improve its IT development and operations processes by implementing Azure DevOps principles. Contoso has an Azure subscription and creates an Azure DevOps organization.
The Azure DevOps organization includes:
1. The Docker extension 2. A deployment pool named Pool7 that contains 10 Azure virtual machines that run Windows Server 2016
The Azure subscription contains an Azure Automation account.
Requirements
Planned changes
Contoso plans to create projects in Azure DevOps as shown in the following table.
Technical requirements
Contoso identifies the following technical requirements:
1. Implement build agents for Project1. 2. Whenever possible, use Azure resources. 3. Avoid using deprecated technologies. 4. Implement a code flow strategy for Project2 that will: -Enable Team2 to submit pull requests for Project2. -Enable Team2 to work independently on changes to a copy of Project2. -Ensure that any intermediary changes performed by Team2 on a copy of Project2 will be subject to the same restrictions as the ones defined in the build policy of Project2 5. Whenever possible implement automation and minimize administrative effort. 6. Implement Project3, Project5, Project6, and Project7 based on the planned changes 7. Implement Project4 and configure the project to push Docker images to Azure Container Registry.
QUESTION 48
DRAG DROP
You need to implement the code flow strategy for Project2 in Azure DevOps.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Correct Answer:
Explanation
Explanation/Reference:
Step 1: Create a repository A Git repository, or repo, is a folder that you've told Git to help you track file changes in.You can have any number of repos on your computer, each stored in their own folder.
Step 2: Create a branch Branch policies help teams protect their important branches of development. Policies enforce your team's code quality and change management standards.
Step 3: Add a build validation policy When a build validation policy is enabled, a new build is queued when a new pull request is created or when changes are pushed to an existing pull request targeting this branch. The build policy then evaluates the results of the build to determine whether the pull request can be completed.
Scenario: Implement a code flow strategy for Project2 that will: 1. Enable Team2 to submit pull requests for Project2. 2. Enable Team2 to work independently on changes to a copy of Project2. 3. Ensure that any intermediary changes performed by Team2 on a copy of Project2 will be subject to the same restrictions as the ones defined in the build policy of Project2.
You have an Azure DevOps project that is used to build and test an app named App1.
You need to troubleshoot the following issues:
1. Most bugs are detected and reported by customers. 2. It takes a long time to detect failures.
Which metric should you review for each issue? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Correct Answer:
QUESTION 51
HOTSPOT
You have an Azure web app named webapp1 that uses the .NET Core runtime stack. You have an Azure Application Insights resource named AppInsights1 that collects telemetry data generated by webapp1.
You plan to deploy webapp1 by using an Azure DevOps pipeline.
You need to modify the sampling rate of the telemetry data processed by AppInsights1 without having to redeploy webapp1 after each modification.
What should you do? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Explanation: Box 1: Modify ApplicationInsights.config In ApplicationInsights.config, you can adjust several parameters in the AdaptiveSamplingTelemetryProcessor node. The figures shown are the default values:
The target rate of logical operations that the adaptive algorithm aims to collect on each server host. If your web app runs on many hosts, reduce this value so as to remain within your target rate of traffic at the Application Insights portal.
<EvaluationInterval>00:00:15</EvaluationInterval>
The interval at which the current rate of telemetry is reevaluated. Evaluation is performed as a moving average. You might want to shorten this interval if your telemetry is liable to sudden bursts.
Etc.
Box 2: Modify the Usage and estimated costs settings.
Ingestion sampling Use this type of sampling if your app often goes over its monthly quota and you don't have the option of using either of the SDK-based types of sampling.
Set the sampling rate in the Usage and estimated costs page:
Incorrect: * Smart detection Proactive diagnostics is a recent feature. Without any special configuration by you, Application Insights automatically detects and alerts you about unusual rises in failure rates in your app. It's smart enough to ignore a background of occasional failures, and also rises that are simply proportionate to a rise in requests. So for example, if there's a failure in one of the services you depend on, or if the new build you just deployed isn't working so well, then you'll know about it as soon as you look at your email. (And there are webhooks so that you can trigger other apps.)
Another aspect of this feature performs a daily in-depth analysis of your telemetry, looking for unusual patterns of performance that are hard to discover. For example, it can find slow performance associated with a particular geographical area, or with a particular browser version.
* Continuous Export Want to keep your telemetry for longer than the standard retention period? Or process it in some specialized way? Continuous Export is ideal for this purpose. The events you see in the Application Insights portal can be exported to storage in Microsoft Azure in JSON format. From there, you can download your data and write whatever code you need to process it.
You need to recommend a procedure to clone the repository from GitHub to Azure DevOps.
What should you recommend?
A.
Create a pull request.
B.
Create a webhook.
C.
Create a service connection for GitHub.
D.
From Import a Git repository, click Import.
E.
Create a personal access token in Azure DevOps.
Correct Answer: D
Explanation
Explanation/Reference:
You can import an existing Git repo from GitHub, Bitbucket, GitLab, or other location into a new or empty existing repo in your project in Azure DevOps.
Import into a new repo 1. Select Repos, Files. 2. From the repo drop-down, select Import repository. 3. If the source repo is publicly available, just enter the clone URL of the source repository and a name for your new Git repository.
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Litware, Inc. is an independent software vendor (ISV). Litware has a main office and five branch offices.
Existing Environment
Application Architecture
The company's primary application is a single monolithic retirement fund management system based on ASP.NET web forms that use logic written in VB.NET. Some new sections of the application are written in C#.
Variations of the application are created for individual customers. Currently, there are more than 80 live code branches in the application's code base.
The application was developed by using Microsoft Visual Studio. Source code is stored in Team Foundation Server (TFS) in the main office. The branch offices access the source code by using TFS proxy servers.
Architectural Issues
Litware focuses on writing new code for customers. No resources are provided to refactor or remove existing code. Changes to the code base take a long time, as dependencies are not obvious to individual developers.
Merge operations of the code often take months and involve many developers. Code merging frequently introduces bugs that are difficult to locate and resolve.
Customers report that ownership costs of the retirement fund management system increase continually. The need to merge unrelated code makes even minor code changes expensive.
Customers report that bug reporting is overly complex.
Requirements
Planned changes
Litware plans to develop a new suite of applications for investment planning. The investment planning applications will require only minor integration with the existing retirement fund management system.
The investment planning applications suite will include one multi-tier web application and two iOS mobile applications. One mobile application will be used by employees; the other will be used by customers.
Litware plans to move to a more agile development methodology. Shared code will be extracted into a series of packages.
Litware has started an internal cloud transformation process and plans to use cloud-based services whenever suitable.
Litware wants to become proactive in detecting failures, rather than always waiting for customer bug reports.
Technical requirements
The company's investment planning applications suite must meet the following requirements:
1. New incoming connections through the firewall must be minimized. 2. Members of a group named Developers must be able to install packages. 3. The principle of least privilege must be used for all permission assignments. 4. A branching strategy that supports developing new functionality in isolation must be used. 5. Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds. 6. Visual Studio App Center must be used to centralize the reporting of mobile application crashes and device types in use. 7. By default, all releases must remain available for 30 days, except for production releases, which must be kept for 60 days. 8. Code quality and release quality are critical. During release, deployments must not proceed between stages if any active bugs are logged against the release. 9. The mobile applications must be able to call the share pricing service of the existing retirement fund management system. Until the system is upgraded, the service will only support basic authentication over HTTPS. 10. The required operating system configuration for the test servers changes weekly. Azure Automation State Configuration must be used to ensure that the operating system on each test server is configured the same way when the servers are created and checked periodically.
Current Technical Issue
The test servers are configured correctly when first deployed, but they experience configuration drift over time. Azure Automation State Configuration fails to correct the configurations.
Azure Automation State Configuration nodes are registered by using the following command.
QUESTION 53
DRAG DROP
Which package feed access levels should be assigned to the Developers and Team Leaders groups for the investment planning applications suite? To answer, drag the appropriate access levels to the correct groups. Each access level may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Box 1: Reader Members of a group named Developers must be able to install packages.
Feeds have four levels of access: Owners, Contributors, Collaborators, and Readers. Owners can add any type of identity-individuals, teams, and groups-to any access level.
Box 2: Owner Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds.
QUESTION 54
You have the services shown in the following table.
You manage a project by using Azure Boards.
You need to notify the services of build status changes.
Which services can be notified by using a webhook?
A.
Service1 only
B.
Service2 only
C.
Service1 and Service2
Correct Answer: C
Explanation
Explanation/Reference:
Webhooks provide a way to send a JSON representation of an event to any service. All that is required is a public endpoint (HTTP or HTTPS).
Q: Can I send webhooks to non HTTPS endpoints? A: Yes. However, it's recommended that you only use HTTPS endpoints for your webhooks. Using HTTP means there is the potential for private data being sent unencrypted. This includes any authentication headers in your webhook.
You have a private project in Azure DevOps and two users named User1 and User2.
You need to add User1 and User2 to groups to meet the following requirements:
1. User1 must be able to create a code wiki. 2. User2 must be able to edit wiki pages. 3. The solution must use the principle of least privilege.
To which group should you add each user? To answer, drag the appropriate groups to the correct users. Each group may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
User1: Project Administrators You must have the permission Create Repository to publish code as wiki. By default, this permission is set for members of the Project Administrators group.
User2: Contributors Anyone who is a member of the Contributors security group can add or edit wiki pages.
Anyone with access to the team project, including stakeholders, can view the wiki.
You have a project in Azure DevOps named Project1 that contains two Azure DevOps pipelines named Pipeline1 and Pipeline2.
You need to ensure that Pipeline1 can deploy code successfully to an Azure web app named webapp1. The solution must ensure that Pipeline2 does not have permission to webapp1.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Correct Answer:
QUESTION 58
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have an Azure pipeline that is used to deploy a web app. The pipeline includes a test suite named TestSuite1. TestSuite1 is used to validate the operations of the web app.
TestSuite1 fails intermittently.
You identify that the failures are unrelated to changes in the source code and execution environment.
You need to minimize troubleshooting effort for the TestSuite1 failures.
Solution: You implement the Test Results Trend widget.
Does this meet the goal?
A.
Yes
B.
No
Correct Answer: B
Explanation
Explanation/Reference:
Manage flaky tests Productivity for developers relies on the ability of tests to find real problems with the code under development or update in a timely and reliable fashion. Flaky tests present a barrier to finding real problems, since the failures often don't relate to the changes being tested. A flaky test is a test that provides different outcomes, such as pass or fail, even when there are no changes in the source code or execution environment. Flaky tests also impact the quality of shipped code.
The goal of bringing flaky test management in-product is to reduce developer pain cause by flaky tests and cater to the whole workflow. Flaky test management provides the following benefits.
Detection - Auto detection of flaky test with rerun or extensibility to plug in your own custom detection method
Management of flakiness - Once a test is marked as flaky, the data is available for all pipelines for that branch
Report on flaky tests - Ability to choose if you want to prevent build failures caused by flaky tests, or use the flaky tag only for troubleshooting
Resolution - Manual bug-creation or manual marking and unmarking test as flaky based on your analysis
Close the loop - Reset flaky test as a result of bug resolution / manual input
Your company plans to use an agile approach to software development.
You need to recommend an application to provide communication between members of the development team who work in locations around the world. The applications must meet the following requirements:
1. Provide the ability to isolate the members of different project teams into separate communication channels and to keep a history of the chats within those channels. 2. Be available on Windows 10, Mac OS, iOS, and Android operating systems. 3. Provide the ability to add external contractors and suppliers to projects. 4. Integrate directly with Azure DevOps.
What should you recommend?
A.
Microsoft Project
B.
Bamboo
C.
Microsoft Lync
D.
Microsoft Teams
E.
Octopus
Correct Answer: D
Explanation
Explanation/Reference:
1. Within each team, users can create different channels to organize their communications by topic. Each channel can include a couple of users or scale to thousands of users. 2. Microsoft Teams works on Android, iOS, Mac and Windows systems and devices. It also works in Chrome, Firefox, Internet Explorer 11 and Microsoft Edge web browsers. 3. The guest-access feature in Microsoft Teams allows users to invite people outside their organizations to join internal channels for messaging, meetings and file sharing. This capability helps to facilitate business-to-business project management. 4. Teams integrates with Azure DevOps.
Note: Slack would also be a correct answer, but it is not an option here.
You have a GitHub repository that contains multiple versions of an Azure Pipelines template.
You plan to deploy multiple pipelines that will use a template stored in the repository.
You need to ensure that you use a fixed version of the template.
What should you use to reference which version of the template repository to use?
A.
the serial
B.
the SHA-based hashes
C.
the runner
D.
the branch
Correct Answer: D
Explanation
Explanation/Reference:
Explanation: Repositories are resolved only once, when the pipeline starts up. After that, the same resource is used for the duration of the pipeline. Only the template files are used. Once the templates are fully expanded, the final pipeline runs as if it were defined entirely in the source repo. This means that you can't use scripts from the template repo in your pipeline.
If you want to use a particular, fixed version of the template, be sure to pin to a ref. The refs are either branches (refs/heads/<name>) or tags (refs/tags/<name>). If you want to pin a specific commit, first create a tag pointing to that commit, then pin to that tag.
NOTE: If no ref is specified, the pipeline will default to using refs/heads/main.
You have a GitHub Enterprise account. You have three projects named Project1, Project2, and Project3.
Project1 must meet the following requirements:
Perform concurrent testing across 700 hosts.
Support workflow job durations of at least five hours.
Project2 must meet the following requirements:
Perform concurrent load testing across 35 hosts that run macOS.
Support workflow job durations of at least one hour.
Project3 must meet the following requirements:
Perform concurrent load testing across 200 hosts that run Windows.
Support workflow job durations of at least 24 hours.
You need to recommend an architecture for the GitHub runners of the projects. The solution must minimize costs.
What should you recommend for each project? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Correct Answer:
QUESTION 62
You are building a Microsoft ASP.NET application that requires authentication. You need to authenticate users by using Azure Active Directory (Azure AD).
What should you do first?
A.
Create a membership database in an Azure SQL database.
B.
Assign an enterprise application to users and groups.
C.
Create an app registration in Azure AD.
D.
Configure the application to use a SAML endpoint.
E.
Create a new OAuth token from the application.
Correct Answer: C
Explanation
Explanation/Reference:
Register your application to use Azure Active Directory. Registering the application means that your developers can use Azure AD to authenticate users and request access to user resources such as email, calendar, and documents.
You need to configure a virtual machine template in a DevTest Labs environment named az400-38443478-dtl1. The operating system must be based on Windows Server 2016 Datacenter. Virtual machines created from the DevTest Lab must include the Selenium tool and the Google Chrome browser.
Correct Answer:
To configure a virtual machine template in your DevTest Labs environment named az400-38443478-dtl1 with Windows Server 2016 Datacenter that includes the Selenium tool and the Google Chrome browser, follow these steps:
Step 1: Create a Custom Image with Windows Server 2016 Datacenter
1. In the Azure portal, go to your DevTest Lab named az400-38443478-dtl1.
2. Navigate to Configuration and policies > Custom images.
3. Use an existing virtual machine or create a new one based on Windows Server 2016 Datacenter.
4. After configuring the virtual machine, capture it to create a custom image.
Step 2: Install Selenium and Google Chrome
1. Connect to the virtual machine by using Remote Desktop (RDP).
2. Download and install the Selenium WebDriver from the official Selenium website.
3. Download and install Google Chrome from the official Google Chrome website.
Step 3: Generalize the Virtual Machine
1. Run the `sysprep` command to generalize the virtual machine.
2. Wait for Sysprep to complete.
3. Shut down the virtual machine.
Step 4: Capture the Generalized Virtual Machine
1. In the Azure portal, open the virtual machine.
2. Select Capture.
3. Provide the required information and create the image.
Step 5: Add Selenium and Google Chrome Artifacts
1. Return to the DevTest Lab named az400-38443478-dtl1.
2. Select Artifacts.
3. Add the Selenium and Google Chrome artifacts to the virtual machine template.
4. Ensure the artifacts are configured to install automatically during virtual machine deployment.
Step 6: Create Virtual Machines from the Template
1. Create a new virtual machine in the DevTest Lab.
2. Select the custom image you created.
3. The virtual machine will be deployed with Windows Server 2016 Datacenter, Selenium, and Google Chrome installed automatically.
By following these steps, all virtual machines created from this template in the DevTest Lab will include the required operating system, Selenium, and Google Chrome.
QUESTION 64
You use GitHub for source control.
You are evaluating whether to use proxying to add a private upstream MyGet package feed to your MyGet feed.
What are two possible advantages of this approach? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A.
minimizes the impact of upstream source availability issues
You use an Azure Pipelines pipeline to build and release an ASP.NET Core app named App1.
You run builds on a Microsoft-hosted Ubuntu 18.04 build agent.
You need to implement incremental builds for App1.
What should you do?
A.
Upgrade the build agent
B.
Install a sell-hosted Linux build agent.
C.
Use a Microsoft-hosted Windows build agent.
D.
Purchase additional parallel jobs.
Correct Answer: A
QUESTION 66
You have a build pipeline in Azure Pipelines that uses different jobs to compile an application for 10 different architectures.
The build pipeline takes approximately one day to complete.
You need to reduce the time it takes to execute the build pipeline
Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point
A.
Move to a blue/green deployment pattern.
B.
Create an agent pool.
C.
Create a deployment group.
D.
Reduce the size of the repository.
E.
Increase the number of parallel jobs.
Correct Answer: BE
Explanation
Explanation/Reference:
Question I need more hosted build resources. What can I do? Answer The Azure Pipelines pool provides all Azure DevOps organizations with cloud-hosted build agents and free build minutes each month. If you need more Microsoft-hosted build resources, or need to run more jobs in parallel, then you can either: Host your own agents on infrastructure that you manage. Buy additional parallel jobs.
You plan to add a new web farm that will be published by using an IP address of 10.0.0.5.
You need to allow traffic from the web farm to an Azure Database for MySQL server named az400-11566895-mysql.
To complete this task, sign in to the Microsoft Azure portal.
Correct Answer:
Server-level firewall rules can be used to manage access to an Azure Database for MySQL Server from a specified IP address or a range of IP addresses.
Create a server-level firewall rule in the Azure portal
1. On the MySQL server page, under Settings heading, click Connection Security to open the Connection Security page for the Azure Database for MySQL.
2. In the firewall rules for the Azure Database for MySQL, you can specify a single IP address or a range of addresses. If you want to limit the rule to a single IP address, type the same address in the Start IP and End IP fields. Opening the firewall enables administrators, users, and application to access any database on the MySQL server to which they have valid credentials.
3. Click Save on the toolbar to save this server-level firewall rule. Wait for the confirmation that the update to the firewall rules is successful.
You have a project in Azure DevOps named Project1.
You implement a Continuous Integration/Continuous Deployment (CI/CD) pipeline that uses PowerShell Desired State Configuration (DSC) to configure the application infrastructure.
You need to perform a unit test and an integration test of the configuration before Project1 is deployed.
What should you use?
A.
the PSScriptAnalyzer tool
B.
the Pester test framework
C.
the PSCodeHealth module
D.
the Test-DscConfiguration cmdlet
Correct Answer: B
Explanation
Explanation/Reference:
Explanation: Pester is a testing and mocking framework for PowerShell.
Pester provides a framework for writing and running tests. Pester is most commonly used for writing unit and integration tests, but it is not limited to just that. It is also a base for tools that validate whole environments, computer deployments, database configurations and so on.
Example: Building a Continuous Integration and Continuous Deployment pipeline with DSC This example demonstrates how to build a Continuous Integration/Continuous Deployment (CI/CD) pipeline by using PowerShell, DSC, and Pester.
IntegrationTests: Runs the Pester integration tests. UnitTests: Runs the Pester unit tests.
Incorrect: * PSScriptAnalyzer PSScriptAnalyzer is a static code checker for PowerShell modules and scripts. PSScriptAnalyzer checks the quality of PowerShell code by running a set of rules. The rules are based on PowerShell best practices identified by PowerShell Team and the community. It generates DiagnosticResults (errors and warnings) to inform users about potential code defects and suggests possible solutions for improvements.
PSScriptAnalyzer ships with a collection of built-in rules that check various aspects of PowerShell code such as:
The presence of uninitialized variables Use of PSCredential type Use of Invoke-Expression And many more
You delete a file, commit the changes, and continue to work.
You need to recover the deleted file.
Which three commands should you run in sequence? To answer, move the appropriate commands from the list of commands to the answer area and arrange them in the correct order.
Correct Answer:
Explanation
Explanation/Reference:
Explanation:
Step 1: git log. Find the commit SHA of the commit you want to revert to. To look through a log of commits, type git log.
Step 2: git checkout [hash]~1 --path/to/file If you have deleted the file and already committed the changes, you need to use the `git checkout` command to restore the file. First, you need to find out the checksum of the commit that deleted the file, and then check out the file from the previous commit.
This command tells `git` to list all commits, which can be reached from the HEAD, that changed the file `file1.txt`. The `-n 1` option tells `git` to limit the result to only one commit. The output is the checksum of the commit that deleted the file.
To undo changes on a single file or directory from commit B, but retain them in the staged state:
git checkout <commit-B-SHA> <file
Step 3: git restore path/to/file To unstage the file but keep your changes:
git restore --staged <file>
Note: Recovering Deleted Files with the Command Line Recovering a deleted file using the Git command line involves the `git restore` or `git checkout`command. Whenever you modify files in Git-including creating new files, editing, or deleting existing files-the changes start as unstaged. Then you stage the changes with the `git add` command, and finally, you commit the changes using the `git commit` command. Git provides ways to recover a deleted file at any point in this life cycle of changes.
If you have not staged the deletion yet, simply run `git restore <filename>` and the file will be restored from the index.
You need to recommend a solution for deploying charts by using Helm and Tiller to Azure Kubernetes Service (AKS) in an RBAC-enabled cluster.
Which three commands should you recommend be run in sequence? To answer, move the appropriate commands from the list of commands to the answer area and arrange them in the correct order.
Correct Answer:
Explanation
Explanation/Reference:
Step 1: Kubectl create You can add a service account to Tiller using the --service-account <NAME> flag while you're configuring Helm (step 2 below). As a prerequisite, you'll have to create a role binding which specifies a role and a service account name that have been set up in advance. Example: Service account with cluster-admin role $ kubectl create -f rbac-config.yaml serviceaccount "tiller" created clusterrolebinding "tiller" created $ helm init --service-account tiller
Step 2: helm init To deploy a basic Tiller into an AKS cluster, use the helm init command.
Step 3: helm install To install charts with Helm, use the helm install command and specify the name of the chart to install.
Your company uses GitHub for source control. GitHub repositories store source code and store process documentation. The process documentation is saved as Microsoft Word documents that contain simple flow charts stored as .bmp files. You need to optimize the integration and versioning of the process documentation and the flow charts. The solution must meet the following requirements: 1. Store documents as plain text. 2. Minimize the number of files that must be maintained. 3. Simplify the modification, merging, and reuse of flow charts. 4. Simplify the modification, merging, and reuse of documents.
What should you include in the solution? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point.
Correct Answer:
QUESTION 72
DRAG DROP
You have an Azure Repos repository named repo1.
You delete a branch named features/feature11.
You need to recover the deleted branch.
Which three commands should you run in sequence? To answer, move the appropriate commands from the list of commands to the answer area and arrange them in the correct order.
Correct Answer:
QUESTION 73
You have a private project in Azure DevOps.
You need to ensure that a project manager can create custom work item queries to report on the project's progress.
The solution must use the principle of least privilege. To which security group should you add the project manager?
A.
Project Collection Administrators
B.
Reader
C.
Project Administrators
D.
Contributor
Correct Answer: D
Explanation
Explanation/Reference:
Contributors have permissions to contribute fully to the project code base and work item tracking. The main permissions they don't have or those that manage or administer resources.
You need to create a new team dashboard named Dashboard1 for the default project team of Project1.
The dashboard must display the members of the team.
Correct Answer:
Step 1: Create a New Team Dashboard Navigate to Azure DevOps: Go toAzure DevOpsand sign in with your credentials. Select Your Project: ChooseProject1from your list of projects. Access Dashboards: In the left-hand menu, selectDashboards. Create a New Dashboard: Click onNew Dashboard. Enter the nameDashboard1. ClickCreate.
Step 2: Add the Team Members Widget Open the Widget Catalog: After creating the dashboard, the widget catalog will open automatically. If it doesn't, click onAdd Widget. Search for Team Members Widget: In the widget catalog, search forTeam Members. Add the Widget: Click on theTeam Memberswidget and then clickAddto place it on your dashboard. Configure the Widget: Once added, you can resize and move the widget to your preferred location on the dashboard.
Step 3: Save and Share the Dashboard Save the Dashboard: Click onSaveto save your changes. Share the Dashboard: You can share the dashboard URL with your team members or set permissions to control who can view or edit the dashboard. By following these steps, you will have a new team dashboard namedDashboard1that displays the members of the default project team forProject1Ensure the dashboard type is set toTeam Dashboard.
QUESTION 75
Simulation
In Project1, you need to create a variable group named varGroup1 that will contain the following variables:
serverName: server1 dbName: db1
Correct Answer:
Azure DevOps Azure Pipelines: Manage variable groups
Create a variable group You can create variable groups for the pipeline runs in your project.
Step 1: In your Azure DevOps project [Here Project1], select Pipelines > Library from the left menu.
Step 2: On the Library page, select + Variable group.
Step 3: On the new variable group page, under Properties, enter a name [Here Group1] and an optional description for the variable group.
Step 4: Under Variables, select + Add, and then enter a variable name and value to include in the group. If you want to encrypt and securely store the value, select the lock icon next to the variable. [Add variable + value: serverName: server1] [Add variable + value: dbName: db1]
Step 5: Select + Add to add each new variable. When you finish adding variables, select Save.
You use Azure Pipelines to manage the build and deployment of apps. You are planning the release strategies for a new app. You need to choose strategies for the following scenarios: Releases will be made available to users who are grouped by their tolerance for software faults.
1. Code will be deployed to enable functionality that will be available in later releases of the app. 2. When a new release occurs, the existing deployment will remain active to minimize recovery time if a return to the previous version is required.
Which strategy should you choose for each scenario? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Box 1: Progressive exposure Continuous Delivery may sequence multiple deployment "rings" for progressive exposure (also known as "controlling the blast radius"). Progressive exposure groups users who get to try new releases to monitor their experience in "rings." The first deployment ring is often a "canary" used to test new versions in production before a broader rollout. CD automates deployment from one ring to the next and may optionally depend on an approval step, in which a decision maker signs off on the changes electronically. CD may create an auditable record of the approval in order to satisfy regulatory procedures or other control objectives.
Box 2: Feature flags Feature flags support a customer-first DevOps mindset, to enable (expose) and disable (hide) features in a solution, even before they are complete and ready for release.
Box 3: Blue/green Blue/green deployments which means that instead of replacing the previous version (here we refer to this version as blue), we bring up the new version (here referred to as the green version) next to the existing version, but not expose it to the actual users right away. On the condition of having successfully validated that the green version works correctly, we will promote this version to the public version by changing the routing configuration without downtime. If something is wrong with the green version we can revert back without users every noticing interruptions.
You plan to use Terraform to deploy an Azure resource group from a Windows system.
You need to install the required frameworks to support the planned deployment.
Which two frameworks should you install? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A.
Vault
B.
Terratest
C.
Node.js
D.
Yeoman
E.
Tiller
Correct Answer: BD
Explanation
Explanation/Reference:
You can use the combination of Terraform and Yeoman. Terraform is a tool for creating infrastructure on Azure. Yeoman makes it easy to create Terraform modules.
Terratest provides a collection of helper functions and patterns for common infrastructure testing tasks, like making HTTP requests and using SSH to access a specific virtual machine. The following list describes some of the major advantages of using Terratest: 1. Convenient helpers to check infrastructure - This feature is useful when you want to verify your real infrastructure in the real environment. 2. Organized folder structure - Your test cases are organized clearly and follow the standard Terraform module folder structure. 3. Test cases are written in Go - Many developers who use Terraform are Go developers. If you're a Go developer, you don't have to learn another programming language to use Terratest. 4. Extensible infrastructure - You can extend additional functions on top of Terratest, including Azure-specific features.
You have a GitHub repository that contains the code for an app named App1.
App1 depends on a library of functions from a repository at https://github.com/contoso/afeed.
You need to keep a clone of the afeed repository as a subdirectory of the App1 repository.
How should you complete the Git command? To answer, drag the appropriate values to the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Explanation:
Box 1: clone git-clone - Clone a repository into a new directory
Box 2: branch --branch <name> Instead of pointing the newly created HEAD to the branch pointed to by the cloned repository's HEAD, point to <name> branch instead. In a non-bare repository, this is the branch that will be checked out. --branch can also take tags and detaches the HEAD at that commit in the resulting repository.
Incorrect: * git pull
The git pull command is used to fetch and download content from a remote repository and immediately update the local repository to match that content. SYNOPSIS git pull [<options>] [<repository> [<refspec>...]]
Your company uses Azure DevOps for the build pipelines and deployment pipelines of Java-based projects. You need to recommend a strategy for managing technical debt.
Which action should you include in the recommendation?
A.
Configure post-deployment approvals in the deployment pipeline.
B.
Integrate Azure DevOps and SonarQube.
C.
Integrate Azure DevOps and Azure DevTest Labs.
Correct Answer: B
Explanation
Explanation/Reference:
You can manage technical debt with SonarQube and Azure DevOps. Note: Technical debt is the set of problems in a development effort that make forward progress on customer value inefficient. Technical debt saps productivity by making code hard to understand, fragile, time-consuming to change, difficult to validate, and creates unplanned work that blocks progress. Unless they are managed, technical debt can accumulate and hurt the overall quality of the software and the productivity of the development team in the long term SonarQube an open source platform for continuous inspection of code quality to perform automatic reviews with static analysis of code to: Detect Bugs Code Smells Security Vulnerabilities Centralize Quality What's covered in this lab
You are designing a versioning strategy for Git-based packages.
You plan to use a Semantic Versioning (SemVer)-based strategy.
You need to identify when to change the build version.
What should you identify for each scenario? To answer, drag the appropriate versions to the correct scenarios. Each version may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Explanation:
Box 1: MAJOR Semantic Versioning 2.0.0 Summary Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes
Note: Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Box 2: Minor How should I handle deprecating functionality? Deprecating existing functionality is a normal part of software development and is often required to make forward progress. When you deprecate part of your public API, you should do two things: (1) update your documentation to let users know about the change, (2) issue a new minor release with the deprecation in place. Before you completely remove the functionality in a new major release there should be at least one minor release that contains the deprecation so that users can smoothly transition to the new API.
Box 3: Minor MINOR version when you add functionality in a backwards compatible manner
Incorrect: * Patch PATCH version when you make backwards compatible bug fixes
References: https://semver.org/
Case Study 2
Case Study Questions
requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Overview
Contoso, Ltd. is a manufacturing company that has a main office in Chicago.
Existing Environment
Contoso plans to improve its IT development and operations processes by implementing Azure DevOps principles. Contoso has an Azure subscription and creates an Azure DevOps organization.
The Azure DevOps organization includes:
1. The Docker extension 2. A deployment pool named Pool7 that contains 10 Azure virtual machines that run Windows Server 2016
The Azure subscription contains an Azure Automation account.
Requirements
Planned changes
Contoso plans to create projects in Azure DevOps as shown in the following table.
Technical requirements
Contoso identifies the following technical requirements:
1. Implement build agents for Project1. 2. Whenever possible, use Azure resources. 3. Avoid using deprecated technologies. 4. Implement a code flow strategy for Project2 that will: -Enable Team2 to submit pull requests for Project2. -Enable Team2 to work independently on changes to a copy of Project2. -Ensure that any intermediary changes performed by Team2 on a copy of Project2 will be subject to the same restrictions as the ones defined in the build policy of Project2 5. Whenever possible implement automation and minimize administrative effort. 6. Implement Project3, Project5, Project6, and Project7 based on the planned changes 7. Implement Project4 and configure the project to push Docker images to Azure Container Registry.
QUESTION 81
DRAG DROP
You need to recommend a procedure to implement the build agent for Project1.
Which three actions should you recommend be performed in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Correct Answer:
Explanation
Explanation/Reference:
Scenario:
Step 1: Sign in to Azure Devops by using an account that is assigned the Administrator service connection security role.
Note: Under Agent Phase, click Deploy Service Fabric Application. Click Docker Settings and then click Configure Docker settings. In Registry Credentials Source, select Azure Resource Manager Service Connection. Then select your Azure subscription.
Step 2: Create a personal access token.. A personal access token or PAT is required so that a machine can join the pool created with the Agent Pools (read, manage) scope.
Step 3: Install and register the Azure Pipelines agent on an Azure virtual machine. By running a Azure Pipeline agent in the cluster, we make it possible to test any service, regardless of type.
You have the standards shown in the following table.
You plan to use Azure Pipelines to build and release web apps.
You need to recommend a solution to build the pipelines. The solution must meet the following requirements:
1. Ensure that all new pipelines meet the security requirements defined in Standard1. 2. Ensure that the first stage of all new pipelines contains the software prerequisites defined in Standard2. 3. Minimize administrative effort.
What should you use to implement each standard? To answer, drag the appropriate options to the correct standards. Each component may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
QUESTION 84
You build an iOS app.
You receive crash reports from Crashlytics.
You need to capture the following data:
Crash-free users Custom events Breadcrumbs
What should you do?
A.
Configure the xcworkspace file in the project
B.
Add the GoogleAnalytics pod to the app.
C.
Configure the Crashlytics pod in the app.
D.
Import the Firebase module to UIApplicationDelegate.
Correct Answer: D
Explanation
Explanation/Reference:
Explanation: Step 1: Add the Firebase Crashlytics SDK to your app. Configure the Firebase module: Import the Firebase module in your App struct or UIApplicationDelegate
You are preparing to deploy an Azure resource group via Terraform.
To achieve your goal, you have to install the necessary frameworks.
Which of the following are the frameworks you should use? Answer by dragging the correct options from the list to the answer area.
Correct Answer:
Explanation
Explanation/Reference:
You can use the combination of Terraform and Yeoman. Terraform is a tool for creating infrastructure on Azure. Yeoman makes it easy to create Terraform modules.
Terratest provides a collection of helper functions and patterns for common infrastructure testing tasks, like making HTTP requests and using SSH to access a specific virtual machine. The following list describes some of the major advantages of using Terratest: 1. Convenient helpers to check infrastructure - This feature is useful when you want to verify your real infrastructure in the real environment. 2. Organized folder structure - Your test cases are organized clearly and follow the standard Terraform module folder structure. 3. Test cases are written in Go - Many developers who use Terraform are Go developers. If you're a Go developer, you don't have to learn another programming language to use Terratest. 4. Extensible infrastructure - You can extend additional functions on top of Terratest, including Azure-specific features.
You need to deploy a new project in Azure DevOps that has the following requirements:
1. The lead developer must be able to create repositories, manage permissions, manage policies, and contribute to the repository. 2. Developers must be able to contribute to the repository and create branches, but NOT bypass policies when pushing builds. 3. Project managers must only be able to view the repository. 4. The principle of least privilege must be used.
You create a new Azure DevOps project team for each role.
To which Azure DevOps groups should you add each team? To answer, drag the appropriate groups to the correct teams. Each group may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Box 1: Readers Project managers must only be able to view the repository. Only read permission necessary.
Box 2: Project Administrators The lead developer must be able to create repositories, manage permissions, manage policies, and contribute to the repository. Add to the Project Collection Administrators security group users tasked with managing organization or collection resources.
Box 3: Contributors Developers must be able to contribute to the repository and create branches, but NOT bypass policies when pushing builds. Add to the Contributors security group full-time workers who contribute to the code base or manage projects. References: https://docs.microsoft.com/en-us/azure/devops/organizations/security/look-up-project-collection-administrators
QUESTION 87
Note: The question is included in a number of questions that depicts the identical set-up. However, every question has a distinctive result. Establish if the solution satisfies the requirements.
You run the Register-AzureRmAutomationDscNode command in your company's environment.
You need to make sure that your company's test servers remain correctly configured, regardless of configuration drift.
Solution: You set the -ConfigurationMode parameter to ApplyOnly.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You need to recommend an integration strategy for the build process of a Java application. The solution must meet the following requirements:
1. The builds must access an on-premises dependency management system. 2. The build outputs must be stored as Server artifacts in Azure DevOps. 3. The source code must be stored in a Git repository in Azure DevOps.
Solution: Configure the build pipeline to use a Hosted Ubuntu agent pool. Include the Java Tool Installer task in the build pipeline.
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have an Azure DevOps project.
Your build process creates several artifacts.
You need to deploy the artifacts to on-premises servers.
Solution: You deploy a Docker build to an on-premises server. You add a Download Build Artifacts task to the deployment pipeline.
Does this meet the goal?
A.
Yes
B.
No
Correct Answer: B
Explanation
Explanation/Reference:
Instead you should deploy an Azure self-hosted agent to an on-premises server.
Note: To build your code or deploy your software using Azure Pipelines, you need at least one agent.
If your on-premises environments do not have connectivity to a Microsoft-hosted agent pool (which is typically the case due to intermediate firewalls), you'll need to manually configure a self-hosted agent on on-premises computer(s).
You have an Azure DevOps pipeline that is used to deploy a Node.js app.
You need to ensure that the dependencies are cached between builds.
How should you configure the deployment YAML? To answer, drag the appropriate values to the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Explanation:
Box 1: build.sh Conditioning on cache restoration In some scenarios, the successful restoration of the cache should cause a different set of steps to be run. For example, a step that installs dependencies can be skipped if the cache was restored. This is possible using the cacheHitVar task input. Setting this input to the name of an environment variable will cause the variable to be set to true when there's a cache hit, inexact on a restore key cache hit, otherwise it will be set to false. This variable can then be referenced in a step condition or from within a script.
In the following example, the install-deps.sh step is skipped when the cache is restored:
Incorrect: * always() condition: always() # this step will always run, even if the pipeline is canceled
* .integrationtest.sh Build base images in integration tests.
* npm install npm install downloads a package and it's dependencies. When run without arguments, npm install downloads dependencies defined in a package.json file and generates a node_modules folder with the installed modules.
As part of your application build process, you need to deploy a group of resources to Azure by using an Azure Resource Manager template located on GitHub. Which three action should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Correct Answer:
QUESTION 92
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You have an approval process that contains a condition. The condition requires that releases be approved by a team leader before they are deployed.
You have a policy stating that approvals must occur within eight hours.
You discover that deployment fail if the approvals take longer than two hours.
You need to ensure that the deployments only fail if the approvals take longer than eight hours.
Solution: From Pre-deployment conditions, you modify the Time between re-evaluation of gates option.
Does this meet the goal?
A.
Yes
B.
No
Correct Answer: B
Explanation
Explanation/Reference:
Gates allow automatic collection of health signals from external services, and then promote the release when all the signals are successful at the same time or stop the deployment on timeout. Typically, gates are used in connection with incident management, problem management, change management, monitoring, and external approval systems.
Approvals and gates give you additional control over the start and completion of the deployment pipeline. Each stage in a release pipeline can be configured with pre-deployment and post-deployment conditions that can include waiting for users to manually approve or reject deployments, and checking with other automated systems until specific conditions are verified.
You have a tenant in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra. The tenant contains three groups named Group1, Group2, and Group3.
You create a new project in Azure DevOps named Project1.
You need to secure the service connections for Project1. The solution must meet the following requirements:
1. The members of Group1 must be able to share and unshare a service connection with other projects. 2. The members of Group2 must be able to rename a service connection and update the description. 3. The members of Group3 must be able to use the service connection within build or release pipelines. 4. The principle of least privilege must be followed.
Which permission should you grant to each group? To answer, drag the appropriate permissions to the correct groups. Each permission may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
Box 1: Organization-level Administrator The members of Group1 must be able to share and unshare a service connection with other projects.
Add members to the Project Collection Administrators group When you create an organization, you become a member of the Project Collection Administrators group. This group has the authority to manage the organization's settings, policies, and processes. It can also create and manage all the projects and extensions in the organization.
Incorrect: * Project-level Administrators Add members to the Project Administrators group The person who creates a project is automatically added as a member to the Project Administrators group. Members of this group have permissions to manage project configuration, repositories, pipeline resources, teams, and all project-level permissions.
It's always a good idea to have more than one person who has administrative privileges. To add a user to this group, see Change permissions at the project level, Add members to the Project Administrators group.
Grant or restrict permissions Permissions are managed at the following three levels and through role-based assignments.
object project organization or collection As a member of the Project Administrators group, you can grant or restrict permissions for all objects and at the project-level. To delegate specific tasks to others, we recommend that you add them to a built-in or custom security group, or add them to a specific role.
Box 2: Creator
The members of Group2 must be able to rename a service connection and update the description.
You can create, view, use, and manage a service connection based on your assigned user roles. Role Creator Members of this role can create the service connection in the project. Contributors are added as members by default
Box 3: User The members of Group3 must be able to use the service connection within build or release pipelines.
Role User Members of this role can use the service connection when authoring build or release pipelines or authorize yaml pipelines.
You manage source code control and versioning by using GitHub.
You need to ensure that a PowerShell script is executed automatically before rebase operations are performed.
What should you use?
A.
a package
B.
GitHub Copilot
C.
a webhook
D.
a gist
Correct Answer: C
QUESTION 95
DRAG DROP
You need to use Azure Automation State Configuration to manage the ongoing consistency of virtual machine configurations.
Which five actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of the correct orders you select.
Correct Answer:
Explanation
Explanation/Reference:
Step 1: Assign the node configuration. You create a simple DSC configuration that ensures either the presence or absence of the Web-Server Windows Feature (IIS), depending on how you assign nodes.
Step 2: Upload a configuration to Azure Automation State Configuration. You import the configuration into the Automation account.
Step 3: Compiling a configuration into a node configuration Compiling a configuration in Azure Automation Before you can apply a desired state to a node, a DSC configuration defining that state must be compiled into one or more node configurations (MOF document), and placed on the Automation DSC Pull Server.
Step 4: Onboard the virtual machines to Azure State Configuration Onboarding an Azure VM for management with Azure Automation State Configuration
Step 5: Check the compliance status of the node. Viewing reports for managed nodes. Each time Azure Automation State Configuration performs a consistency check on a managed node, the node sends a status report back to the pull server. You can view these reports on the page for that node.
On the blade for an individual report, you can see the following status information for the corresponding consistency check: The report status - whether the node is "Compliant", the configuration "Failed", or the node is "Not Compliant" (when the node is in ApplyandMonitor mode and the machine is not in the desired state).
You have several Azure virtual machines that run Windows Server 2019.
You need to identify the distinct event IDs of each virtual machine as shown in the following table.
How should you complete the Azure Monitor query? To answer, drag the appropriate values to the correct locations. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:
Explanation
Explanation/Reference:
You can use makelist to pivot data by the order of values in a particular column. For example, you may want to explore the most common order events take place on your machines. You can essentially pivot the data by the order of EventIDs on each machine.
Example: Event | where TimeGenerated > ago(12h) | order by TimeGenerated desc | summarize makelist(EventID) by Computer
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
The lead developer at your company reports that adding new application features takes longer than expected due to a large accumulated technical debt.
You need to recommend changes to reduce the accumulated technical debt.
Solution: You recommend reducing the code complexity.
Your company deploys applications in Docker containers.
You want to detect known exploits in the Docker images used to provision the Docker containers.
You need to integrate image scanning into the application lifecycle. The solution must expose the exploits as early as possible during the application lifecycle.
What should you configure?
A.
a task executed in the continuous integration pipeline and a scheduled task that analyzes the image registry
B.
manual tasks performed during the planning phase and the deployment phase
C.
a task executed in the continuous deployment pipeline and a scheduled task against a running production container
D.
a task executed in the continuous integration pipeline and a scheduled task that analyzes the production container
Correct Answer: A
Explanation
Explanation/Reference:
You can use the Docker task to sign into ACR and then use a subsequent script to pull an image and scan the container image for vulnerabilities. Use the docker task in a build or release pipeline. This task can be used with Docker or Azure Container registry.
Incorrect Answers: C: We should not wait until deployment. We want to detect the exploits as early as possible. D: We should wait until the image is in the product container. We want to detect the exploits as early as possible.