Context: Researching free/cheap VM and app deployment options

Oracle Cloud Free Tier Setup

Signed up for Oracle Cloud Always Free tier in US-Ashburn region. Attempted to provision a VM.Standard.A1.Flex instance (4 OCPU / 24GB RAM ARM) but hit “Out of capacity” across all 3 availability domains.

Key Decisions Made

  • Home region: US-Ashburn (permanent, cannot be changed)
  • Shape: VM.Standard.A1.Flex (ARM Ampere)
  • Target config: 4 OCPUs, 24GB RAM
  • Enabled IMDSv2 (more secure, prevents SSRF attacks on metadata endpoint)
  • On-demand capacity type (not preemptible/dedicated)
  • Created new VCN and public subnet with defaults
  • Using existing SSH key (not Oracle-generated)

Gotchas Learned

  • Home region is permanent - choose carefully based on ARM capacity
  • Idle reclamation - Oracle stops instances if CPU <20% (95th percentile) over 7 days, or memory <10% for ARM
  • Account inactivity - 30 days no login = suspension, another 30 = permanent deletion
  • Port 25 blocked - need support request for outbound email
  • Storage deleted at trial end - if over 20GB object storage limit
  • Limited to 2 VCNs
  • No downgrade from PAYG once upgraded

Upgrading to PAYG (Next Step)

The consensus fix for capacity issues. Benefits:

  • Idle instances no longer reclaimed
  • “Out of Capacity” errors become rare (often instant provisioning)
  • Still $0 for Always Free resources
  • Set up budget alerts as a safety net

Auto-Retry Tools (If Staying Free Tier)

Other Free/Cheap Options Explored

  • Free VMs: Oracle (best), GCP e2-micro, AWS t2.micro (12mo), Azure B1s (12mo)
  • Cheap VMs: Hetzner (2/mo), Vultr/DO/Linode
  • Free PaaS: Fly.io, Railway, Render, Cloudflare Workers, Vercel, Netlify
  • Free GPU: Google Colab, Kaggle (30hr/wk T4), Lightning.ai (22hr/mo)
  • Cheap GPU: Vast.ai, RunPod ($0.15-0.40/hr)

Status

Blocked on ARM capacity in US-Ashburn. Next step: upgrade to PAYG and retry instance creation.