Cloud Instance Recommender

Complete User Guide

🔶 AWS EC2 🔷 Azure VMs 🔴 GCP Compute ☁ Multi-Cloud
📅 July 2026 👥 IT Professionals · Cloud Architects · DevOps Engineers

🆕 What's New

🕘 Earlier Updates

📋 Table of Contents

📖 1. Introduction

Welcome to the Cloud Instance Recommender, a comprehensive browser-based tool designed to help organisations optimise their cloud infrastructure across AWS, Azure, and Google Cloud Platform. All processing happens entirely in your browser — no data is ever uploaded to an external server.

The Rule Engine UI builds on the underlying rule engine with five capabilities: interactive Rule Engine UI dropdowns that set global defaults without CSV changes, a Minimum Generation filter to exclude EOL instance families (e.g., AWS m5/r5), conflict detection that highlights contradicting filter combinations in red, a split AWS Pricing Calculator Bulk Template that generates separate files for Like-to-Like and Optimized recommendations, and a Min Gen CSV column for per-row generation control.

Benefit Description
📉 Right-sizing Identify over-provisioned VMs and recommend appropriately-sized replacements
⚙ Smart Scaling N/2, N, N+1 strategy with industry-standard 40 % / 80 % thresholds
🛡 Rule-based guardrails Production environments automatically block burstable, prev-gen, and undersized instances
🖥 OS Compatibility Windows workloads automatically exclude ARM/Graviton instances that cannot run them
☁ Multi-Cloud Side-by-side recommendations across AWS, Azure, and GCP in one run
📊 Audit trail "Rules Applied" output column explains every recommendation decision
🔒 Privacy-first 100 % client-side — your inventory data never leaves your browser

🌐 Supported Cloud Providers

Provider Regions Instance Families Notable Support
AWS EC2 35 regions t, m, c, r, x, z, p, g, i, d, trn, inf, mac, hpc… Graviton (ARM), Nitro Enclaves, Bulk Template export
Azure VMs 63 regions B, D, E, F, H, L, M, N, NC, ND, NV… ARM (Dpdsv5, Bpsv2), Burstable B-series detection
GCP Compute 47 regions E2, N2, N4, C2, C3, C4, M1–M4, A2, A3, G2, T2A, H3, Z3… T2A ARM, shared-core detection, zone normalisation

🚀 2. Getting Started

📋 System Requirements

Requirement Specification
Browser Chrome 80+, Firefox 75+, Edge 80+, Safari 13+
JavaScript Must be enabled
CSV file size Up to 10 MB (≈ 5,000–10,000 VMs)
Internet Required for the first visit; after that an offline cache keeps pages and previously used region data working without connectivity
Local storage Used for preferences only (usage statistics, theme, saved column mappings, filter presets); no inventory data stored

🌐 Accessing the Platform

The tool is hosted on GitHub Pages and requires no installation:

  1. Open your browser and navigate to the Cloud Instance Recommender URL.
  2. From the homepage, select your target: AWS, Azure, GCP, or Multi-Cloud.
  3. Each provider page loads independently with provider-specific filtering options.
Tip Instance data loads per region, on demand — pages open in moments and only the regions your inventory references are fetched. If you click Generate before the data finishes loading, the run is queued and starts automatically.

Installing as an app (optional)

The tool is a Progressive Web App. Use your browser's Install action (the install icon in the address bar, or Add to Home Screen on mobile) to run it as a standalone app. Installed or not, the site keeps working offline after the first visit — pages and any region data you've already used are served from a local cache, and updates are picked up automatically on your next online visit.

📊 3. Data Preparation

📋 Required Columns

Every CSV row must contain the following columns. Column names are auto-detected (case-insensitive, spaces/underscores normalised).

Column Name Description Example
VM Name Unique identifier for the virtual machine web-server-01
CPU Count Number of vCPUs currently allocated 4
Memory (GB) RAM in gigabytes currently allocated 16
AWS Region / Azure Region / GCP Region Target cloud region for recommendation (provider-specific column) us-east-1 / East US / us-central1-a
CPU Utilization Average CPU utilisation % — required for Optimized recommendations 45
Memory Utilization Average memory utilisation % — required for Optimized recommendations 60

⚙ Optional Columns

These five columns activate the Rule Engine. All are optional — blank cells use the safe defaults shown below. They can also be set globally via the Rule Engine UI dropdowns in the Advanced Filtering section (CSV per-row values always override the UI defaults).

