Virtual Machines
Virtual machine instances for running general-purpose workloads in the cloud.
What each cloud calls it
US hyperscalers
- AWSUSEC2
- AzureUSVirtual Machines
- GCPUSCompute Engine
European clouds
- ScalewayFRInstances
- OVHcloudFRPublic Cloud Instances
- StackITDECompute Engine
- IONOSDECompute Engine
- HetznerDECloud Servers
Features
- Shared and dedicated vCPU instances are available on every provider in the table. The main differentiator is burst behaviour: AWS T-family instances accrue CPU credits, while OVHcloud B3 and Scaleway PLAY2/PRO2 run at fixed performance. Workloads that depend on credit accumulation to absorb spikes need a baseline-versus-burst review before resizing.
- ARM64 instances are now common. Graviton on AWS, Cobalt on Azure, Axion on GCP, and Ampere-based options on Scaleway and OVHcloud all run mainstream Linux distros at a noticeable price-per-core advantage. STACKIT, IONOS, and Hetzner remain x86-only at the time of writing.
- Block storage tiers vary. AWS gp3 and Azure Premium SSD offer contracted IOPS; European providers expose tiered SSD without strict IOPS contracts. For IO-sensitive workloads such as databases on raw volumes or queue consumers, benchmark before committing.
- GPU instances are available from AWS, Azure, GCP, OVHcloud, Scaleway, and IONOS. STACKIT and Hetzner have limited or no GPU offerings as of mid-2026.
- VM snapshots, custom images, and instance metadata services exist everywhere, but image formats are not portable across providers. See Migration considerations for the rebuild path.
Pricing
- Per-hour billing is the norm everywhere. Scaleway and OVHcloud also bill some instance families per-minute, which matters for CI runners and short-lived workloads.
- Reserved-capacity discounts exist on every provider but are noticeably less generous than AWS Savings Plans. Plan for the difference when modelling steady-state cost; the gap can swing the comparison either way depending on commitment length.
- Spot or preemptible equivalents are limited on the European side. Scaleway offers Stardust instances at very low cost with availability trade-offs. OVHcloud, STACKIT, IONOS, and Hetzner lean on bare-metal economics rather than spot pricing.
- Egress to the public internet is structurally cheaper on European providers, sometimes by an order of magnitude. Cross-instance traffic within a region is free on Scaleway, OVHcloud, and Hetzner. Architectures that minimised egress to avoid AWS bills can be simplified.
Tooling and ecosystem
- Terraform and OpenTofu providers exist for every cloud in the table. The AWS and Azure providers are the most feature-complete; OVHcloud, Scaleway, STACKIT, and Hetzner providers cover day-to-day operations but lag on newer service surfaces. Pulumi support follows the same pattern via the Terraform bridge.
- Cloud-init is supported on every provider. Migrating user-data scripts from AWS to OVHcloud or Scaleway is usually a paste-and-test exercise rather than a rewrite.
- Packer works cross-provider through provider-specific builder plugins. The Scaleway and OVHcloud plugins are actively maintained; the Hetzner plugin is community-driven and adequate for most CI pipelines.
- Ansible roles for VM provisioning are provider-agnostic for the OS layer. The cloud-side wiring (security groups, network attachment, image selection) is where provider-specific modules come in. The official Hetzner and Scaleway collections cover the basics.
- If your VM workload is wrapped in Kubernetes, provider lock-in at the VM layer matters far less. The Managed Kubernetes page is the more relevant comparison in that case.
Compliance
- Region selection determines compliance posture. Frankfurt, Paris, Amsterdam, and Stockholm regions on AWS, Azure, and GCP carry ISO 27001 and SOC 2, and data residency contracts are available with enterprise agreements. Data still flows to US-based control planes for some operations, which is why "sovereign" claims for US clouds remain contested.
- European providers carry the same ISO 27001 and SOC 2 baselines and often add European-specific certifications: SecNumCloud (Scaleway, OVHcloud), BSI C5 (STACKIT, IONOS, Hetzner), and HDS for healthcare workloads (Scaleway, OVHcloud).
- Encryption at rest is on-by-default on every provider for managed block storage. Bring-your-own-key options vary: Scaleway, OVHcloud, and STACKIT expose KMS integration at the volume level; Hetzner relies on tenant-side encryption (LUKS or equivalent) for sensitive volumes.
- Audit logs for VM lifecycle events are available on every provider with managed retention windows of 30 to 90 days. Long-term retention typically requires shipping logs to your own storage.
Migration considerations
- Image format and bootloader. AWS AMIs, Azure VHDs, and GCP images are not portable. European providers run OpenStack (OVHcloud, IONOS) or KVM (Scaleway, STACKIT, Hetzner), so plan to rebuild images from your configuration management. Ansible, Packer, or a clean cloud-init recipe will move faster than trying to lift an AMI across providers.
- Instance shapes do not map cleanly. Burstable AWS T-series workloads that rely on CPU credit accumulation behave differently on the fixed-performance instances offered by European providers. Re-size based on baseline plus headroom, not on naive instance-class equivalence.
- Region and availability zone count. AWS offers many AZs per region; most European providers offer one to three. Multi-AZ architectures often need to be redesigned around multi-region patterns instead.
- Network architecture relaxation. Designs that minimised cross-AZ traffic to control AWS bills can be simplified on European providers where intra-region traffic is free. Decide whether the original pattern was driven by cost or by genuine application requirements before keeping it.
Further reading
Want to see how this maps to your full stack? Back to the full comparison table.