Migrating a HR Management System from On-Premise Oracle Database to a Multi-Cloud Environment using Azure’s Serverless App Service and Oracle’s Autonomous Database

Seamless Transition and Upgrade

Gabriel Varaljay
2 min readDec 14, 2023

As a Multi-Cloud Specialist interested in evolving into a Cloud Engineer, Platform Engineer, or DevOps Engineer, I recently embarked on a challenging yet rewarding project. In this real-world scenario, I had the opportunity to showcase my skills as a Cloud Architect, leading the migration of a significant workload from an on-premises environment to a multi-cloud architecture.

The Challenge: A Complex Migration

The project’s core involved a Client-Server application and an Oracle On-premises Database. The objectives were clear but demanding:

1. Use of OCI and Azure: I could choose between Oracle Cloud Infrastructure (OCI) and Azure or use both as part of the MultiCloud strategy.

2. Embracing MultiCloud Architecture: The project permitted the exploration and implementation of a multi-cloud architecture, a forward-thinking approach that aligns with modern cloud strategies.

3. Exadata Infrastructure for Oracle DB: A critical requirement was to run the Oracle Database on the Exadata infrastructure, known for its high performance and scalability.

4. Serverless Oracle DB: The Oracle Database must be a fully managed service, adopting a serverless model to ensure efficiency and scalability.

5. OCI Exclusivity for Database Tier: A specific directive was to use only OCI for the Database tier, leveraging its robust capabilities for Oracle environments.

6. VM to Container Conversion for the Application: My role involved converting the existing Application from a Virtual Machine (VM) based model to a containerised approach.

7. Container Serverless Service for Application: The Application must utilise a container serverless service that aligns with modern, efficient, and scalable cloud-native architecture.

8. IaC for Infrastructure Deployment: Lastly, the entire infrastructure had to be deployed using Infrastructure as Code (IaC), ensuring a reproducible, scalable, and error-free deployment process.

My Approach and Solutions

To meet these requirements, I employed a strategic approach. Leveraging my expertise in cloud technologies, I:

- Choose a combination of OCI and Azure to utilise the strengths of each cloud provider optimally.
- Implemented Oracle Database on OCI with Exadata infrastructure, ensuring high performance and compliance with the project’s requirements.
- Adopted serverless models for the Oracle Database and the Application, ensuring scalability and cost-effectiveness.
- I converted the Application to a containerised format, deploying it on Azure’s Serverless App Service, significantly enhancing its agility and efficiency.
- Used Terraform for IaC, ensuring a consistent and error-free deployment across different cloud environments.

--

--

Gabriel Varaljay

Multi-Cloud & DevOps | AWS | Microsoft Azure | Google Cloud | Oracle Cloud | Linux | Terraform | digital problem solver