Cloud Migration: From OVH VPS to Oracle Cloud Infrastructure Free Tier

Specialising in Cloud Architecture and Application Modernisation, Saha Merlin is a Cloud Solutions Architect and DevSecOps Specialist who helps organizations build scalable, secure, and sustainable infrastructure. With six years of specialized experience in highly regulated industries—split equally between insurance and finance—he brings deep understanding of compliance requirements and industry-specific challenges to his technical implementations. His expertise spans various deployment models including Container-as-a-Service (CaaS), Infrastructure-as-a-Service (IaaS), and serverless platforms that drive business outcomes through technical excellence. He strategically implements open source technologies, particularly when SaaS solutions fall short or when greater control and autonomy are essential to meeting business requirements. Saha integrates DevSecOps practices, Green IT principles to minimize environmental impact, and Generative AI to accelerate innovation. With a solid foundation in Software Engineering and nine years of diverse industry experience, he designs cloud-native solutions that align with both industry standards and emerging technological trends.
Introduction
In early 2025, I undertook a cost optimization project for a startup running a legacy Java/Servlet/JSP application. The goal was to reduce hosting costs while maintaining or improving infrastructure quality. This post details our journey from an OVH VPS to Oracle Cloud Infrastructure (OCI) Free Tier, resulting in a €0/month hosting cost while gaining enterprise-grade features.

Initial Situation Analysis
Legacy Environment
Application Stack: Java/Servlet/JSP
Build System: No Maven/Gradle
Deployment: Direct WAR deployment
Infrastructure: OVH VPS
Monthly Costs:
VPS: €15.98
Backup Service: €6.00
Total: €21.98/month
Technical Debt Overview
No containerization
Manual deployment process
Basic backup system
Limited security features
No Infrastructure as Code
Cloud Provider Selection Process
We conducted a thorough analysis of major cloud providers based on the following criteria:
Google Cloud Platform
Costs for equivalent setup: €115.89 - €136.86/month
Breakdown:
Compute (n1-standard-1): €34.67
Database: ~€101.40
Storage: €0.10
External IP: €7.29
DNS: €0.65
Free tier: Limited duration and resources
Oracle Cloud Infrastructure
Free Tier Resources:
2 AMD or 4 ARM OCPUs
24GB RAM
200GB Block Storage
Autonomous Database
Load Balancer
10TB/month outbound bandwidth
Enterprise Features Included:
Web Application Firewall
Bastion Service
Cloud Guard
Vulnerability Scanning
Automated Backups
Decision Factors
Cost Efficiency: OCI's permanent free tier
Resource Allocation: Generous compute and memory
Enterprise Features: Included security and monitoring
Long-term Viability: No time limitation on free tier
Migration Strategy
Why Lift-and-Shift?
Resource Constraints
Limited budget for immediate modernization
Team focused on product development
No immediate technical debt impact
Future-Proofing
Zero hosting costs enable gradual modernization
Infrastructure ready for containerization
Automated deployment pipeline in place
Infrastructure as Code Implementation
Terraform Backend Configuration
We used Terraform Cloud for state management and team collaboration. Here's our backend configuration:
# backend.tf
terraform {
required_version = ">= 1.1.0"
backend "remote" {
hostname = "app.terraform.io"
organization = "[Organization Name]"
workspaces {
name = "prod"
}
}
}
This setup provides several benefits:
Secure state file storage
State locking to prevent concurrent modifications
Team collaboration capabilities
Version control integration
Automated state backups
Run history and audit trail
Our Terraform project structure:
terraform/
├── modules/
├── script/
├── backend.tf
├── data.tf
├── local.tf
├── main.tf
├── output.tf
├── primary.tf
├── providers.tf
├── secondary.tf
├── variables.tf
└── versions.tf
Implementation Timeline
Planning Phase (2 Days)
Infrastructure design
Migration strategy documentation
Resource allocation planning
Infrastructure Setup (2 Days)
Terraform configuration
Network setup
Security configuration
Application Migration (1 Day)
Database migration
File system replication
DNS configuration
Testing & Validation (2 Days)
Functionality testing
Performance validation
Security verification
Cutover (1 Day)
DNS switch
Final data sync
Go-live verification
Results and Benefits
Cost Reduction
Previous cost: €21.98/month
Current cost: €0/month
Annual savings: €263.76
Infrastructure Improvements
High availability architecture
Automated backups
Web Application Firewall
Bastion service
Enhanced monitoring
Operational Benefits
Infrastructure as Code
Automated deployments
Enhanced security
Improved disaster recovery
Future Roadmap
Application Modernization
Maven integration
Containerization
CI/CD pipeline enhancement
Infrastructure Evolution
Multi-region deployment
Container orchestration
Serverless adoption
Exemple Resources and Further Reading to start
- 1 year ago, i add on my Youtube Channel Complete implementation tutorial: Pipeline DevSecOps Oracle Cloud Gratuite, Jenkins, Trivy, OWASP, Docker Hub, Sonarqube, Terraform
- Infrastructure as Code templates: https://github.com/devsahamerlin/iac-spring-boot-atp-jenkins-oci-devsecops
Conclusion
This migration demonstrates that pragmatic cloud adoption doesn't always require immediate application modernization. By leveraging OCI's free tier, we eliminated hosting costs while creating a foundation for future improvements. The startup can now modernize at their own pace without infrastructure cost pressure.
The complete automation scripts, Infrastructure as Code templates, and configuration files are available in our GitHub repository. For a detailed walkthrough of setting up a complete DevSecOps pipeline on OCI Free Tier, check out our YouTube tutorial.
Tags: #CloudMigration #OCI #DevOps #IaC #CostOptimization #CloudArchitecture





