ORACLE CLOUD → STACKIT · SERVICE MAPPING

Oracle Cloud vs STACKIT service mapping

Most Oracle Cloud services have a STACKIT counterpart: compute, networks, Kubernetes, PostgreSQL, caches and object storage map directly or with configuration changes. The exceptions are Oracle Database and Autonomous Database, which have no STACKIT service, and the identity model, which does not translate statement by statement. This page shows the mapping as StackToIT recorded it for a fifteen-resource estate, then the differences that matter in practice.

The mapping of a real OCI estate

A fifteen-resource Oracle Cloud estate written for this page and assessed by StackToIT on 4 November 2026. Every row is a unit of that run, with the target and the class the run decided.

OCI resourceSTACKIT targetMigration class
VCNSTACKIT network (stackit_network)RECONFIGURE, medium
SubnetSTACKIT network with its own address rangeRECONFIGURE, medium
Compute instance (VM.Standard.E5.Flex)STACKIT Compute Engine serverRECONFIGURE, medium
Block volumeSTACKIT Block Storage volumeRECONFIGURE, medium
Load balancer (flexible)STACKIT Application Load BalancerRECONFIGURE, medium
OKE clusterSTACKIT Kubernetes Engine (SKE)REPLATFORM, medium
OCI Database with PostgreSQLSTACKIT PostgreSQL FlexREPLATFORM, medium
MySQL DB system (HeatWave)STACKIT MariaDBREPLATFORM, medium
File Storage file systemSTACKIT File Storage (SFS)REPLATFORM, medium
Object Storage bucketSTACKIT Object StorageRECONFIGURE, medium
OCI Cache (Redis) clusterSTACKIT Key Value Store (Valkey)RECONFIGURE, medium
Streaming streamSelf-managed Kafka-compatible broker on SKECONTAINERIZE, medium
Autonomous DatabaseNo STACKIT service; decided case by caseREDESIGN, low
IAM groupDecided by an architectMANUAL_REVIEW, low
IAM policyDecided by an architectMANUAL_REVIEW, low

Counts from the run: 7 RECONFIGURE, 4 REPLATFORM, 1 CONTAINERIZE, 1 REDESIGN and 2 MANUAL_REVIEW; 12 units at medium confidence and 3 at low. Medium is the ceiling in this run because the oci provider has no lock file entry.

The two rows that need a decision before work starts

The Autonomous Database and the MySQL system of the same run, input and result side by side. Both are databases, and they sit at opposite ends of the effort scale. assessment.json is written as a single line, so the pane shows selected fields of each unit, indented and nested as in the file, with the values unchanged. The input blocks are shown in separate panes because they are not next to each other in main.tf.

Example input, lines 104–111main.tf
resource "oci_database_autonomous_database" "erp" {
  compartment_id           = var.compartment_id
  db_name                  = "erp"
  admin_password           = "ChangeMe-1234567"
  cpu_core_count           = 2
  data_storage_size_in_tbs = 1
}
Example input, lines 97–102main.tf
resource "oci_mysql_mysql_db_system" "reports" {
  compartment_id      = var.compartment_id
  availability_domain = var.availability_domain
  shape_name          = "MySQL.2"
  subnet_id           = oci_core_subnet.app.id
}
StackToIT assessmentassessment.json
[
  {
    "id": "oci_database_autonomous_database.erp",
    "result": {
      "class": "REDESIGN",
      "confidence": "LOW",
      "reason": "STACKIT has no Oracle Database service. Decide whether the database changes engine, with a schema and procedure conversion, or stays on self-managed Oracle under your own licence."
    }
  },
  {
    "id": "oci_mysql_mysql_db_system.reports",
    "result": {
      "class": "REPLATFORM",
      "confidence": "MEDIUM",
      "target": {
        "service": "STACKIT MariaDB",
        "resources": [
          "stackit_mariadb_instance",
          "stackit_mariadb_credential"
        ]
      },
      "reason": "STACKIT offers MariaDB, not MySQL; test MySQL-specific features and any HeatWave analytics before cut-over, and move the data with a logical dump."
    }
  }
]
  • Autonomous Database: REDESIGN

    STACKIT has no Oracle Database service. The decision is whether the database changes engine, with a schema and procedure conversion, or stays on self-managed Oracle under your own licence.

  • MySQL HeatWave: REPLATFORM

    STACKIT offers MariaDB, not MySQL. The run asks you to test MySQL-specific features and any HeatWave analytics before cut-over, and to move the data with a logical dump.

