OCI Instances Explained

Share

 

Introduction

When working with Instances in Oracle Cloud Infrastructure, you are essentially dealing with the backbone of compute resources in the cloud. Whether you are deploying an ERP extension, hosting middleware like OIC Gen 3 agents, or running custom Java applications, OCI Compute Instances are the first component you will configure in most real-world projects.

In almost every Oracle Cloud implementation I’ve handled, compute instances play a critical role—either for lift-and-shift migrations, hybrid integrations, or supporting custom workloads that Fusion applications alone cannot handle.

This blog explains OCI Instances from a consultant’s implementation perspective, not just theory.


What are Instances in Oracle Cloud Infrastructure?

In OCI, an Instance is a virtual machine (VM) or bare metal server that runs applications in the cloud. Think of it as a server you would traditionally deploy in a data center—but now fully managed, scalable, and provisioned within minutes.

OCI provides two main types:

TypeDescriptionTypical Use
Virtual Machine (VM)Multi-tenant compute using hypervisorWeb apps, middleware
Bare MetalDedicated physical serverHigh-performance workloads

Additionally, OCI supports container-based workloads, but core enterprise workloads still rely heavily on compute instances.


Key Features of OCI Instances

From an implementation standpoint, OCI instances offer flexibility that is critical in enterprise projects:

1. Flexible Shapes

OCI allows custom configuration of CPU and memory:

  • Example: 2 OCPU + 16 GB RAM
  • Useful for cost optimization in Dev/Test environments

2. Multiple Operating Systems

  • Oracle Linux
  • Ubuntu
  • Windows Server

3. Block Volume Integration

Attach additional storage dynamically without downtime.

4. Autoscaling Capability

Instances can scale based on load, especially useful for:

  • High traffic applications
  • Integration-heavy workloads

5. Networking Integration

Instances are deployed inside:

  • Virtual Cloud Networks (VCN)
  • Subnets (Public/Private)

6. Security Integration

  • SSH keys for login
  • IAM policies for access control

Real-World Implementation Use Cases

Use Case 1: OIC Gen 3 Hybrid Integration Agent Hosting

In one implementation, we deployed an OCI VM instance to host:

  • OIC connectivity agent
  • On-premise database access layer

Why instance?

  • Required secure outbound connectivity
  • Needed static IP for firewall whitelisting

Use Case 2: Custom Payroll Extension Application

A client required:

  • Custom payroll logic not available in Fusion HCM

Solution:

  • Deploy Java application on OCI instance
  • Integrate with Fusion via REST APIs

Use Case 3: Data Migration Utility Server

During a Fusion ERP implementation:

  • Large data migration scripts were required

We used:

  • OCI instance with Python + SQL tools
  • Scheduled batch jobs

Architecture / Technical Flow

Here’s how OCI Instances fit into the broader architecture:

  1. User creates instance in OCI Console
  2. Instance is deployed inside a subnet in VCN
  3. Public or private IP is assigned
  4. Security rules control access (SSH, HTTP, etc.)
  5. Application is deployed on the instance
  6. Instance interacts with:
    • Fusion Applications
    • Databases
    • External APIs

Prerequisites

Before creating an instance, ensure:

1. Compartment Setup

  • Logical grouping of resources

2. Virtual Cloud Network (VCN)

  • Network where instance will reside

3. Subnet

  • Public subnet → internet access
  • Private subnet → internal access only

4. SSH Key Pair

  • Required for Linux instance access

5. IAM Policies

Example:

 
Allow group Admins to manage instance-family in compartment ProjectA
 

Step-by-Step: Creating an OCI Instance

Step 1 – Navigate to Compute

Navigation:
Menu → Compute → Instances → Create Instance


Step 2 – Enter Basic Details

FieldExample Value
NameOIC-Agent-VM
CompartmentIntegration_Compartment
Availability DomainAD-1

Step 3 – Choose Image and Shape

  • Image: Oracle Linux 8
  • Shape: VM.Standard.E4.Flex

Example configuration:

  • OCPU: 2
  • Memory: 16 GB

Step 4 – Configure Networking

OptionValue
VCNProd-VCN
SubnetPublic-Subnet
Public IPAssign

Step 5 – Add SSH Key

  • Paste public key or upload file

Step 6 – Create Instance

Click Create

Instance provisioning takes:

  • 1–2 minutes typically

Post-Creation Activities

After instance is created:

Connect to Instance

Using SSH:

 
ssh -i private_key opc@<public-ip>
 

Install Required Software

Example:

 
sudo yum install java-17
 

Configure Firewall Rules

  • Open required ports (e.g., 80, 443, 22)

Testing the Instance Setup

Test Case 1: SSH Connectivity

  • Connect using private key
  • Verify login

Test Case 2: Application Deployment

  • Deploy sample web app
  • Access via browser

Test Case 3: Integration Connectivity

  • Test API calls to Fusion
  • Validate response

Common Implementation Challenges

1. SSH Access Issues

  • Wrong key
  • Security list blocking port 22

2. Network Misconfiguration

  • Wrong subnet selection
  • Missing internet gateway

3. Performance Issues

  • Under-provisioned shape

4. Storage Limitations

  • Root volume too small

Best Practices from Real Projects

1. Use Private Subnets for Production

  • Avoid exposing instances publicly

2. Implement Bastion Host

  • Secure SSH access via jump server

3. Use Flexible Shapes

  • Optimize cost and performance

4. Automate with Terraform

  • Infrastructure as Code (IaC)

5. Regular Backups

  • Use boot volume backup policies

Summary

OCI Instances are foundational to any Oracle Cloud architecture. Whether you’re supporting integrations, custom applications, or migration workloads, understanding how to configure and manage instances is essential.

From my implementation experience:

  • Always design networking first
  • Choose the right shape based on workload
  • Secure access using best practices

Instances may look simple initially, but in real projects, they directly impact performance, security, and cost.

For deeper technical documentation, refer:
https://docs.oracle.com/en/cloud/saas/index.html


FAQs

1. What is the difference between VM and Bare Metal instances?

VM instances share hardware using virtualization, while bare metal provides dedicated physical servers.


2. Can OCI instances auto-scale?

Yes, using autoscaling configurations based on metrics like CPU utilization.


3. How do we secure OCI instances?

  • Use private subnets
  • Apply IAM policies
  • Restrict ports using security lists

Share

Leave a Reply

Your email address will not be published. Required fields are marked *