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 resource | STACKIT target | Migration class |
|---|---|---|
| VCN | STACKIT network (stackit_network) | RECONFIGURE, medium |
| Subnet | STACKIT network with its own address range | RECONFIGURE, medium |
| Compute instance (VM.Standard.E5.Flex) | STACKIT Compute Engine server | RECONFIGURE, medium |
| Block volume | STACKIT Block Storage volume | RECONFIGURE, medium |
| Load balancer (flexible) | STACKIT Application Load Balancer | RECONFIGURE, medium |
| OKE cluster | STACKIT Kubernetes Engine (SKE) | REPLATFORM, medium |
| OCI Database with PostgreSQL | STACKIT PostgreSQL Flex | REPLATFORM, medium |
| MySQL DB system (HeatWave) | STACKIT MariaDB | REPLATFORM, medium |
| File Storage file system | STACKIT File Storage (SFS) | REPLATFORM, medium |
| Object Storage bucket | STACKIT Object Storage | RECONFIGURE, medium |
| OCI Cache (Redis) cluster | STACKIT Key Value Store (Valkey) | RECONFIGURE, medium |
| Streaming stream | Self-managed Kafka-compatible broker on SKE | CONTAINERIZE, medium |
| Autonomous Database | No STACKIT service; decided case by case | REDESIGN, low |
| IAM group | Decided by an architect | MANUAL_REVIEW, low |
| IAM policy | Decided by an architect | MANUAL_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.
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
}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
}[
{
"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 service | STACKIT target | Migration class |
|---|---|---|
| Oracle Database (DB system) | Another engine after a conversion, or self-managed Oracle under your own licence | Redesign |
| OKE node pool | STACKIT Kubernetes Engine (SKE) | Replatform |
| Network security group, security list | Security group | Reconfigure |
| Network load balancer | Network Load Balancer | Reconfigure |
| Public IP | Public IP | Reconfigure |
| NoSQL Database | MongoDB Flex, after a redesign | Redesign |
| Queue | RabbitMQ | Replatform |
| Vault key and secret | KMS and Secrets Manager | Reconfigure |
| Functions | SKE or Cloud Foundry | Containerize |
| DNS | DNS | Reconfigure |
| OpenSearch | OpenSearch | Replatform |
| Logging | Logs | Reconfigure |
| Big Data Service | Lakehouse on Object Storage, or self-managed engines on SKE | Redesign |
| IAM user, NAT gateway, internet gateway, instance pool | Decided by an architect | Architect 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.
| Area | What changes | Where it comes from |
|---|---|---|
| Networks | A 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 |
| Compute | The 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 storage | The 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 balancing | Listeners, backends and certificates are rewritten, and the public address changes, so DNS records change at cutover. | The run, for the load balancer unit |
| Object storage | The bucket gets an S3 API. Clients change endpoint and credentials; lifecycle, replication and access rules are rewritten. | The run, for the bucket unit |
| PostgreSQL | Data 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 storage | Resource 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 |
| Messaging | STACKIT 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 |
| Identity | OCI 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.
## 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.