Virtual Machines#

A virtual machine (VM) is a computer you rent from a cloud provider and use over the internet. It works like a computer at your desk: you choose its processor, memory, storage, and operating system, install the software you need, and control who can access it. Unlike a computer you buy, you can resize a VM when your work needs change and turn it off when you are not using it.

Consider a cloud VM when your research needs any of the following and Northwestern-provided services, such as Quest cannot meet them:

  • More power than your laptop: Run analyses or simulations that need more memory or processing than your own computer has.

  • A custom software environment: Install specific software, versions, or operating systems that you control.

  • An always-on system: Host a database, web application, or service that needs to stay available.

Instance Types#

Each provider offers VM types, also called instances or machine types, organized into families by workload. General-purpose instances suit most standard workloads, while GPU-enabled and high-performance instances suit specialized tasks such as deep learning or large-scale simulation. Compare pricing across families using your provider’s pricing calculator before selecting an instance type. Refer to each provider’s documentation for current options:

Common instance families across all providers include general purpose, compute-optimized, memory-optimized, GPU-enabled, and storage or network-optimized.

VM Storage#

Every virtual machine (VM) comes with a boot disk that holds its operating system and a small amount of free space. For most research projects, that space is not enough for the data the VM works with. To add more you will need to attach additional storage.

Getting Additional Storage for VMs#

To add space, you can attach virtual disks to your VM. Cloud providers call this block storage. An attached disk behaves like a local hard drive: the VM reads and writes to it directly, with fast, low-latency access. Keeping your data on a separate disk from the boot disk.

Consider adding block storage to your VM when your project:

  • Needs more space than the boot disk provides for datasets, software, or results

  • Runs a database or application that reads and writes data continuously

  • Requires a dedicated scratch disk for simulations or intermediate processing files

Block storage is billed separately from the VM, based on the size of the disk you create and its disk type. You pay for the full size of the disk, not just the space your data uses. A disk keeps generating charges while its VM is stopped. Deleting a VM does not always delete its attached disks, so after you delete a VM, check for leftover disks and delete any you no longer need. See Deprovision unused resources for guidance on avoiding this.

Each provider offers its own block storage service:

  • AWS: Amazon EBS — General Purpose SSD (gp3) is the recommended default for most workloads; higher-performance and lower-cost tiers are also available

  • Azure: Managed Disks — available in Standard HDD, Standard SSD, and higher-performance tiers

  • GCP: Persistent Disk — Hyperdisk Balanced is the current default boot disk type for most workloads

Payment Models#

Virtual machines use two different billing models:

  • On-Demand: Billed for the time an instance is running, with no upfront commitment. You are charged while it is powered on, whether or not it is doing any work.

  • Reserved Instances: Commit to specific resources over one or three years in exchange for a significant discount.

Northwestern’s institutional discounts (see Provider Discounts) apply on top of either pricing model.

Model

Best For

Pros

Cons

On-Demand

Short-term projects, experimentation, or variable workloads

Maximum flexibility

Higher long-term costs compared to reserved options

Reserved Instances

Stable, long-term workloads with predictable usage

Up to 70% savings over on-demand pricing

Costs apply even if resources go unused

If you are new to cloud, start with on-demand pricing to understand your cost profile before making a long-term commitment.

Grant-Funded Research and Reserved Instances

Reserved instances involve a binding multi-year financial commitment. If your project is tied to a grant with a fixed end date, the commitment may outlast your funding. Consult with your department’s financial administrator and request a Research Cloud Consult before committing to reserved pricing.

Cost Calculator#

Each provider offers a pricing calculator to estimate virtual machine costs before you deploy. The following example configures a general-purpose instance at on-demand pricing. Set each field to the value shown; leave any field not listed at its default.

  1. Go to the AWS Pricing Calculator , click Create estimate, then search for and select Amazon EC2.

  2. Set the following fields:

    Field

    Value

    Choose a Region

    US East (Ohio)

    Tenancy

    Shared Instances

    Operating system

    Linux (unless your analysis software requires Windows)

    Workloads

    Constant usage (if the instance will run continuously)

    Instance type

    c5.xlarge (4 vCPU, 8 GB RAM), or search for the type you need

  3. Optional: to include attached block storage, expand Amazon Elastic Block Store (EBS) - optional and set the Storage amount (GB). General Purpose SSD (gp3) is the default volume type and fits most workloads.

  4. Under Payment options, select On-Demand and enter your expected usage.

  5. Click Save and view summary to review your estimate.

  1. Go to the Azure Pricing Calculator , find Virtual Machines under Products, and click Add to estimate.

  2. Set the following fields:

    Field

    Value

    Region

    North Central US

    Operating system

    Linux (unless your analysis software requires Windows)

    Category

    General purpose

    Instance Series

    D2 v3 (2 vCPU, 8 GB RAM), or select the size you need

  3. Optional: to include attached block storage, expand Managed Disks and set the Disk Size (for example, S6: 64 GiB) and number of Disks.

  4. Under Savings Options, select Pay as you go and enter your expected usage in hours, days, or a full month.

  5. Review your estimate in the Your Estimate panel.

  1. Go to the Google Cloud Pricing Calculator , click Add to estimate, and select Compute Engine.

  2. Set the following fields:

    Field

    Value

    Region

    Iowa (us-central1)

    Machine Family

    General Purpose

    Machine type

    n4-standard-2 (2 vCPU, 8 GB RAM), or select the size you need

    Provisioning Model

    Regular (for on-demand pricing)

  3. Optional: to include more storage, increase the Boot disk size (GiB) under the machine configuration. The calculator estimates a single disk per instance, even though Compute Engine supports attaching multiple persistent disks in practice.

  4. Under Instances configuration, enter your expected total instance usage time in hours per month.

  5. Review your estimated cost in the Cost details panel.

Round your estimate up and account for growth over your project’s timeline. If your estimate seems unexpectedly high or you are unsure how to configure it, request a Research Cloud Consult .