Column Accepted Values Default What it activates
ENV Production, Prod, Staging, Stage, Dev, Test No rules Rules 1a, 1b, 1c, 1d — see Section 4
OS Linux, Windows, Windows Server, macOS Linux ARM/Graviton exclusion for Windows; mac1/mac2-only for macOS (AWS)
Workload General, Database, Web Server, Cache, ML/AI, Batch, HPC General Preferred instance families sorted first before cheapest selection
Compliance PCI, HIPAA, FIPS None Forces current-gen + Nitro Enclaves (AWS PCI/HIPAA)
Min Gen AWS 5, 6, 7
Azure 3, 4, 5 (v-number)
GCP n2, n2d, n4
No minimum Excludes instances older than the specified generation (e.g., AWS m5 is excluded when Min Gen = 6)
How rules are applied Rules are evaluated per-row — each VM in your CSV can have different ENV, OS, Workload, and Compliance values. A Rules Applied column in the output CSV documents exactly which rules fired for each VM.

📄 Sample CSV Structure

VM Name,App Name,CPU Count,Memory (GB),CPU Utilization,Memory Utilization,AWS Region,ENV,OS,Workload,Compliance,Min Gen
web-server-01,Storefront,4,16,45,60,us-east-1,Production,Linux,Web Server,,6
db-server-02,Billing,8,32,70,80,us-west-2,Production,Windows,Database,PCI,7
app-server-03,Billing,2,8,35,45,eu-west-1,Dev,Linux,General,,
cache-server-04,Storefront,4,16,25,30,us-east-1,Staging,Linux,Cache,,6
ml-server-05,Analytics,8,64,80,75,us-west-2,Production,Linux,ML/AI,HIPAA,7
Formatting rules Save files as UTF-8 CSV. Do not include currency symbols or % signs in numeric columns — the tool strips them automatically. Region names must match the exact format shown in the in-app sample template.

💡 Data Collection Tips

Provider Where to get utilisation data
AWS CloudWatch → EC2 → CPUUtilization metric (14–90 day average recommended). Cost Explorer for current instance types.
Azure Azure Monitor → Virtual Machines → Percentage CPU & Available Memory. Azure Advisor for existing recommendations.
GCP Cloud Monitoring → compute.googleapis.com/instance/cpu/utilization. Recommender API for existing rightsizing signals.

Collection best practices:

🛡 4. Environment & Workload Rules

The Rule Engine applies automatically when optional CSV columns are present. Rules narrow the candidate instance list before the cheapest-match selection runs — so every recommendation already satisfies your environment constraints.

⚡ Rule 1a — Burstable Exclusion
When: ENV = Production or Staging
Effect: Removes CPU-credit-based families

AWS t1, t2, t3, t3a, t4g
Azure B-series (bsv2, bsv3, bpsv2…)
GCP f1-micro, g1-small, e2 shared-core
🕐 Rule 1b — Generation & Compliance
When: ENV = Production OR Compliance set
Effect: Current-generation instances only

Additionally for AWS PCI/HIPAA:
Nitro Enclaves support required

Rationale: Prev-gen lacks modern security features
📏 Rule 1c — Minimum Size Floor
When: ENV = Production or Staging
Effect: Excludes undersized instances

AWS Excludes nano and micro sizes
Azure ≥ 2 vCPUs (Production)
GCP ≥ 2 vCPUs (Production)

Rationale: Headroom for monitoring agents and traffic spikes
🌐 Rule 1d — Network Preference
When: ENV = Production AND Workload = Database or Web Server
Effect: Prefers instances with ≥ 4 vCPUs

Rationale: Larger instance sizes map to higher network bandwidth tiers, critical for database replication and high-throughput web traffic
🖥 OS — Compatibility Rules
OS = Windows / Windows Server:
Excludes all ARM/Graviton instances (t4g, m6g, c6g, r6g on AWS; Dpdsv5, Bpsv2 on Azure; T2A on GCP)

OS = macOS AWS only:
Limits to mac1 and mac2 families
🎯 Workload — Family Preference
Sorts recommended families to the top before cheapest-selection runs. Falls back to cheapest overall if no preferred family has matching instances.

🔢 Min Generation Rule (MG)

The Min Generation rule excludes instances older than a specified hardware generation. This is useful when older generations are approaching end-of-life (e.g., AWS m5/r5 EOL) or when you have a policy requiring modern silicon.

