Azure Virtual Machines

Natasha Ong
This is some text inside of a div block.
4 min read

In a nutshell:

Azure Virtual Machines (VMs) are like cloud computers you can customise
Azure Virtual Desktop is a remote Windows computer you can access from anywhere securely.

Azure Virtual Machines

Azure Virtual Machines, or VMs, are like computers in the cloud. They're flexible and can do many things, just like your regular computer. You can set them up with any software you want and use them in various ways!

VMs are handy for various tasks like:

  • Testing and development - you can test your app in different OS and computer configurations at the click of a button!
  • Running apps with unpredictable or constantly changing demand - add or remove VMs as demand for your app fluctuates, so you're only paying for what you use.
  • Extending your data centre to the cloud - companies can extend their on-premise data centre by adding VMs to run some of their applications at a much lower cost.
  • Disaster recovery - if a primary datacenter fails, you can create VMs running on Azure to run your critical applications and then shut them down when the primary datacenter becomes operational again.

The great part is, you don't have to worry about physical hardware; Azure takes care of that for you.

VMs are an ideal choice when you need:

  • Total control over the operating system (OS).
  • The ability to run custom software.
  • To use custom hosting configurations*.

*What are custom hosting configurations? Custom hosting configurations are the personalised settings (personalised settings = configuration!) for making your website or app accessible online, allowing control over performance, security, and other aspects to suit your needs and preferences.

A sneak peek into VMs in the Azure Portal:

Customising Your VM

Azure takes care of the hardware, but you still need to configure, update, and maintain the software that runs on the VM.

When you provision a VM, you’ll also have the chance to pick the resources that are associated with that VM, including:

  • Size
  • Storage disks
  • Networking

Want to save time? An image is a template used to create a VM and may already include an OS and other software, like development tools* or web hosting environments**. You can create and provision a VM in minutes when you select a preconfigured VM image.

*What are development tools? Development tools are code or apps that help developers create, test, and maintain other websites and apps. They make it easier to write, fix and understand code.

**What is a web hosting environment? A web hosting environment is typically a collection of servers. The main difference is that a web hosting environment includes not only the server hardware but also the specific software and configurations needed to make websites accessible on the internet. Think of the server as the computer, and the web hosting environment as the whole setup, including the computer, the software, and everything needed to run websites smoothly.

Going from 1 VM ➝ many VMs

You can use a single VM for small tasks or group them for bigger jobs. Azure makes it easy to manage groups of VMs with features like scale sets and availability sets.

What are scale sets?

Scale sets let you manage a bunch of identical VMs effortlessly.

  • If you don't use scale sets:  If you simply created multiple VMs with the same purpose, you’d need to ensure they were all configured identically and then make sure they're connect properly. You’d also have to monitor each VM's usage to decide if you need to manually increase or decrease the number of VMs.
  • If you use scale sets: Azure automates most of the work, ensuring they work together efficiently. The number of VMs can automatically increase or decrease in response to demand, or you can set it to scale based on a defined schedule. This makes scale sets the super tool when you have large-scale projects and want to use your services efficiently

What are availability sets?

Availability sets make your setup more resilient, meaning your VMs are less likely to go down. This is super important because you could lose all your VMs in a single network or power failure, or if all your VMs decide to update at the same time.

Availability sets do this by grouping VMs in two ways: update domain and fault domain.

  • Update domain: Think about the last time you updated your computer - it probably had to shut down and restart itself at some point! VMs are no different, so what happens if your most important VMs happen to update at the same time? If they all shut down together, your service will probably go down entirely too. You can use the update domain to group together VMs that can be updated at the same time without causing your entire service to go down. Now, updates will be rolled out one group at a time, with a 30-minute recovery period before moving on to the next update domain. This approach makes sure your service stays available, even when your VMs are getting updated.
  • Fault domain: The fault domain bundles together your VMs by common power source and network switch. By default, an availability set will split your VMs across up to three fault domains. This means that even if a physical power or networking failure happens, your service won't go down entirely because some of your VMs are connected to different power and networking resources.

The cherry on top? There’s no additional cost for using an availability set. You only pay for the VM instances you create.

Azure Virtual Desktop

Picture this: you have a Windows desktop computer at work. You've used this computer for years and years, so there are a LOT of important files stored inside. Now that it's time for an overseas work trip, you really want to bring this computer with you... but you can't exactly fit a desktop computer into your check-in luggage. You've also been wanting to work from home, but it's hard to do this when your company had made it a rule that important files don't leave work computers.

Here comes Azure's magic - Azure Virtual Desktop!

Azure Virtual Desktop is like a Windows computer that you can access from anywhere. It's a type of VM perfect for remote work. Staff can use Virtual Desktop through different devices and operating systems - meaning you could even run your virtual Windows computer from an Apple MacBook. It's a handy solution for businesses to make desktop management more efficient, secure, and accessible.

Why companies love Azure Virtual Desktop

  1. Access from any kind of device: You can use a remote desktop from your PC, Mac, iOS, Android, or even a web browser.
  2. Security: It's secure with features like multifactor authentication and role-based access controls (we'll dive deep into these security features later on in the course). Plus, your data is stored in the cloud, reducing the risk of data being left on personal devices. This is a HUGE win. IT and security teams used to worry a lot about whether employees are doing things on their personal devices that can expose the entire company to security issues. Now, everyone using a Virtual Desktop means security is centrally managed.
  3. Cost savings: It's more cost-effective than traditional desktop solutions. Like most cloud solutions, you only pay for what you use and it's easier to manage.
  4. Productivity: It provides a great user experience, similar to a locally hosted desktop. You can use your favourite apps seamlessly, whether you're on a PC, Mac, or even a mobile device.
  5. Multi-session Windows: It supports multiple users on a single virtual machine, making it even more efficient for businesses. This is different from older Windows Server-based systems and supports modern apps.