3 Using Virtual Machines

 

This chapter covers

  • Creating a virtual machine with Linux
  • Accessing and managing a virtual machine remotely with RDP
  • Optimizing virtual machines for cost and performance
  • Understanding some best practices for virtual machines

One of the pillars of cloud computing, virtual machines are the backbone of almost any application, whether explicitly or implicitly. There are few company IT infrastructure ecosystems that don’t require a virtual machine in some capacity to get the job done, and because they are a “raw” machine that you can use for almost any computing task, they are very popular and there are a vast array of types, sizes and flavours.

In this chapter we will cover one of the fundamental parts of not just cloud infrastructure, but any application, big or small. Compute. And the specific type of compute in Azure that is used by the most projects and organizations, is virtual machines (VM).

3.1 What is a Virtual Machine?

To understand the purpose and place of a virtual machine in Azure, consider this infrastructure scenario. You have been tasked with creating the infrastructure for a new project that has the following requirements and behaviors.

  • Hosting of a custom software application, either Windows or Linux.
  • Increase in use and resource demand over time.
  • Control over the operating system and platform.
  • Limited budget to purchase computing resources.

3.1.1 Infrastructure-as-a-Service

3.1.2 Ingress and egress

3.1.3 Remote Desktop Protocol (RDP)

3.1.4 Managing Software on a VM

3.2 Creating a VM

3.2.1 Location

3.2.2 Operating system

3.2.3 Size

3.2.4 Other Resources

3.2.5 Disks

3.3 Networking

3.3.1 Virtual Network

3.3.2 Public IP Address

3.3.3 Network security group

3.3.4 Load Balancing

3.4 Managing a VM

3.4.1 Identity

3.4.2 Optimizing Costs

3.4.3 Introducing Azure CLI