Provider Column / UI value Excluded when set to... Included families
AWS 5, 6, 7 Min Gen = 6 → excludes m5, r5, c5, t3, and all earlier gens m6i, m6a, m7i, m7g, r6i, r7a, c6i, c7g…
Azure 3, 4, 5 (v-number) Min Gen = 4 → excludes Dsv3, Esv3 and older Dsv4, Dsv5, Esv4, Esv5, Fsv2…
GCP n2, n2d, n4 (family name) Min Gen = n2 → excludes N1, E2 shared-core, F1, G1 N2, N2D, C2, C2D, T2A, A2, G2, C3, N4, C4…
Multi-Cloud Min Gen On the Multi-Cloud page, Min Gen uses AWS generation numbers (5/6/7) as a unified reference. Azure values are mapped by subtracting 2 (AWS 6 → Azure v4), and GCP values are mapped to the corresponding generation tier.

🎯 Workload Family Mappings

Workload AWS Preferred Families Azure Preferred Series GCP Preferred Series
General m (General Purpose) D-series N2, E2
Database r, x, z (Memory-optimised) E-series, M-series M1, M2, M3, M4
Web Server m, c (General + Compute) D-series, F-series N2, E2, N4
Cache r, x (Memory-optimised) E-series, M-series M1, M2, M3
ML/AI p, g, trn, inf (GPU/Accelerated) NC, ND, NV series A2, A3, G2
Batch c, m (Compute-optimised) F-series, D-series C2, C2D, C3, C3D
HPC hpc, c HB, HC series H3, C2

📋 Rules Reference Summary

Rule Trigger Action Output tag
1a ENV = Production or Staging Remove burstable families 1a: Burstable excluded
1b ENV = Production or Compliance set Current-gen only 1b: Prev-gen excluded
1b-Nitro Compliance = PCI/HIPAA + AWS Nitro Enclaves required 1b: Nitro required (Compliance)
1c ENV = Production or Staging Size floor (no nano/micro) 1c: Size floor applied
1d ENV = Production + DB/Web Workload ≥ 4 vCPUs preferred 1d: Network-tier preference (≥4 vCPUs)
OS-Win OS = Windows Exclude ARM/Graviton OS: ARM excluded (Windows)
OS-Mac OS = macOS (AWS only) mac1/mac2 families only OS: mac1/mac2 only (macOS)
Workload Workload ≠ General Preferred families sorted first Workload: database preference
MG Min Gen set (CSV or UI) Exclude instances below specified generation MinGen: 6+
Fallback behaviour If a combination of rules eliminates all candidate instances (e.g., Production + PCI + very small CPU/memory requirement), the engine notes this in the Rules Applied column with a warning and falls back to the closest available instance. Check the Rules Applied column if you see unexpected recommendations.

📋 5. Step-by-Step Usage Guide

Step 1 — Choose Your Cloud Provider

Step 2 — Download and Prepare the Template

  1. Click Download Sample CSV on the provider page to get a template with the correct column headers.
  2. Replace the sample rows with your actual VM inventory. Include the optional ENV, OS, Workload, and Compliance columns where applicable.
  3. Save the file as UTF-8 CSV.

Step 3 — Upload Your CSV

  1. Drag and drop your CSV onto the upload zone, or click it to browse.
  2. The tool automatically validates the file, checks required columns, shows a data preview, and assigns a quality score (0–100 %).
  3. Review any warnings before proceeding — common issues include missing region columns or non-numeric CPU/memory values.
Quality Score Level Meaning
90–100 % ✅ Excellent Complete data, minimal issues
70–89 % 🟡 Good Some missing optional values
50–69 % 🟠 Fair Multiple data quality issues
< 50 % 🔴 Poor Significant missing or invalid data

Step 4 — Select Recommendation Type

Type What it does When to use Data needed
Like-to-Like Finds cheapest instance with ≥ current CPU and ≥ current memory Conservative migrations; guaranteed headroom CPU Count, Memory (GB), Region
Optimized Applies N/2, N, N+1 strategy to right-size based on actual utilisation Cost reduction; over-provisioned estate Above + CPU Utilization, Memory Utilization
Both Generates both columns per VM for comparison Decision-making; stakeholder reporting All columns

Step 5 — Configure Optimization Settings

(Only relevant for Optimized or Both recommendation types)

