Microsoft Certified: Azure Developer Associate (AZ-204)Develop Azure compute solutionsHard

An existing application is composed of several independent components that are currently running on separate physical servers. The company wants to migrate these components to Azure, maintaining isolation between them but consolidating them onto shared infrastructure to reduce costs. Each component requires a specific operating system configuration and runtime environment that cannot be easily containerized. The company needs to manage dependencies and updates for each component independently. Which Azure compute solution is the most appropriate?

  1. AAzure Functions
  2. BAzure Virtual Machines (VMs)
  3. CAzure App Service
  4. DAzure Kubernetes Service (AKS)
Show answer & explanation

Correct answer: B. Azure Virtual Machines (VMs)

Azure Virtual Machines (VMs) provide the necessary isolation for each component with its specific OS and runtime, while allowing consolidation onto shared underlying hardware in Azure. This IaaS approach gives the required control over the OS and dependencies, which is crucial when components cannot be easily containerized or run in managed PaaS environments.

Why the other options are wrong

  • A. Functions are serverless and designed for event-driven code, not for hosting complex applications requiring specific OS configurations or maintaining isolation between components.
  • C. App Service is a PaaS that limits OS control and might not support highly specific OS configurations or non-web workloads.
  • D. AKS is for containerized applications and would require each component to be containerized, which is explicitly stated as difficult.

IaaS Isolation

In Infrastructure-as-a-Service (IaaS), isolation refers to the logical separation of virtual machines and their resources, ensuring that one VM's activities do not affect others, while still sharing the underlying physical hardware.

  • Achieved through hypervisor technology
  • Provides dedicated CPU, memory, and storage to each VM
  • Network isolation via virtual networks
  • Allows for independent OS and application management

Memory trick: VMs give strong isolation, Containers share the host, Functions are just code, App Service is a PaaS host.

More Develop Azure compute solutions questions