Services the demo estate did not contain

The adapter documents these mappings in the public StackToIT documentation. They were not part of the run above, so the classes are the published ones.

OCI serviceSTACKIT targetMigration class
Oracle Database (DB system)Another engine after a conversion, or self-managed Oracle under your own licenceRedesign
OKE node poolSTACKIT Kubernetes Engine (SKE)Replatform
Network security group, security listSecurity groupReconfigure
Network load balancerNetwork Load BalancerReconfigure
Public IPPublic IPReconfigure
NoSQL DatabaseMongoDB Flex, after a redesignRedesign
QueueRabbitMQReplatform
Vault key and secretKMS and Secrets ManagerReconfigure
FunctionsSKE or Cloud FoundryContainerize
DNSDNSReconfigure
OpenSearchOpenSearchReplatform
LoggingLogsReconfigure
Big Data ServiceLakehouse on Object Storage, or self-managed engines on SKERedesign
IAM user, NAT gateway, internet gateway, instance poolDecided by an architectArchitect decision

Any Oracle Cloud resource type the adapter does not know is classified MANUAL_REVIEW, for your architects to decide.

Differences that bite in practice

Each row is something that changes when a resource moves. The first column names the area, the others say what the run or the documentation states.

AreaWhat changesWhere it comes from
NetworksA VCN has no one-to-one counterpart. Its subnets become STACKIT networks, and routing between them is planned with a Network Area.The run, for the VCN and subnet units
ComputeThe shape becomes a flavor, the image is rebuilt or imported, and the attached volumes and network interfaces move with the server.The run, for the instance unit
Block storageThe OCI performance setting does not carry over. You choose a STACKIT performance class and move the data at the host or from a backup.The run, for the volume unit
Load balancingListeners, backends and certificates are rewritten, and the public address changes, so DNS records change at cutover.The run, for the load balancer unit
Object storageThe bucket gets an S3 API. Clients change endpoint and credentials; lifecycle, replication and access rules are rewritten.The run, for the bucket unit
PostgreSQLData moves with a dump and restore or logical replication; the shape becomes a Flex flavor and the instance runs on one node or on three.The run, and STACKIT PostgreSQL Flex documentation
File storageResource pools with a fixed, reserved size hold the shares, and export rules become export policies. Clients set an NFSv4 ID domain.The run, and STACKIT File Storage documentation
MessagingSTACKIT has no managed Kafka service. The stream moves to a self-managed broker on SKE, or the messaging design changes to RabbitMQ.The run, for the stream unit
IdentityOCI policies have no document-level counterpart on STACKIT. People and workloads are mapped to STACKIT roles and service accounts.The run, for the group and policy units

Rows that cite the run are the reasons the run wrote for those units; the other facts are named in the sources below.

The order the run proposes

Units move in waves, each after everything it depends on; units in one wave can move in parallel. This is the sequencing file of the run, unchanged.

StackToIT resultmigration/technical-sequencing.md
## Wave 1 — 8 unit(s)