Optimization Mode

N/2, N, N+1 Thresholds (Industry-Standard Defaults)

Zone CPU / Memory Utilisation Action Rationale
Downsize (N÷2) 40 % Halve the target resource Avg below 40 % = significantly over-provisioned; AWS, Azure, and GCP advisors all flag this range
Keep Same (N) 40 % – 80 % Use current resource count Right-sized zone with adequate headroom for spikes
Upsize (N+1) > 80 % Add one unit of the resource SRE best practice: keep utilisation below 80 % to avoid saturation incidents
These defaults are editable The downsize and keep-max thresholds can be adjusted in the UI. For example, if you use P95 utilisation data (not averages), you may want to lower the downsize threshold to 30 %.

Step 6 — Configure Rule Engine & Advanced Filtering (Optional)

Expand the Advanced Filtering section to access both the Rule Engine UI controls and provider-specific filters.

Rule Engine Defaults

Five dropdowns let you set rule defaults for the entire batch without modifying your CSV. Per-row CSV column values always take priority over these UI defaults.

Dropdown Options Effect
Default Environment — / Production / Staging / Dev / Test Applies ENV rules to every row that has no ENV column value
Default OS — / Linux / Windows / macOS Applies OS compatibility rules globally
Default Workload — / General / Database / Web Server / Cache / ML/AI / Batch / HPC Sets family preference order for all rows
Default Compliance — / PCI / HIPAA / FIPS / SOC2 Enforces compliance-grade filtering globally
Minimum Generation AWS: Gen 5+ / 6+ / 7+ · Azure: v3+ / v4+ / v5+ · GCP: N2 / N2D / N4 Excludes instance families below the selected generation

Conflict Detection

When two selected options directly contradict each other, the conflicting dropdowns are highlighted in red with an explanatory warning. For example:

Resolve conflicts before generating recommendations — rules will still run but may produce unexpected results if contradictions are left in place.

Step 7 — Generate and Download Results

  1. Click 🔄 Generate Recommendations. A progress bar shows processing status for large files.
  2. Once complete, the download section updates based on what was generated.
  3. AWS page — both Like-to-Like and Optimized selected: three buttons appear:
    📥 Download Results CSV — all columns in one file
    🧾 Bulk Template (Like-to-Like) — AWS Pricing Calculator format, Like-to-Like instances only
    🧾 Bulk Template (Optimized) — AWS Pricing Calculator format, Optimized instances only
  4. AWS page — single type selected: Results CSV + one Bulk Template button.
  5. Azure / GCP pages: Results CSV only.

🎯 6. Understanding Recommendations

🔄 Like-to-Like Strategy

  1. The full instance catalogue for the specified region is loaded.
  2. All instances with vCPUs < required CPU or memory < required memory are removed.
  3. The Rule Engine applies ENV, OS, Workload, and Compliance filters.
  4. The cheapest remaining instance is returned (workload preferred families are sorted to the top first).

⚡ N/2, N, N+1 Optimization Strategy

  1. Calculate target CPU and memory from utilisation data using the 40 %/80 % thresholds.
  2. Run the same Like-to-Like process against the adjusted targets.
Scenario CPU Util Memory Util Target CPU Target Memory
Over-provisioned 25 % 30 % Current ÷ 2 Current ÷ 2
Right-sized 55 % 65 % Current (N) Current (N)
Under-provisioned 85 % 40 % Current + 1 Current (N)
Mixed 25 % 85 % Current ÷ 2 Current + 1

📊 7. Output Columns Explained

The downloaded CSV preserves all original input columns and appends recommendation columns for each selected provider.

Original Input Columns (preserved)

VM Name, CPU Count, Memory (GB), CPU Utilization, Memory Utilization, [Provider] Region, ENV, OS, Workload, Compliance — all returned unchanged.

Recommendation Columns (added per provider)

Column Description Example value
AWS Like-to-Like Instance Recommended EC2 instance type (like-for-like) m6i.xlarge
AWS Like-to-Like vCPUs vCPU count of the recommended instance 4
AWS Like-to-Like Memory (GiB) Memory of the recommended instance in GiB 16
AWS Optimized Instance Recommended EC2 instance type (optimised) m6i.large
AWS Optimized vCPUs vCPU count of the optimised instance 2
AWS Optimized Memory (GiB) Memory of the optimised instance in GiB 8
AWS Rules Applied Pipe-separated list of rules that fired for this row 1a: Burstable excluded | 1c: Size floor applied
AWS No Match Reason Why no instance was found (no-match rows only) CPU Count is 0 or missing
AWS Nearest Miss Closest instance that met the CPU/memory requirement, and which filter group(s) excluded it (no-match rows only) m7i.large (2 vCPU / 8 GB) — relax: current-generation only

