Compare custom images and formulas in DevTest Labs
2 minutes to read
Both custom images and formulas can be used as bases for creating new lab virtual machines (VMs). The key distinction between custom images and formulas is that a custom image is simply an image based on a virtual hard drive (VHD). A formula is
an image based on a VHD plus preconfigured settings. Preconfigured settings can include VM size, virtual network, subnet, and artifacts. These preconfigured settings are set up with default values that you can override at the time of VM creation.
Custom images provide a static, immutable way to create VMs from the environment you want.
VM provisioning from a custom image is fast, as nothing changes after the VM is spun up from the image. In other words, there are no settings to apply, as the custom image is just an image without settings.
VMs created from a single custom image are identical.
If you need to update some aspect of the custom image, you must recreate the image.
Formulas provide a dynamic way to create VMs from the configuration and settings you want.
Changes in the environment can be captured on the fly via artifacts. For example, if you want a VM installed with the latest bits from your release pipeline or to enlist the latest code from your repository, use a formula. The formula can specify an artifact that deploys the latest bits or enlists the latest code, together with the target base image. Whenever this formula is used to create VMs, the latest bits or code are deployed or enlisted to the VM.
Formulas can define default settings that custom images can't provide, such as VM sizes and virtual network settings.
The settings saved in a formula are shown as default values, but can be modified when the VM is created.
Creating a VM from a formula can take more time than creating a VM from a custom image.