OCI Compute service enables users to provision and manage compute hosts (instances), such as virtual machines and bare metal servers, to meet their compute and application requirements. The main characteristics of compute services are:

Users can choose any configuration of CPU and memory in any ratio, designed to cater to a range of computing needs. This freedom to select the appropriate machine type is made possible through OCI's flexible shapes.

Compute services have dependencies on the following components: 

  1. Virtual Cloud Network (VCN):
    1. Each compute host has a Physical Network Interface Card (VNIC) within a subnet, which is a smaller portion of the network. 
    2. Subnets are placed in Availability Domains within OCI Regions. Every running compute host or Virtual Machine (VM) has a private IP address. 
  2. Boot Disk and Data Disk:
    1. Each spinning compute host has an operating system obtained from the network storage disk known as the Boot Disk.
    2. Data such as file storage can be stored in Data Disks. 

One of the features of the compute instance is:

Live Migration: An unhealthy instance is copied to a healthy host while the existing instance is still running. This procedure does minimal disruption to running instances. If any one of the compute hosts goes down, OCI migrates one VM to another host in the data center, and it will notify the user. There are multiple options that a user can choose to opt-in or opt-out for receiving notifications. This system enables live migrating of the virtual machines between hosts without rebooting. This process allows the applications to continue running even during maintenance events. 

Compute scaling generally has two types: Horizontal Scaling and Vertical Scaling (Autoscaling).

  1. Horizontal Scaling: scaling up or scaling down instance shapes.
  2. Vertical Scaling/Autoscaling: Add or remove virtual machines of the same shape, giving high availability.

The 3 Steps to Autoscaling are as follows: 

  1. A user creates a template for the running instance; within OCI, this is called "config." The config contains operating system images, metadata, shapes, storage, etc.
  2. The user creates an instance pool from the config, which is a collection of all the previously created instances. The purpose is to group all instances together to access all of them simultaneously. After that, the user needs to define scaling rules for the instance. 
  3. Now, the user can scale the instance.

A user can specify the rule for compute size, thus making it where the system will maximize the size of that compute according to the rules. Users can use autoscaling configurations to automatically manage the size and lifecycle state of their instance pools. When autoscaling automatically provisions instances in an instance pool, the pool scales out. When autoscaling removes instances from the pool, the pool scales in. Users can also use autoscaling to stop and start instances in an instance pool based on a schedule.

OCI also includes OS Management Services as Oracle Linux and Windows server instances are the part of the Boot Disk. It includes the following services:

  1. Patch management: This relates to managing the patches, as they are released. Patches are typically released as needed to fix bugs, improve performance, or add new features to the operating systems. Patches are complex and at times prone to error. This system is beneficial for automating patch management and helps reduce patch management complexity and errors by providing a single consolidated service. This service currently supports both Oracle Linux and Windows operating systems.
  2. Package management: This service centralized around installing, patching, and removing software packages. Admins have to maintain these systems on a day-to-day basis, so this service helps automate the common sysadmin tasks. A key feature is simplifying package management by enabling users to easily search for, install, and remove packages, as well as providing an inventory of installed and available packages with respective updates.
  3. Common Vulnerabilities and Exposures lookup (CVE): These vulnerabilities are stored in a CBE database that is readily available to users. This service looks against that database and enables users to install the necessary packages so that their vulnerabilities can easily be patched or addressed. Currently this service is only available for Linux distribution.