AZ-900 Microsoft Azure Fundamentals Exam
Start here! Get your feet wet with the Microsoft cloud and begin your journey to earning your Microsoft Certified: Azure Fundamentals certification!
Practice Test

Practice Test

Describe virtual machine options, including Azure virtual machines,Azure Virtual Machine Scale Sets, availability sets, and Azure VirtualDesktop
Understand Azure Virtual Machines
Azure Virtual Machines (VMs) are a core compute service in Azure, allowing you to create and manage virtualized servers in the cloud. These VMs can run various operating systems, including Windows and Linux, and can be configured with different amounts of CPU, memory, and storage to meet your specific needs. VMs provide a flexible and scalable environment for running applications, hosting services, and creating isolated development and testing environments.
When deploying an Azure VM, you have several configuration options. You can choose the operating system, the size of the VM (which determines the amount of CPU and memory), and the storage options. You can also configure networking settings, such as assigning a public IP address or placing the VM in a virtual network. Deployment can be done through the Azure portal, command-line interface (CLI), or PowerShell. Once deployed, you have full control over the VM, just like a physical server.
Azure VMs are versatile and can be used for a wide range of purposes. They are commonly used to:
- Run applications that require a specific operating system or environment.
- Host web servers and other services.
- Create development and testing environments.
- Provide isolated environments for sensitive workloads.
- Perform batch processing and other compute-intensive tasks.
Managing Azure VMs involves tasks such as starting, stopping, resizing, and monitoring. Azure provides tools for monitoring the performance and health of your VMs, allowing you to identify and resolve issues quickly. You can also use Azure Automation to automate common management tasks, such as patching and backups. Additionally, Azure offers features like availability sets and availability zones to ensure high availability and fault tolerance for your VMs.
Azure periodically updates its platform to improve reliability, performance, and security. These updates can be categorized into those that don't require a reboot and those that do. Updates that don't require a reboot are typically done through live migration or pausing the VM briefly. For updates that require a reboot, Azure provides a self-service window where you can initiate the maintenance yourself, giving you more control over the process. This helps minimize downtime and ensures that your VMs remain available.
Azure Spot Virtual Machines offer a cost-effective way to run workloads that can handle interruptions. These VMs utilize unused Azure capacity and are available at a significant discount. However, they can be evicted with a 30-second notice when Azure needs the capacity back. Spot VMs are ideal for batch processing, development/testing, and other non-critical workloads that can tolerate interruptions.
Analyze Availability Sets
Availability Sets are a key feature in Azure that help ensure your virtual machines (VMs) are highly available and resilient. They achieve this by distributing your VMs across multiple fault domains and update domains within an Azure data center. This distribution protects your application from potential hardware failures and planned maintenance events.
Fault domains represent a physical grouping of hardware, such as a rack of servers. By placing VMs in different fault domains, you ensure that a failure in one domain won't affect the VMs in other domains. Update domains are logical groupings of hardware that are updated together during planned maintenance. Azure updates one update domain at a time, ensuring that at least some of your VMs remain available during maintenance.
When you create an availability set, Azure automatically spreads your VMs across these fault and update domains. This means that if a server in one fault domain fails, your application can continue running on VMs in other fault domains. Similarly, during planned maintenance, only one update domain is updated at a time, so your application remains available. This distribution is crucial for maintaining high availability and minimizing downtime.
It's important to distinguish between availability sets and availability zones. Availability zones are physically separate locations within an Azure region, each with its own power, cooling, and networking. While availability sets provide redundancy within a data center, availability zones provide redundancy across multiple data centers within a region. For the highest level of availability, you might consider using both availability sets and availability zones.
Using availability sets offers several benefits:
- High Availability: Ensures your application remains available during hardware failures and planned maintenance.
- Redundancy: Distributes VMs across multiple fault and update domains, reducing the risk of a single point of failure.
- Cost-Effective: Provides a cost-effective way to achieve high availability without the need for complex infrastructure setups.
In summary, availability sets are a fundamental tool for ensuring the high availability of your virtual machines in Azure. By understanding how fault domains and update domains work, you can effectively use availability sets to protect your applications from downtime and maintain business continuity.
Examine Azure Virtual Machine Scale Sets
Azure Virtual Machine Scale Sets are a compute resource that lets you deploy and manage a set of identical virtual machines. These are designed to support autoscaling, which means the number of virtual machines can automatically increase or decrease based on demand or a schedule. This is particularly useful for applications that experience varying levels of traffic.
The core function of Azure Virtual Machine Scale Sets is to provide horizontal scaling. This means that instead of increasing the resources of a single virtual machine (vertical scaling), you add or remove virtual machines to handle the load. This is done through autoscale rules that monitor metrics like CPU usage, memory usage, or queue length. When these metrics reach a certain threshold, the scale set automatically adds or removes virtual machines. You can also set up schedule-based rules to scale based on anticipated changes in load.
Using Azure Virtual Machine Scale Sets offers several benefits. First, they provide high availability by distributing your application across multiple virtual machines. If one virtual machine fails, others can continue to operate. Second, they enable load balancing, which distributes traffic evenly across all virtual machines, ensuring no single virtual machine is overwhelmed. Finally, they offer cost efficiency by automatically scaling down during periods of low demand, reducing the number of running virtual machines and therefore costs.
Some key features of Azure Virtual Machine Scale Sets include:
- Autoscaling: Automatically adjusts the number of virtual machines based on demand or schedule.
- Load Balancing: Distributes traffic evenly across all virtual machines.
- High Availability: Ensures application availability by distributing it across multiple virtual machines.
- Predictive Autoscaling: Uses machine learning to forecast CPU load and scale in advance.
- Custom Metrics: Allows scaling based on custom metrics generated by your application.
- Scale-in Policies: Determines which virtual machines are removed during scale-in events.
Azure Virtual Machine Scale Sets integrate with other Azure services to provide a comprehensive solution. For example, they work with Azure Monitor to collect metrics and trigger autoscale events. They also integrate with Azure Load Balancer to distribute traffic. Additionally, they can be used with Azure Virtual Desktop to scale session host virtual machines based on user demand.
In summary, Azure Virtual Machine Scale Sets are a powerful tool for managing and scaling virtual machines in Azure. They provide autoscaling, load balancing, and high availability, making them ideal for applications that need to handle varying levels of traffic. By understanding their functionality and benefits, you can effectively use them to optimize your cloud infrastructure.
Explore Azure Virtual Desktop
Azure Virtual Desktop is a cloud-based service that allows users to access virtualized desktops and applications. It runs on Azure and provides a full Windows experience, including Windows 10, Windows 11, and Windows Server. This service is designed to be scalable and flexible, accommodating various workloads and user needs. You can choose to assign a single device to a single user or use multi-session capabilities for scalability.
Azure Virtual Desktop offers the flexibility to deliver either full desktops or individual applications using RemoteApp. It also supports Microsoft 365 Apps for enterprise, optimized for multi-user virtual environments. Users can install and run their line-of-business or custom applications, including Win32, MSIX, and Appx formats, from anywhere. This service can also be used to deliver Software-as-a-service (SaaS) for external use and replace existing Remote Desktop Services (RDS) deployments.
Key capabilities of Azure Virtual Desktop include the ability to create a complete desktop virtualization environment without managing gateway servers. It allows for flexible configurations, the use of custom images, and cost reduction through pooled, multi-session resources. The service also supports personal desktops for individual ownership and can automatically scale capacity based on demand. Management is simplified through the Azure portal, Azure CLI, PowerShell, and REST API, allowing for the creation and configuration of host pools, application groups, and workspaces.
Users can connect to their published desktops and applications using the Windows App or Remote Desktop client, available on various devices and platforms, including web browsers. These clients support features like multiple monitors, custom display resolutions, and device redirection. Connections are securely established through reverse connections, eliminating the need for inbound ports. Azure Virtual Desktop also provides insights and metrics about the environment and user connections through Azure Virtual Desktop Insights.
Azure Virtual Desktop can be deployed for both internal and external commercial purposes. For internal use, all users and resources can be hosted in the same Azure tenant, with licensing required for each user. For external use, it is recommended to create separate Microsoft Entra tenants and subscriptions for each customer to ensure security. Per-user access pricing is available for external commercial purposes, allowing organizations to pay for access rights on behalf of external users.
Evaluate Use Cases and Benefits
Azure offers several virtual machine options, each designed to meet different needs. These include Azure Virtual Machines (VMs), Azure Virtual Machine Scale Sets, availability sets, and Azure Virtual Desktop. Understanding their use cases and benefits is crucial for effective cloud deployment. Azure VMs provide a basic compute resource, while Virtual Machine Scale Sets allow for the automatic scaling of identical VMs. Availability sets ensure high availability by distributing VMs across different fault and update domains. Azure Virtual Desktop provides a desktop and app virtualization service.
Azure Virtual Machines are a foundational compute service, offering a wide range of operating systems and configurations. They are ideal for workloads that require full control over the operating system and underlying infrastructure. Use cases include hosting web servers, databases, and custom applications. The benefit of using Azure VMs is the flexibility and control they provide, allowing for highly customized environments. However, they require more manual management compared to other options.
Azure Virtual Machine Scale Sets are designed for applications that need to scale automatically. They allow you to deploy and manage a set of identical VMs as a single resource. This is particularly useful for applications that experience fluctuating demand, such as web applications and batch processing. The primary benefit is the ability to automatically increase or decrease the number of VMs based on demand, optimizing both performance and cost. Scale sets can be configured with either Uniform or Flexible orchestration, offering different levels of control and availability.
Availability sets are used to ensure high availability for your applications. By distributing VMs across multiple fault and update domains, they protect against hardware failures and planned maintenance events. This is essential for critical applications that require continuous uptime. The benefit of using availability sets is the increased resilience they provide, ensuring that at least one VM remains available during maintenance or outages. However, they do not provide protection against data center-level failures.
Azure Virtual Desktop is a desktop and app virtualization service that enables users to access their desktops and applications from anywhere. This is ideal for organizations that need to provide remote access to their employees or contractors. The main benefit is the ability to centralize desktop management and provide a consistent user experience across different devices. It also enhances security by keeping sensitive data within the cloud environment.
Conclusion
In summary, this section covered various virtual machine options in Azure, including Azure Virtual Machines, Azure Virtual Machine Scale Sets, availability sets, and Azure Virtual Desktop. Azure Virtual Machines provide a foundational compute service with full control, while Virtual Machine Scale Sets enable automatic scaling for applications with fluctuating demand. Availability sets ensure high availability by distributing VMs across fault and update domains, and Azure Virtual Desktop offers a virtualized desktop and application experience for remote access. Each option has its unique benefits and use cases, making it essential to understand their differences for effective cloud deployment.