
August 28, 2026
13 min read
Table of Contents
By Kokil Thapa | Last reviewed: August 2026
You want real cloud infrastructure to practice on—not toy sandboxes that expire after twelve months—but your budget is closer to a Kathmandu café bill than an AWS enterprise invoice. Oracle Cloud Free Tier for Learning fills that gap with genuinely always-free compute, databases, and storage that stay active as long as your account remains in good standing. If you have already worked through a home lab DevOps project list, OCI is the next logical step: you get ARM Ampere instances with enough RAM to run Docker, Kubernetes, or a full Laravel stack without paying a rupee. This guide covers what you actually receive, how to sign up without account rejection, practical learning projects, and the billing traps that catch beginners.
What is included in Oracle Cloud Free Tier for Learning?
Oracle splits its free offering into two layers, and confusing them is the first mistake new learners make. The trial gives new accounts $300 in cloud credits valid for 30 days. You can spin up larger shapes, test GPU instances, or experiment with paid services during that window. The Always Free tier is separate: those resources remain available indefinitely, even after the trial ends, as long as you stay within the published limits and keep the account active.
For a developer learning infrastructure, the Always Free compute allocation is the headline feature. You receive two VM.Standard.E2.1.Micro instances (AMD, 1/8 OCPU, 1 GB RAM each) plus Ampere A1 Flex capacity totalling up to 4 OCPUs and 24 GB memory across one or more instances. That ARM allocation alone exceeds what AWS, Azure, or Google Cloud offer for free—and it is enough to run a modest production-like environment: Nginx, PHP 8.3, MySQL 8, Redis 7, and a Laravel 12 application with room to spare.
Beyond compute, the Always Free tier includes resources that map directly to skills employers expect:
- Autonomous Database: two Always Free instances (Oracle ATP and ADW, or MySQL HeatWave)—useful for SQL tuning, backup drills, and comparing managed Oracle vs self-hosted MySQL 8.
- Block storage: 200 GB total across boot and attached volumes.
- Object storage: 20 GB standard tier—enough for static assets, backup archives, or Terraform state files stored remotely.
- Load balancer: one flexible load balancer at 10 Mbps—sufficient for learning blue-green deployment patterns.
- Networking: one VCN, multiple subnets, security lists, and a small pool of public IPv4 addresses.
- Observability: monitoring and notifications within Always Free limits.
All Always Free resources deploy in your home region—the region you select at signup. Pick carefully. For learners in Nepal, ap-sydney-1 or ap-mumbai-1 typically offer the lowest latency, though Mumbai capacity for Ampere instances occasionally runs tight. Check availability before committing.
How do you sign up for Oracle Cloud Free Tier without getting blocked?
Account rejection is common, and Oracle's fraud-prevention system is aggressive. A pattern I have seen repeatedly among developers in Kathmandu: signup succeeds on a mobile hotspot but fails on a residential ISP block, or vice versa. Treat signup as a production deployment—prepare before you click.
Pre-signup checklist
- Use a personal email you control long-term (Gmail, Outlook—not a disposable address).
- Have a valid credit or debit card with international online payments enabled. Oracle runs a temporary $1 authorisation; prepaid cards often fail.
- Match your account name, billing address, and cardholder name exactly.
- Choose your home region before creating resources—you cannot migrate Always Free workloads later.
- Disable VPN during signup unless you consistently use the same exit country as your billing address.
Post-signup first steps
Once inside the OCI Console, work in this order:
- Enable multi-factor authentication on your root or admin account immediately.
- Create a compartment named
learning-labrather than building in the root compartment. - Create a dedicated IAM user for daily CLI and Console work; do not use the tenancy administrator for routine tasks.
- Set a billing budget alert at $1—even on Always Free—to catch accidental paid resource creation early.
- Install the OCI CLI on your local Ubuntu or macOS machine:
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
oci setup config
oci iam region list --output table Generate an API key pair under your IAM user, upload the public key in the Console, and store the private key with restrictive permissions (chmod 600). You will need tenancy OCID, user OCID, fingerprint, and region in your ~/.oci/config file. If you already manage servers locally, the workflow mirrors SSH key setup described in guides like Ubuntu server setup for PHP applications—generate keys locally, upload the public half, protect the private half.
What are the best Oracle Cloud Free Tier projects for developers?
The free tier rewards structured learning. Randomly clicking "Create Instance" teaches the Console, not cloud engineering. Pick a project with a defined outcome and a teardown plan.
Project 1: Two-tier Laravel staging environment
Split your Ampere allocation across two instances: one for the web tier (Nginx + PHP 8.3 + Laravel 12), one for data (MySQL 8.4 or PostgreSQL 17 + Redis 7). This mirrors real client architectures I deploy on VPS infrastructure—application and database separated by private subnet rules. Practice security list configuration, SSH hardening, and server security hardening patterns you would apply on any production host.
Project 2: Kubernetes with OKE
Oracle Container Engine for Kubernetes (OKE) has an Always Free cluster option on Ampere worker nodes. Deploy a sample app, expose it through the free load balancer, and practice rolling updates. If you have already launched a single VM on AWS, the conceptual jump from EC2 for beginners to managed Kubernetes is easier when you are not paying hourly cluster fees elsewhere.
Project 3: Infrastructure as Code with Terraform
Define your VCN, subnets, compute instances, and security lists in Terraform using the Oracle provider. Store state in the free object storage bucket. This teaches idempotent provisioning—a skill that transfers directly to AWS, Azure, and GCP. A solid companion read is the Terraform infrastructure-as-code practical guide on this site; swap the AWS provider block for hashicorp/oci and the same mental model applies.
Project 4: Autonomous Database comparison lab
Provision one Always Free Autonomous Transaction Processing instance and one MySQL HeatWave instance. Import the same sample schema into both. Compare connection methods, backup behaviour, and query performance. For PHP developers, this clarifies when managed database services justify their operational overhead versus self-managed MySQL on a compute instance.
Project 5: Object storage and static site hosting
Upload a static portfolio or documentation site to an object storage bucket, enable public read on specific prefixes, and front it with the free load balancer or a custom domain via DNS. Total cost: zero. You learn IAM policies, bucket lifecycle rules, and CDN-adjacent patterns without touching a compute instance.
How does Oracle Cloud Free Tier compare to AWS, Azure, and GCP free tiers?
Every hyperscaler advertises "free," but the terms differ sharply. Oracle's Always Free compute—especially the Ampere ARM allocation—is the outlier in raw capacity. AWS and Google Cloud free tiers are largely time-limited (12 months) for compute, with smaller permanent free quotas afterward. Azure offers limited always-free services but nothing comparable to 4 OCPUs and 24 GB RAM.
| Provider | Always-free compute | Trial credits | Best for learning | Common gotcha |
|---|---|---|---|---|
| Oracle Cloud | 2 AMD micro VMs + 4 OCPU / 24 GB ARM; 2 Autonomous DBs | $300 for 30 days | Long-running labs, ARM workloads, managed DB practice | Home region locked; Ampere capacity varies by region |
| AWS | 750 hrs/mo t2/t3.micro for 12 months only; then minimal | Free tier tied to 12-month account age | Broadest service catalog, industry certification paths | Accidental charges after 12 months; elastic IP fees |
| Azure | 750 hrs B1s for 12 months; limited permanent services | $200 for 30 days (new accounts) | .NET ecosystem, Azure DevOps integration | Complex pricing calculator; region-specific limits |
| Google Cloud | e2-micro always free (1 per region, select regions) | $300 for 90 days | GKE experimentation, BigQuery analytics | Always-free e2-micro is very small (0.25 vCPU, 1 GB) |
For a Nepali developer learning on a budget—where Rs 2,000/month (~USD 15) for a VPS already feels significant—Oracle's Always Free tier removes the ticking clock that makes AWS free tier anxiety so common. The trade-off is a smaller third-party ecosystem: fewer Stack Overflow answers, fewer Nepal-specific tutorials, and occasional capacity shortages on Ampere in popular regions. You are trading community volume for hardware generosity.
How do you avoid unexpected charges on Oracle Cloud while learning?
Always Free does not mean "everything is free." It means specific resource shapes in your home region stay free. Step outside those boundaries—even accidentally—and Oracle bills against your card. I have seen developers get charged for outbound data beyond free limits, block storage over 200 GB, or paid shapes left running after the trial window.
Resources that commonly trigger charges
- Paid compute shapes: launching
VM.Standard.E4.Flexor x86 Flex instances without confirming Always Free eligibility. - Extra public IPv4 addresses: reserved IPs attached to stopped instances still count.
- Block volume over 200 GB: expanding boot volumes beyond the Always Free cap.
- Outbound data transfer: 10 TB/month is generous, but heavy video streaming or open proxy misconfiguration can approach limits on busy labs.
- Post-trial paid resources: anything created with trial credits that is not an Always Free shape will bill once credits expire.
Cost-protection habits
- Create a $1 budget with email notification in Governance → Budgets.
- Tag every resource with
project=learningand review the cost analysis dashboard weekly. - Before day 30 of the trial, audit all running resources and terminate anything not on the Always Free resources list published by Oracle.
- Use the OCI CLI to list running instances across compartments:
oci compute instance list --compartment-id ocid1.compartment.oc1..aaaa...
--lifecycle-state RUNNING --output table
oci compute instance list-vnics --instance-id ocid1.instance.oc1..aaaa...
--query "data[].{\"PublicIP\":\"public-ip\"}" Stop instances you are not actively using. Always Free covers stopped instance reservations, but attached block storage and reserved public IPs still consume quota—and misconfigured restart policies can leave paid shapes running overnight.
How do you deploy a Laravel application on Oracle Cloud Free Tier?
This walkthrough assumes one Ampere A1 Flex instance with 2 OCPUs and 12 GB RAM—leaving half your ARM quota for a database server or a second project. Ubuntu 24.04 LTS is the sensible base image.
Step 1: Launch and secure the instance
In the Console, create a VM using shape VM.Standard.A1.Flex with Ubuntu 24.04. Assign a public IP. Open ports 22, 80, and 443 in the security list—not the entire Internet on port 22 if you can restrict to your current IP. SSH in and run baseline hardening: create a non-root user, install fail2ban, enable UFW allowing only required ports.
Step 2: Install the LEMP stack
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx mysql-server redis-server \
php8.3-fpm php8.3-mysql php8.3-redis php8.3-xml \
php8.3-mbstring php8.3-curl php8.3-zip php8.3-gd unzip git
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer Step 3: Deploy Laravel 12
cd /var/www
sudo git clone https://github.com/your-org/your-app.git myapp
cd myapp
composer install --no-dev --optimize-autoloader
cp .env.example .env
php artisan key:generate
sudo mysql -e "CREATE DATABASE myapp;
CREATE USER 'myapp'@'localhost' IDENTIFIED BY 'strong-password';
GRANT ALL ON myapp.* TO 'myapp'@'localhost';"
php artisan migrate --force
php artisan config:cache && php artisan route:cache Point Nginx at /var/www/myapp/public, set PHP-FPM to socket pass, and issue a Let's Encrypt certificate with Certbot—the same workflow I use on client VPS deployments. For queue workers, add a systemd unit running php artisan queue:work. On 12 GB RAM you can run Horizon if Redis is local.
Step 4: Automate with Git-based deploys
Once the manual deploy works, add a GitLab CI or GitHub Actions pipeline that SSHes into the instance and pulls updates—mirroring the Deployer 7 workflows I run on production Laravel sites. Keep environment secrets in the OCI Vault free tier rather than plaintext in the repo. This single project teaches compute, networking, Linux administration, PHP deployment, and CI/CD without spending anything beyond your internet connection.
Ready to start your Oracle Cloud Free Tier for Learning lab?
Oracle Cloud Free Tier for Learning is the most hardware-generous free cloud platform available in 2026, and it rewards developers who treat it like a real production environment—compartments, IAM users, budget alerts, tagged resources, and documented teardown procedures. Sign up with accurate billing details, pick a nearby home region, build one structured project (Laravel stack, OKE cluster, or Terraform lab), and audit your resources before the 30-day trial ends. The Always Free Ampere instances will still be there tomorrow, next month, and next year—giving you a permanent place to test deployments, study for OCI certification, or prototype client infrastructure before committing paid cloud budget.
If you want help designing a production-grade cloud architecture—or migrating a Laravel application from free-tier experiments to paid infrastructure with proper CI/CD—get in touch through the contact page. For broader cloud career context in Nepal, see the cloud computing salaries comparison for Nepal and keep building.

