You were asked by your manager to investigate the new functionality released with SQL Server 2016 this past June. How can you accomplish this task without installing the new software onto a development machine?
SolutionAn Azure Virtual Machine is a great way to spin up a preconfigured environment for developing and testing Transact-SQL code.
Business ProblemUse Azure's Infrastructure As A Service ( IAAS ) offering to deploy a windows 2012 Server R2 that is loaded with SQL Server 2016 RTM developer edition. The Contoso Retail BI sample database will be leveraged during the creation and validation of our sample code.
Azure Virtual MachineThis tip assumes you have an active Azure Subscription with money to spend and you are familiar with the Azure portal. Our first task is to create an Azure Virtual Machine using the Visual Studio Enterprise subscription that comes with MSDN. Each step listed below is part of the total solution.
From the dashboard, just select the Virtual Machines (VM) menu option which uses the Azure Resource Manager (ARM) deployment model. Do not select the Virtual Machines (classic) menu option which uses the older Azure Service Manager (ASM) deployment model. You should now be on the following input screen. Azure documentation uses the term blade(s) as nomenclature for screen(s).

Click the add button at the top to advance to the Gallery screen. Type "sql server developer" in the search (filter) box. You should end up with the resulting image below. This is important since the developer edition is now free of charge. All other editions will incur a software rental cost. Click the virtual machine description to continue.

For some reason, the screen prompts you to confirm this is an ARM deployment model. However, there are some useful links on the screen such as Azure pricing details by product. Click the create button to continue.

Deploy an Azure Virtual Machine
There are five easy steps (screens) that you need to fill in before you can create (deploy) the virtual machine (VM) image.
Basics - Configure basic settings. Size - Choose virtual machine size. OS Settings - Configure optional features. SQL Settings - Configure SQL Server settings. Summary - Confirm your choices before deployment. Basics - Configure Basic Settings in AzureThe first screen prompts you to enter the server name SQL16DEV , the administrator user name jminer , the user password, the subscription Visual Studio Enterprise , the resource group rg4tips16 and data center location East US .
In this example, I already had a resource group created and choose to use that existing group. I suggest that you come up with some type of prefix convention so that you know what an Azure object is by name. For instance, rg4 prefix represents a resource group for a particular purpose. Some screen entries need to be lower case. Therefore, everything except for the computer name is lower case. In fact, I could have made that lower case if I wanted.

Size - Choose the Azure Virtual Machine Size
The second screen asks you to select a machine series and machine size. Currently, there are five different series at this time.
A-series VM's can be deployed on a variety of hardware types and processors. D-series VM's are designed to run applications that demand higher compute power and temporary disk performance. G-series VM's offer the most memory and run on hosts that have Intel Xeon E5 V3 family processors. GS/DS series VMs follow their parent series with the hard disk being solid state drives.There is an Azure Best Practice white paper that suggests to use a DS2 size for Standard Edition and DS3 size for Enterprise Edition.
For this test machine, I choose a DS2 size since I am not putting any real load on the system.

OS Settings - Configure Optional Features
The third screen lets you to modify storage, networking, monitoring and availability. Since we choose a DS series image, the storage type is defaulted to Solid State Drive (SSD) which can not be changed. Networking is an advanced topic that I will not get into right now. However, if you wanted to deploy a Share Point Farm that had three different sub-nets for web, batch and database servers, this is where you can make such changes.
For this image, we will leave the defaults. Two storage accounts are created by default. One for the virtual machine and one for monitoring. Monitoring is enabled by default. We will not define a availability group since we only have one SQL Server image. There is no redundancy in this deployment.

SQL Settings - Configure SQL Server Settings
The fourth screen prompts you for SQL Server settings. Again, we will take all the defaults for this deployment.
There are three different connectivity options.
Local - inside this virtual machine only. Private - inside the virtual network only. Public - accessible from the internet.By default, SQL Server listens to tabular data stream (TDS) requests on port 1433. You can change this to a port of your choosing for added security. SQL Authentication is disabled by default. If you enable this setting, a user name and password must be supplied. This account will be added to the system administrator group for the database server. Under the storage configuration option, you can optimize the disk storage for either transactional processing (64 KB) or data warehousing (256 KB). This effects the allocation unit size of the formatted virtual disks.
The next three options are related to automated patching , automated backups and azure key vault integration . Automating patching of SQL Server is enabled by default for newer versions of the database engine. The next two options are permanently disabled for the developer edition. For automated backups, a storage account must be supplied to retain the backups for a given period. In short, the backup agent implements managed backup just like the on premise version does. Thus, the transactional work load determines when backups occur. Last but not least, all encryption features in SQL Server require keys and integration