2. Getting started with SQL Server on Azure Virtual Machines
Virtual machines (VMs) are the core of all infrastructure-as-a-service (IaaS) deployments. A VM in Azure is similar to a VM premises using a hypervisor. The main difference is that Microsoft maintains the hypervisor and its related infrastructure in Azure. A VM also means that whether you choose to have Microsoft manage selected administration tasks, such as backups, or you perform those tasks yourself, it is still an operating system (Windows Server or a distribution of Linux) and installation of SQL Server that needs to be administered, maintained, patched, made available, and so on.
This chapter will help you understand why you should consider IaaS and covers how to approach choosing the right virtual hardware for a VM with SQL Server in Azure.
The benefits of deploying SQL Server using IaaS
Besides IaaS, there is another deployment method for SQL Server: platform-as-a-service (PaaS). Azure SQL Database, or Azure SQL Managed Instance, is PaaS. With PaaS, there is no operating system (OS) or SQL Server instance you need to manage, which includes things such as patching. All of that is done for you. Where that does not work for some is that you may need control over the OS and/or SQL Server choices (version or edition) due to standards, licensing, or other requirements. PaaS provides a more packaged solution that fits the needs of many without needing a dedicated OS and SQL Server instance.
Since IaaS is just a VM with an OS, you can deploy whatever supported combination of OS and SQL Server you desire. One principal difference between IaaS and PaaS is that any automatic administration you would want done by Microsoft is opt-in, whereas PaaS is done for you and you have limited configuration choices. One important reason...
Deployment choices for IaaS
This section will cover the different ways in which you can deploy a VM in Azure, along with considerations and best practices that are applicable no matter which method is used, as well as briefly talk about licensing SQL Server in Azure.
There are three options for deploying a VM in Azure for use with SQL Server:
- Choose a pre-built template, also known as an image, with SQL Server already installed.
- Choose a template with the OS but without SQL Server installed, which will be done after the VM is built.
- Build a custom image using a virtual hard drive and upload it to Azure.
No matter which of the three deployment methods you choose, you can deploy using Cloud Shell (Bash or PowerShell)6, also known as the Azure command-line interface (CLI), Azure portal7, Azure Resource Manager templates8 that are written in JSON, and the Azure PowerShell module9. Builds can be automated and incorporated into DevOps processes...
Azure VM hardware options
VMs have a virtualized processor, memory, and storage. Processor and memory factor into the VM type and its choice of size. Storage is influenced by the VM type and size, but has its own parameters. This section will introduce the basics of VM types, sizes, and storage. Performance will be touched upon as this is a crucial element of configuring a VM and will be discussed further in Chapter 5, Performance.
VM types and sizes
This section will contain information about the different types and sizes of IaaS VMs available in Azure.
VM types and series
VMs in Azure come in different types and sizes. Within each major VM type, the size maps to what is known as a series, such as D, E, and G. Each series has different sizes with different specifications. The following table lists the different VM types and their purpose:
Figure 2.8: Different VM types with their recommended usage
VM resources can be reserved and guaranteed...
Choosing a VM type, size, and its associated virtual hardware is no different to planning and deploying a physical server or VM on-premises. You have to account for CPU, memory, networking, and storage. While this chapter covered the basics of deploying an IaaS-based VM for SQL Server in Azure, there are many more considerations, such as availability and security, that must also be considered as part of an overall solution. Subsequent chapters will discuss those topics and more.