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)
- hitrov/oci-arm-host-capacity - PHP, ~1.2k stars, archived Aug 2024
- futchas/oracle-cloud-free-arm-instance - Bash, 32 stars, active
- Wait times: days to weeks on free tier, instant with PAYG
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.