| Unit | Class | Target |
|---|---|---|
| `oci_core_vcn.main` | RECONFIGURE / MEDIUM | STACKIT network |
| `oci_core_volume.data` | RECONFIGURE / MEDIUM | STACKIT Block Storage |
| `oci_database_autonomous_database.erp` | REDESIGN / LOW | — |
| `oci_file_storage_file_system.shared` | REPLATFORM / MEDIUM | STACKIT File Storage (SFS) |
| `oci_identity_group.ops` | MANUAL_REVIEW / LOW | — |
| `oci_identity_policy.ops` | MANUAL_REVIEW / LOW | — |
| `oci_objectstorage_bucket.assets` | RECONFIGURE / MEDIUM | STACKIT Object Storage |
| `oci_streaming_stream.events` | CONTAINERIZE / MEDIUM | a self-managed Kafka-compatible broker on SKE |

## Wave 2 — 2 unit(s)

| Unit | Class | Target |
|---|---|---|
| `oci_containerengine_cluster.platform` | REPLATFORM / MEDIUM | STACKIT Kubernetes Engine (SKE) |
| `oci_core_subnet.app` | RECONFIGURE / MEDIUM | STACKIT network |

## Wave 3 — 5 unit(s)

| Unit | Class | Target |
|---|---|---|
| `oci_core_instance.web` | RECONFIGURE / MEDIUM | STACKIT Compute Engine |
| `oci_load_balancer_load_balancer.web` | RECONFIGURE / MEDIUM | STACKIT Application Load Balancer |
| `oci_mysql_mysql_db_system.reports` | REPLATFORM / MEDIUM | STACKIT MariaDB |
| `oci_psql_db_system.app` | REPLATFORM / MEDIUM | STACKIT PostgreSQL Flex |
| `oci_redis_redis_cluster.cache` | RECONFIGURE / MEDIUM | STACKIT Key Value Store (Valkey) |
  • Foundations first

    Eight units depend on nothing and sit in wave 1: the VCN, the volume, the bucket, the stream, the file system, the Autonomous Database, and the IAM group and policy.

  • Networks, then workloads

    The cluster and the subnet are wave 2. Instance, load balancer, MySQL, PostgreSQL and cache sit in wave 3 because they depend on the subnet.

  • A starting point

    The run states that this is an input to your own wave plan and not a schedule. It gives no time estimate.

How to read the classes

  • RECONFIGURE

    A counterpart exists and its settings change. Seven units in this run.

  • REPLATFORM

    The component moves to a different platform model, as with a managed database or a Kubernetes cluster. Four units.

  • CONTAINERIZE

    The treatment includes running the workload in containers. One unit, the stream.

  • REDESIGN

    The architecture changes for the target. One unit, the Autonomous Database.

  • MANUAL_REVIEW

    An engineer or architect resolves a question before work proceeds. Two units, both identity.

Proven on a real AWS estate

The AWS Retail Store Sample App, a public Terraform project from AWS, assessed by StackToIT and published in full, exactly as the run wrote it.

View Case Study
282
Terraform resource declarations analyzed
44
migration units identified
38
target units generated, from 52 considered
331
plan steps written

Questions architects ask

Which Oracle Cloud services have no STACKIT counterpart?

Oracle Database and Autonomous Database have none: the run classifies them as REDESIGN. Managed Kafka is also missing; the stream moves to a broker you run on SKE or to RabbitMQ. Identity and policies need design work instead of a one-to-one mapping.

Does StackToIT write STACKIT Terraform for an Oracle Cloud source?

Not in this run. The terraform folder holds the provider and variable files only, and every unit is left to your architects. Each unit still carries a target, a class and a reason, and the manual steps are listed in execution/manual/actions.md.

Why is confidence capped at medium?

The oci provider has no lock file entry in the demo, so the version a plan would use is not proven. Commit .terraform.lock.hcl with your root module and that cap no longer applies. Units with open questions of their own, such as the Autonomous Database, stay at low.

Is this the full list of services StackToIT knows for Oracle Cloud?

No. The estate shows fifteen resource types, and the second table adds the other documented mappings. Check the Oracle Cloud page of the documentation for the current list.

Sources

Your next move: STACKIT.

Tell us about your estate. We show you what StackToIT delivers for it: target architecture, Terraform artifacts and a structured migration plan.