The same pattern applies for Azure and GCP (replacing "AWS" with the provider name).

Why no pricing in the output? Cloud pricing changes frequently and varies with discounts, reserved instances, Savings Plans, and enterprise agreements. This tool uses pricing internally to rank candidates and find the cheapest match, but does not surface prices in the output CSV to avoid giving users stale or context-free figures. Always verify pricing in the official AWS/Azure/GCP pricing calculators before making commitments.

Status values for recommendation columns

Value Meaning
m6i.xlarge (etc.) Successful recommendation
Missing data Required input column (CPU, Memory, or Region) was blank
No utilization data Optimized type selected but CPU/Memory Utilization were 0 or blank
No data available No instance in the region catalogue met the requirements (after rules applied)
Error Unexpected processing error — check browser console for details

📥 8. Export Options

📄 Standard Results CSV

Available on all provider pages. Downloads a CSV containing all original input columns plus the recommendation columns described in Section 7. This file is ready for:

📗 Results Excel (.xlsx)

Next to the CSV, 📊 Download Results Excel writes the same rows and columns as a single-sheet workbook with a formatted header row, autofilter, fitted column widths, and numeric columns stored as real numbers — so sorting and filtering behave correctly in Excel with no import dialog or encoding step. The spreadsheet engine loads on first click; everything runs in the browser.

🧾 AWS Pricing Calculator Bulk Template AWS only

Available exclusively on the AWS page after recommendations are generated. Produces a CSV that exactly matches the column schema of the Amazon EC2 Instances worksheet in the AWS Pricing Calculator's Bulk Upload Template.

Column mapping

Bulk Template Column Populated from Default
Group ENV column value Default
Description VM Name
AWS Region AWS Region column
Operating System OS column (Windows → "Windows Server", else "Linux") Linux
Instance Type Like-to-Like or Optimized instance type (one per file)
Tenancy Fixed Shared Instances
Number of Instances Fixed 1
Usage Type Fixed Always On
Purchasing Options Fixed On-Demand
Storage columns Left blank for manual completion
One file per recommendation type When both Like-to-Like and Optimized are generated, two separate bulk template buttons appear — one for each type. Always import only one file per estimate so you don't double-count instances and inflate the pricing figure.

Path A — Bulk Import (recommended for large lists)

  1. Open AWS Pricing Calculator and click Create estimate.
  2. Click Bulk import (top-right corner of the estimate view).
  3. Select the correct service template (EC2 Instances).
  4. Click Download template, then replace its rows with the CSV downloaded from this tool (Like-to-Like or Optimized — not both).
  5. Upload the filled template, then click Save and add service or Save and view summary.

Path B — Manual EC2 configuration

  1. Open AWS Pricing Calculator and click Create estimate.
  2. Search for EC2 and click Configure.
  3. Set the region, OS, instance type, and quantity to match the recommended instances.
  4. Click Save and add service or Save and view summary.

Azure Pricing Calculator steps

  1. Open the Azure Pricing Calculator.
  2. Find Virtual Machines and click Add to estimate.
  3. Scroll down (or click View) to the configuration panel.
  4. Set the region, OS, tier, and instance size to match the recommended VM types, then save your estimate.

GCP Pricing Calculator steps

  1. Open the GCP Pricing Calculator.
  2. Click Add to estimate.
  3. Select Compute Engine.
  4. Configure the machine type, region, and quantity to match the recommended instances, then save.

📊 App Portfolio & Executive Excel

Include an App Name column in your inventory and the tool can present the whole estate grouped by application. After generating, an Open App Portfolio button appears in the download section on every provider page.

App → Workload mapping

If your file has App Name but no Workload column, a mapping panel lets you assign a workload to each application. Every VM in that application inherits the workload at generation time — a row's own Workload cell still takes precedence when present.

App Summary CSV

A per-application rollup — VM count, total vCPUs and memory, and matched vs no-match counts — downloadable from the same download section.

The App Portfolio page

