BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Imagine a virtual computer store where you can buy virtual servers, and configure those servers any way you want. Now, how about doing that in less than the blink of an eye? The public cloud can provide this feature today, from off-the-shelf machines -- called standard instances -- as well as custom instances.
All public cloud providers offer standard cloud instance types, including Amazon Web Services (AWS), Microsoft Azure and Google. However, standard instances won't work for all enterprise needs. Organizations, instead, can create custom instance types for workloads that aren't suited for a standard public cloud instance.
For example, an enterprise might have an application that is CPU-, but not memory- or storage-intensive. It would be a waste of money to use a standard instance with more memory and storage than required. A custom instance, with fewer storage and memory resources, could be used instead.
The advantage of customizing a cloud instance, versus just using a standard one, is that it can save organizations from having to pay for unnecessary cloud resources.
Google Compute Engine, for instance, offers an n1-standard-8 instance type, but some users might only need an instance with six vCPUs, not eight. To solve this problem, admins can create a custom cloud instance with six vCPUs, and configure it with the exact amount of memory needed.
An Amazon Machine Image (AMI) provides the information required to launch instances in the AWS cloud. Custom instances in AWS are customized AMIs that you can build or buy from a third party. A customized AMI creates a template for a cloud instance, which you use any time you need to spin up a custom server. Similar to Google, custom instances in AWS give you exactly the resources you need -- and eliminate excess capacity.
To create a custom virtual machine in Microsoft Azure, admins need to use the Form Gallery option. This provides more configuration options than the Quick Create feature, which only launches standard machine instances.
Regardless of your cloud provider, the key to using a custom cloud instance is to understand the workloads you run. When estimating the resources you need, try to be as precise as possible. If the estimation is too high, you'll spend extra money for resources that will go unused; if the estimation is too low, you could negatively affect application performance.
The rise of infrastructure as code
An entirely new paradigm could emerge, in the form of dynamic instances, or instances that can change on the fly. Organizations can create dynamic instances -- an approach called infrastructure as code -- and reconfigure them to meet the needs of an application. To determine if dynamic configurations are valuable for your enterprise, determine how your cloud provider bills for usage. Unless your provider bills to the second, dynamic machines may not provide long-term value. In most current situations, custom instances are a better approach.
Save money by turning off unused AWS EC2 instances
Discover ways to control spending in public cloud
Update EC2 instance types to improve performance