Question
Case Study 3 - Contoso Existing Environment: Technical Environment The on-premises network contains a single Active Directory domain named contoso.com. Contoso has a single Azure subscription. Existing Environment: Business Partnerships Contoso has a business partnership with Fabrikam, Inc. Fabrikam users access some Contoso applications over the internet by using Azure Active Directory (Azure AD) guest accounts. Requirements: Planned Changes Contoso plans to deploy two applications named App1 and App2 to Azure. Requirements: App1 App1 will be a Python web app hosted in Azure App Service that requires a Linux runtime. Users from Contoso and Fabrikam will access App1. App1 will access several services that require third-party credentials and access strings. The credentials and access strings are stored in Azure Key Vault. App1 will have six instances: three in the East US Azure region and three in the West Europe Azure region. App1 has the following data requirements: Each instance will write data to a data store in the same availability zone as the instance. Data written by any App1 instance must be visible to all App1 instances. App1 will only be accessible from the internet. App1 has the following connection requirements: Connections to App1 must pass through a web application firewall (WAF). Connections to App1 must be active-active load balanced between instances. All connections to App1 from North America must be directed to the East US region. All other connections must be directed to the West Europe region. Every hour, you will run a maintenance task by invoking a PowerShell script that copies files from all the App1 instances. The PowerShell script will run from a central location. Requirements: App2 App2 will be a NET app hosted in App Service that requires a Windows runtime. App2 has the following file storage requirements: Save files to an Azure Storage account. Replicate files to an on-premises location. Ensure that on-premises clients can read the files over the LAN by using the SMB protocol. You need to monitor App2 to analyze how long it takes to perform different transactions within the application. The solution must not require changes to the application code. Application Development Requirements Application developers will constantly develop new versions of App1 and App2. The development process must meet the following requirements: A staging instance of a new application version must be deployed to the application host before the new version is used in production. After testing the new version, the staging version of the application will replace the production version. The switch to the new application version from staging to production must occur without any downtime of the application. Identity Requirements Contoso identifies the following requirements for managing Fabrikam access to resources: Every month, an account manager at Fabrikam must review which Fabrikam users have access permissions to App1. Accounts that no longer need permissions must be removed as guests. The solution must minimize development effort. Security Requirement All secrets used by Azure services must be stored in Azure Key Vault. Services that require credentials must have the credentials tied to the service instance. The credentials must NOT be shared between services. Hotspot Question You are evaluating whether to use Azure Traffic Manager and Azure Application Gateway to meet the connection requirements for App1. What is the minimum numbers of instances required for each service? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point. Answer:
Explanation
This hotspot question tests whether candidates understand which Azure services and configurations are appropriate for App1, a Python Linux web app with multi-region deployment, Key Vault integration, and globally consistent data requirements.
Approach. For App1's data requirements - writing locally per availability zone while remaining visible to all instances across East US and West Europe - Azure Cosmos DB with multi-region writes and availability zone redundancy is the correct data store choice, as it provides global distribution with local writes and strong/eventual consistency options. For accessing Key Vault credentials without embedding secrets, a system-assigned or user-assigned Managed Identity on the App Service is the correct approach, eliminating the need for stored credentials. App Service with Linux runtime natively supports Python web apps, and since App1 is only accessible from the internet (not requiring VNet integration), a standard public App Service plan with Traffic Manager or Azure Front Door for multi-region routing satisfies the accessibility requirement.
Concept tested. Multi-region Azure App Service deployment with Managed Identity for Key Vault access, and globally distributed data consistency using Azure Cosmos DB with multi-region write support and availability zone awareness.
Reference. Microsoft Learn: Azure App Service Linux Python deployment, Azure Managed Identities, Azure Cosmos DB multi-region writes, Azure Key Vault integration best practices.