AZ-400 – Question 273

0
451
Introductory Info
Case Study –
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study –
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business 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 technical requirements:
  • New incoming connections through the firewall must be minimized.
  • Members of a group named Developers must be able to install packages.
  • The principle of least privilege must be used for all permission assignments.
  • A branching strategy that supports developing new functionality in isolation must be used.
  • Members of a group named Team Leaders must be able to create new packages and edit the permissions of package feeds.
  • Visual Studio App Center must be used to centralize the reporting of mobile application crashes and device types in use.
  • By default, all releases must remain available for 30 days, except for production releases, which must be kept for 60 days.
  • Code quality and release quality are critical. During release, deployments must not proceed between stages if any active bugs are logged against the release.
  • 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.
  • 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 1:

HOTSPOT –
How should you complete the code to initialize App Center in the mobile application? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:

Correct Answer:

Scenario: Visual Studio App Center must be used to centralize the reporting of mobile application crashes and device types in use.
In order to use App Center, you need to opt in to the service(s) that you want to use, meaning by default no services are started and you will have to explicitly call each of them when starting the SDK.
Insert the following line to start the SDK in your app’s AppDelegate class in the didFinishLaunchingWithOptions method.
MSAppCenter.start(“{Your App Secret}”, withServices: [MSAnalytics.self, MSCrashes.self])
Reference:
https://docs.microsoft.com/en-us/appcenter/sdk/getting-started/ios
https://docs.microsoft.com/en-us/appcenter/sdk/getting-started/ios#42-add-the-startwithservices-method
https://docs.microsoft.com/en-us/appcenter/sdk/#app-center-analytics
https://docs.microsoft.com/en-us/appcenter/sdk/#app-center-crashes

Question 2:

HOTSPOT –
How should you configure the release retention policy for the investment planning applications suite? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:

Correct Answer:
AZ-400 Microsoft Azure DevOps Solutions Part 14 Q21 172 Answer

Explanation:

Scenario: By default, all releases must remain available for 30 days, except for production releases, which must be kept for 60 days.
Box 1: Set the default retention policy to 30 days
The Global default retention policy sets the default retention values for all the build pipelines. Authors of build pipelines can override these values.
Box 2: Set the stage retention policy to 60 days

You may want to retain more releases that have been deployed to specific stages.

Question 3:

HOTSPOT –
You need to configure a cloud service to store the secrets required by the mobile applications to call the share pricing service.
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.

Hot Area:

Correct Answer:

Box 1: Username and pasword
The question should be relate to “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.”
Basic authentication is username and password
Box 2: Azure Key Vault

Question 4:

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.
Select and Place:
Correct Answer:
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 5:

To resolve the current technical issue, what should you do to the Register-AzureRmAutomationDscNode command?

A. Change the value of the ConfigurationMode parameter.
B. Replace the Register-AzureRmAutomationDscNode cmdlet with Register-AzureRmAutomationScheduledRunbook
C. Add the AllowModuleOverwrite parameter.
D. Add the DefaultProfile parameter.

Correct Answer: A 

Change the ConfigurationMode parameter from ApplyOnly to ApplyAndAutocorrect.
The Register-AzureRmAutomationDscNode cmdlet registers an Azure virtual machine as an APS Desired State Configuration (DSC) node in an Azure Automation account.
Scenario: 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 6: 

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: D

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.
Incorrect Answers:
A: Release isolation introduces one or more release branches from main. The strategy allows concurrent release management, multiple and parallel releases, and codebase snapshots at release time.
B: The Main Only strategy can be folder-based or with the main folder converted to a Branch, to enable additional visibility features. You commit your changes to the main branch and optionally indicate development and release milestones with labels.
C: Development isolation: When you need to maintain and protect a stable main branch, you can branch one or more dev branches from main. It enables isolation and concurrent development. Work can be isolated in development branches by feature, organization, or temporary collaboration.

Question 7:

What should you use to implement the code quality restriction on the release pipeline for the investment planning applications suite?

A. a pre-deployment approval
B. a deployment gate
C. a post-deployment approval
D. a trigger

Correct Answer: B

Deployment gate – You want to ensure there are no active issues in the work item or problem management system before deploying a build to a stage – “Pre-deployment gates”.

Reference: https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/approvals

Question 8:

HOTSPOT –
Where should the build and release agents for the investment planning applications suite run? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:

Box 1: A source control system –
A source control system, also called a version control system, allows developers to collaborate on code and track changes. Source control is an essential tool for multi-developer projects.
Box 2: A hosted service –
To build and deploy Xcode apps or Xamarin.iOS projects, you’ll need at least one macOS agent. If your pipelines are in Azure Pipelines and a Microsoft-hosted agent meets your needs, you can skip setting up a self-hosted macOS agent.
Scenario: 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.