Open App Portfolio hands the current results to a dedicated page in your browser (nothing is uploaded). It opens with:

Executive Excel workbook

The Download Executive Excel button builds a styled, multi-sheet .xlsx entirely in the browser:

No pricing, no upload As everywhere else in the tool, no pricing appears in any sheet, and the data is passed to the portfolio page in-browser — it never leaves your machine.

🔀 Comparing Two Runs (Scenario Comparison)

The download section includes a Scenario comparison bar for measuring what a configuration change actually does to the recommendations:

  1. Generate recommendations, then click 📌 Pin this run — it becomes scenario A.
  2. Change filters (or apply a different preset) and generate again.
  3. Pin the new run (scenario B) and click Compare A ↔ B.

The comparison shows how many VMs changed, the match rate A → B, newly matched and newly unmatched counts, and a table of only the changed rows with old → new values for each recommendation column. Rows are paired by VM Name (or by position when names aren't unique), so use the same input file for both runs. Pinning a third run keeps the two most recent; scenarios are held in memory and clear when the page reloads.

🔧 9. Advanced Filtering

The Advanced Filtering section contains two types of controls: the Rule Engine UI (global defaults for ENV/OS/Workload/Compliance/Min Gen) and provider-specific filters that narrow the instance candidate pool. Provider filters are applied first; the Rule Engine then runs on the already-filtered set.

⚙ Rule Engine UI Controls

Five dropdowns inside Advanced Filtering set rule defaults for the entire batch. These act as a fallback when a CSV row has no value in the corresponding column — per-row CSV values always override them.

Dropdown AWS options Azure options GCP options
Default Environment Production / Staging / Dev / Test (same across all providers)
Default OS Linux / Windows / macOS (same across all providers)
Default Workload General / Database / Web Server / Cache / ML/AI / Batch / HPC
Default Compliance PCI / HIPAA / FIPS / SOC2
Minimum Generation Gen 5+ / Gen 6+ / Gen 7+ v3+ / v4+ / v5+ N2 / N2D / N4

🚨 Conflict Detection

When a UI selection directly contradicts another filter, the conflicting control is highlighted with a red border and an inline warning message. Three conflict types are detected:

Conflict What triggers it Highlighted control
OS ↔ Processor OS = Windows AND all selected processor filters are ARM/Graviton-only Default OS dropdown
ENV/Compliance ↔ Families ENV = Production or Compliance set, AND main family filter includes only burstable types (t/B/e2) Default Environment or Default Compliance dropdown
Workload ↔ Processor Workload = ML/AI AND processor filter excludes all GPU/ARM options Default Workload dropdown
Conflicts are warnings, not blockers The tool will still generate recommendations when conflicts exist, but the results may not match your intent. Resolve the conflict before generating for best results.

🔶 AWS-Specific Filters

Filter Description
Current Generation Only Excludes previous-generation families (t2, m4, c4, r4, etc.). Recommended for all new deployments.
Instance Family Names Restrict to specific family categories: General Purpose, Compute Optimised, Memory Optimised, Storage Optimised, Accelerated Computing
Processor Manufacturer Intel, AMD, or AWS (Graviton/ARM). Note: selecting AWS Graviton and then setting OS = Windows via the CSV column will still exclude Graviton — OS rules always take priority.
Main Family Prefix Restrict by family prefix (t, m, c, r, x, z, p, g, i, d…)
Exclude Types Exclude individual type classes: Graviton/ARM, GPU, Mac instances, previous generation, Nitro-only

🔷 Azure-Specific Filters

Filter Description
VM Series Filter by series: B (burstable), D (general), E (memory), F (compute), H (HPC), L (storage), M (large memory), N (GPU)
Processor Architecture Intel x86-64, AMD EPYC, ARM (Ampere)
VM Families Filter by specific family strings (dv5, ev5, fsv2…)
Exclude Types Exclude ARM, GPU, or burstable categories

🔴 GCP-Specific Filters

Filter Description
Machine Families E2, N1, N2, N4, C2, C2D, C3, C3D, C4, M1, M2, M3, M4, A2, A3, G2, T2D, T2A, H3, Z3
CPU Platform Intel, AMD, ARM
Machine Type Prefix Filter by standard, highmem, highcpu, ultramem
Exclude Types Exclude ARM (T2A), GPU, or shared-core families

⭐ Filter Presets

The bar above the Generate Recommendations button saves the entire configuration under a name — recommendation type, optimization thresholds, the five Rule Engine defaults, every provider filter, and the exclude-type selections (plus the provider checkboxes on the Multi-Cloud page).

Presets are scoped to the page they were saved on (an AWS preset doesn't appear on Azure) and are stored in your browser's local storage — they never leave your machine unless you export them, and they survive reloads. Nothing is applied automatically: a preset takes effect only when you click Apply.

☁ 10. Multi-Cloud Comparison

The Multi-Cloud page processes a single CSV against all three providers simultaneously, producing side-by-side recommendations in one output file. This is useful for migration planning, vendor selection, and lock-in risk assessment.

CSV Format for Multi-Cloud

Include region columns for every provider you want to compare. Providers with a blank or missing region column are skipped for that row.

VM Name,App Name,CPU Count,Memory (GB),CPU Utilization,Memory Utilization,AWS Region,Azure Region,GCP Region,ENV,OS,Workload,Compliance,Min Gen
web-server-01,Storefront,4,16,45,60,us-east-1,East US,us-central1-a,Production,Linux,Web Server,,
db-server-02,Billing,8,32,70,80,us-west-2,West US 2,us-west1-b,Production,Windows,Database,PCI,

Regional Equivalents Reference

Geography AWS Region Azure Region GCP Region
US East us-east-1 East US us-east1-b
US West us-west-2 West US 2 us-west1-b
Europe West eu-west-1 North Europe europe-west1-c
Europe Central eu-central-1 Germany West Central europe-west3-a
Asia Pacific (SE) ap-southeast-1 Southeast Asia asia-southeast1-a
Asia Pacific (NE) ap-northeast-1 Japan East asia-northeast1-a

Interpreting Multi-Cloud Output

The output CSV contains recommendation columns for every selected provider in the same row, making it easy to filter in Excel or Google Sheets:

🔧 11. Troubleshooting

File Upload Problems

Problem Likely Cause Solution
"CSV parsing failed" Special characters, wrong encoding, or malformed CSV Save the file as UTF-8 CSV (not UTF-8 BOM). Remove characters like < > & from data values. Check for unescaped commas inside quoted fields.
"File too large" CSV exceeds 10 MB Split into smaller batches. Remove unused columns. Filter to the VMs you need recommendations for.
"Missing required columns" Column name mismatch Column names are matched case-insensitively and with space/underscore normalisation, but the exact words must be present. Download the sample CSV template and compare your headers.
"Invalid region name" Typo or wrong provider format AWS regions use hyphens: us-east-1. Azure uses display names: East US. GCP uses zone format: us-central1-a.

Recommendation Problems

Problem Cause Solution
"No data available" for all VMs Region not recognised, or filters eliminated every candidate Check the Region Check panel after upload — red chips mean the region isn't in the catalogue. If regions are green or amber (auto-resolved), read the Nearest Miss column: it names the closest candidate and the filter group to relax.
Recommendations seem too large Utilisation data is missing or zero — falling back to Like-to-Like Ensure CPU Utilization and Memory Utilization columns contain non-zero values when using Optimized mode.
No recommendation after ENV = Production Rule engine eliminated all candidates Check the Rules Applied and Nearest Miss columns — the latter names the closest candidate and which filter excluded it. Try relaxing the Advanced Filtering options. Ensure the region has current-generation instances (all major regions do).
Windows VMs getting ARM recommendations OS column is blank or misspelled Set the OS column to exactly Windows or Windows Server for affected rows.
Optimized same as Like-to-Like Utilisation in the 40–80 % "keep same" zone This is expected — the N/2,N,N+1 strategy keeps the same size when utilisation is in the right-sized band.

Browser / Performance Problems

Problem Solution
Generation waits after clicking the button Instance data loads per region on demand; if your CSV's regions are still downloading, the run is queued and starts automatically once they arrive — no action needed. On repeat visits the data is served from the offline cache.
Download button does nothing Check that your browser's pop-up blocker is not intercepting the download. Allow pop-ups for the site or use a different browser.
Processing hangs on large files Split files larger than 2,000 rows into batches. Close other browser tabs to free memory. Refresh the page (this also clears the loaded instance data — allow time to reload).
Results CSV opens as garbled text in Excel When opening a CSV in Excel, use Data → From Text/CSV and select UTF-8 encoding. Do not double-click the file directly.

✨ 12. Best Practices

📊 Data Collection

🚀 Recommendation Implementation

💰 Cost Strategy

🔒 Security & Compliance

❓ 13. Frequently Asked Questions

🌟 General

Q: Is my data secure?
A: Yes. All processing happens in your browser — your VM inventory never leaves your machine. The tool loads a static instance catalogue at start-up; there is no backend server receiving your data.

Q: Why doesn't the output include pricing?
A: Cloud pricing is not static — it changes with region, OS, discounts, Savings Plans, Reserved Instances, and enterprise agreements. Showing a price in the output would be misleading within weeks. This tool identifies the right instance type; use your provider's pricing calculator for accurate cost figures. The AWS Pricing Calculator Bulk Template export makes this workflow seamless for AWS.

Q: Can I use this tool offline?
A: Yes — after your first visit. A service worker caches the pages and any region data you've used, so those keep working without connectivity, and you can optionally install the site as an app from your browser. Regions you've never loaded still need one online visit. Updates are picked up automatically the next time you're online.

Q: Which file formats are supported?
A: CSV (UTF-8) and Excel .xlsx workbooks — the first sheet is used. Common header variants like vCPUs, RAM, or Hostname are mapped to the expected columns automatically.

Q: Can I save my filter configuration for next time?
A: Yes — use the ⭐ Filter presets bar above the Generate button to save the current configuration under a name and re-apply it later. Presets are per page and stored in your browser, and can be exported as a JSON file to move them to another browser or machine (see Section 9).

⚙ Technical

Q: Why does the tool recommend a different instance than our cloud provider's own advisor?
A: Provider advisors (AWS Trusted Advisor, Azure Advisor) typically look at longer time horizons (14–90 days) and use conservative thresholds. This tool applies your chosen utilisation window and thresholds. The recommendations can legitimately differ — treat both as data points rather than absolute answers.

Q: Why are the downsize thresholds set to 40 % instead of 50 %?
A: The 40 %/80 % thresholds align with the approach used by AWS Cost Optimisation, Azure Advisor, and GCP Recommender. At 40 %, there is still comfortable headroom for traffic spikes and OS/monitoring overhead. The old 50 % default was too aggressive for most production workloads. You can adjust both thresholds in the UI if your environment requires different values.

Q: I set ENV = Production but got a t3.large recommendation. Why?
A: Check the Rules Applied column — the rule engine reports exactly what happened. If "1a: Burstable excluded" is not listed, verify that the ENV column value is exactly Production (no extra spaces or different capitalisation).

Q: Can I use a mix of ENVs in the same CSV?
A: Yes — rules are applied per row. You can have Production, Staging, and Dev rows in the same file; each gets its own rule evaluation.

Q: What happens if no instance survives after all rules are applied?
A: The tool notes the failure in the Rules Applied column with a ⚠ warning and falls back to the best available instance from the pre-rules candidate set. This is a signal to either relax filters or review whether the requirements are achievable in that region.

💼 Business

Q: What typical savings can I expect?
A: Organisations commonly see 15–40 % reduction in compute spend from right-sizing alone, before applying Reserved Instances or Savings Plans. The actual figure depends heavily on how over-provisioned the original fleet is.

Q: How often should I re-run the tool?
A: Monthly for dynamic/seasonal workloads; quarterly for stable production workloads; immediately after any significant architectural change or traffic pattern shift.

Q: Can I share results with stakeholders who don't have access to the tool?
A: Yes — the downloaded CSV can be opened in Excel or Google Sheets. The "Rules Applied" column provides plain-English audit notes explaining every recommendation, making it straightforward to present to non-technical stakeholders.

Q: Is the AWS Pricing Calculator Bulk Template ready to import immediately?
A: It populates all required columns with On-Demand, Always On, Shared Instances defaults. You will need to manually add storage details (EBS volume type, size, IOPS) in the calculator after import if required for your estimate.

🎯 14. Conclusion

The Cloud Instance Recommender gives you a fast, privacy-first starting point for cloud rightsizing at any scale — from a handful of VMs to thousands. By combining flexible like-to-like and optimised recommendation modes with a configurable rule engine, it produces recommendations that are not just cheap, but appropriate for the environment, OS, workload type, and compliance posture of each individual VM.

Key things to remember:

Happy Optimising! Cloud right-sizing is an ongoing discipline, not a one-time exercise. Build it into your regular operational cadence and it will continue to compound savings over time.