From 806e19b2a9fe7b487203face06f2d78d981f4269 Mon Sep 17 00:00:00 2001 From: Daniel-Jamil <138121102+Daniel-Jamil@users.noreply.github.com> Date: Fri, 17 Oct 2025 13:08:58 +0200 Subject: [PATCH 1/3] 2 2222 --- .../disaster-recovery-to-ocvs-solution-definition/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/disaster-recovery-to-ocvs-solution-definition/README.md b/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/disaster-recovery-to-ocvs-solution-definition/README.md index a25438d7b..9be90a509 100644 --- a/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/disaster-recovery-to-ocvs-solution-definition/README.md +++ b/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/disaster-recovery-to-ocvs-solution-definition/README.md @@ -2,7 +2,7 @@ This repository contains a detailed guide for the disaster recovery of VMware workloads to Oracle Cloud VMware Solution. It offers a high-level solution definition of the deployment architecture and tools like Site Recovery Manager or HCX. The document is aimed at capturing the current state architecture and provides a prospective state, potential project scope, RPO/RTO requirements and target OCVS architecture. -Reviewed: 11.06.2024 +Reviewed: 11.06.2025 # When to use this asset? From 422d88f88567b97835fd9c1a9e8f4b44618d2083 Mon Sep 17 00:00:00 2001 From: Daniel-Jamil <138121102+Daniel-Jamil@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:47:21 +0100 Subject: [PATCH 2/3] New Asset --- .../LICENSE | 35 ++ .../README.md | 25 ++ .../files/images/153850.png | Bin 0 -> 12566 bytes .../files/images/155917.png | Bin 0 -> 136587 bytes .../files/images/Decision tree.drawio.png | Bin 0 -> 53679 bytes .../files/images/Decisiontree.png | Bin 0 -> 53643 bytes ...ad-migration-to-oci-comprehensive-guide.md | 394 ++++++++++++++++++ 7 files changed, 454 insertions(+) create mode 100644 cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/LICENSE create mode 100644 cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/README.md create mode 100644 cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/files/images/153850.png create mode 100644 cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/files/images/155917.png create mode 100644 cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/files/images/Decision tree.drawio.png create mode 100644 cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/files/images/Decisiontree.png create mode 100644 cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/files/workload-migration-to-oci-comprehensive-guide.md diff --git a/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/LICENSE b/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/LICENSE new file mode 100644 index 000000000..46c0c79d9 --- /dev/null +++ b/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/LICENSE @@ -0,0 +1,35 @@ +Copyright (c) 2025 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: +The above copyright notice and either this complete permission notice or at +a minimum a reference to the UPL must be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/README.md b/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/README.md new file mode 100644 index 000000000..8f590c864 --- /dev/null +++ b/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/README.md @@ -0,0 +1,25 @@ +# Workload Migration to OCI Comprehensive Guide + +This guide provides a detailed technical overview of migration methodologies and tooling — including VMware HCX, RackWare, and Oracle Cloud Migrations (OCM) — used to transition workloads from both VMware and non-VMware environments to Oracle Cloud Infrastructure (OCI). It outlines key requirements, tool capabilities, architectural approaches, and decision frameworks to support large-scale enterprise migrations with minimal disruption. + +Reviewed: 29.10.2025 + +# When to use this asset? + +Use this document when planning or executing migrations from on-premises or other cloud environments to OCI Native services or Oracle Cloud VMware Solution (OCVS). It covers virtualized, bare-metal, and mixed-environment scenarios. + +# Instructions for Utilising This Asset + +Use this guide as a reference and planning framework for OCI and OCVS migration projects. It includes decision diagrams, tool comparison, guidance and best practices. + +# Conclusion + +Migrating workloads to OCI requires a comprehensive assessment of the existing environment, target architecture design, and methodical execution. By following the approaches and best practices outlined in this guide, organizations can achieve a secure, efficient, and low-risk migration to Oracle Cloud Infrastructure. + +# License + +Copyright (c) 2025 Oracle and/or its affiliates. + +Licensed under the Universal Permissive License (UPL), Version 1.0. + +See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details. diff --git a/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/files/images/153850.png b/cloud-infrastructure/virtualization-solutions/oracle-cloud-vmware-solution/workload-migration-to-oci-comprehensive-guide/files/images/153850.png new file mode 100644 index 0000000000000000000000000000000000000000..01e8f8e90066e16a98feda0d7bfec5069a4b4a64 GIT binary patch literal 12566 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
c#p0aYg^%0!W@EPt<+9Rz|Z_pC~3$xsi-K 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