At a high level, the process of migrating to Oracle Cloud Infrastructure is virtually the same whether an organization is moving a single application or a complex collection of integrated environments. Every cloud migration requires key steps like assessment, planning, target environment provisioning, and cutover. But the details of each step may vary significantly depending on what type of environment is being migrated.
Let’s take a close look at the phases of the cloud migration process and the various options for carrying out each step.
Assessment and Planning
The most successful cloud migrations begin with a detailed inventory and assessment of on-premises IT resources. The point of the inventory and assessment is to identify opportunities to optimize the IT environment in preparation for the migration. Thorough assessments help organizations create a cost-efficient and seamless migration plan. The assessment should cover:
Identity all software applications, their versions, and their dependencies. This is essential to proper planning and helps organizations gauge the complexity of the migration. Work with stakeholders to understand how critical each application is to the business and include that information in the assessment.
Make note of the different data types stored within database versions
.It’s necessary to identify data types that fall under the purview of regulatory compliance requirements.
It’s important to include an inventory of all licenses for operating systems (OSes), databases, application software, and appliances. This information helps migration teams ensure they are in compliance with licenses when re-deploying resources in the cloud.
- Regulatory Compliance
Applications and data types may be subject to regulatory compliance directives like HIPAA and FedRAMP. Oracle Cloud Infrastructure has certifications for these and other key compliance mandates.
Organizations may have several different types of storage in on-premises IT environments. Make note of each storage type and the amount of data housed within each one. Capture information about access patterns, performance requirements, backup policies, and any data that may be subject to compliance requirements.
The server inventory should include a list of all physical and virtual servers; all virtualization environments and their versions; and all OSes and their versions. Capture the key characteristics of any physical or virtual servers, including cores, memory, local storage, and network interfaces. Make note of performance characteristics like speeds and utilization levels.
- Third-Party Appliances
List any third-party physical or virtual appliances. Appliances may need to be modified or replaced with options that provide similar or identical functionality in Oracle Cloud Infrastructure.
A detailed assessment of the source environment’s network architecture helps migration teams architect an optimal target network in Oracle Cloud Infrastructure. List all subnets; all inbound and outbound security rules; measurements of provisioned and utilized bandwidth; firewalls; private and public IP ranges and addresses; and domain names. Oracle Cloud Infrastructure may not allow for the same IP ranges. Security rules may require modification as well.
Using the assessment as a guide, the next step is to create a detailed multi-phase cloud migration plan, with each phase focusing on the migration of specific subsets of related resources. This is also a good time to consider upgrading resources like databases and business applications, and purchasing any add-ons required for license portability to the cloud. Organizations typically break the migration process into phases based on one or more of following criteria:
Many customers begin by migrating low-complexity applications that have minimal or no dependencies. Then they move on to high-complexity applications that may be running on legacy OSes, mainframes, or that may have related components that need re-licensing.
- Business Criticality
Another strategy is to migrate non-critical applications first and then move on to more important business-critical applications.
- Deployment Environment Type
Some organizations choose to migrate all deployment environments at the same time. Others migrate them one at a time based on risk considerations. For example, low-risk environments like development and testing typically go first, followed by user acceptance training, integration, and finally, high-risk production environments.
- Disaster Recovery
One low-risk migration strategy involves creating a complete disaster recovery environment in Oracle Cloud Infrastructure. Organizations then switch to using the Oracle Cloud Infrastructure backup deployment as the production environment, and the on-premises environment for disaster recovery.
As part of the planning process, migration teams need to map on-premises IT resources to the right Oracle Cloud Infrastructure resources. This helps teams model the costs of the Oracle Cloud Infrastructure target environment and identify opportunities to fine-tune the deployment and lower costs.
2. Source Capture and Preparation
It’s important to capture each critical component of the source environment and prepare them to run natively in Oracle Cloud Infrastructure. How the preparation is accomplished depends on the migration pattern being used. There are two high-level patterns for migrating existing applications to the cloud. They include:
- Application-agnostic migration
Application-agnostic migration involves migrating physical and virtual machines (VMs) from the source environment to Oracle Cloud Infrastructure without considering what is running in them. Most applications will continue to function perfectly, provided that all related VMs or physical machines are migrated at the same time, and that private IP addresses and host names of source machines are kept intact.
- Application-aware migration
Application-aware migration tools help organizations move complex applications to Oracle Cloud Infrastructure. They also enable users to reconfigure the applications after the migration is complete. Oracle Cloud Infrastructure offers application-aware migration tools for Oracle Database, Oracle E-Business Suite, PeopleSoft, and JD Edwards.
Source capture and preparation for application-agnostic migration
Use the following steps to carry out source capture and preparation for application-agnostic migrations:
- Capture all configuration information for the network or network segment in which the source environment resides.
- Capture all metadata associated with virtual and physical machines being migrated, including details about CPUs, memory, attached storage, attached network interface controllers (NICs), IP addresses, and host names.
- Create snapshot images of virtual machines, physical machines, and attached storage.
- Insert Virtio drivers needed for Oracle Cloud Infrastructure into the captured boot images and make any other necessary configuration file changes.
- Convert captured boot images to a format that can be launched in a VM in Oracle Cloud Infrastructure.
These steps can be carried out manually or with automated migration tools from Oracle Cloud Infrastructure partners like Cloudbase and RackWare. The automated tools handle all capture and preparation processes, launch the captured images into Oracle Cloud Infrastructure VMs, and attach all required NICs and block storage. The tools also apply necessary configurations to private IP addresses, host names, NICs, and storage. Automated tools are highly recommended for organizations migrating a large number of VMs.
3. Transporting VMs, Data, and Files to Oracle
After source instances have been properly captured and prepped, the next step is to transport them to the target environment in Oracle Cloud Infrastructure. The total dataset to be transported should include data housed in the VMs’ storage, backups, and databases. The transport may be carried out online or offline, depending on the amount of data being moved, available bandwidth, downtime tolerance, and costs. The table below provides information about how long it takes to migrate datasets online and offline. The table accounts for dataset sizes and available bandwidth.
It’s important to consider bandwidth and security when transporting data, VMs, and files over the wire. Organizations can migrate datasets over the public internet, or set up private connectivity between on-premises data centers and Oracle Cloud Infrastructure. Data should always be encrypted at rest and in transit.
VPN over Internet
Relatively small datasets—up to approximately 2 terabytes (TBs)—can typically be transported over the public internet without problems. Use a virtual private network (VPN) between the source environment and Oracle Cloud Infrastructure to ensure secure connectivity. Internet Protocol Security (IPsec) VPN is the best option in this case.
The first step to setting up an IPsec VPN between the source environment and Oracle is establishing a dynamic routing gateway (DRG). The DRG should be set up to connect Oracle’s cloud with any on-premises routers. Use multiple IPsec tunnels to ensure redundancy. See Oracle’s IPSec VPN documentation for detailed instructions.
Oracle FastConnect is another option for securely connecting on-premises data centers and networks to Oracle Cloud Infrastructure. It’s the right choice for organizations that need to transport large datasets. Port speeds are available in 1 Gbps and 10 Gbps increments when working with a third-party connectivity provider, and 10 Gbps increments when co-locating with Oracle.
FastConnect enables organizations to quickly scale up, scale down, and terminate connections as needed. For example, an organization may choose to set up a 1 Gbps connection to transport a single application with a small dataset during the testing phase, then quickly scale up to a 10 Gbps connection when deploying multiple applications with large datasets. Finally, the organization can quickly terminate the connection once the transfer is complete.
Several Oracle partners offer solutions for setting up high-speed connections from on-premises data centers or other public clouds to Oracle Cloud Infrastructure.
Once a secure connection has been established, organizations can use the Oracle Cloud Infrastructure Storage Gateway to securely create copies of on-premises files and place them into Oracle object storage without the need to modify applications.
For organizations with large, petabyte-scale datasets who are concerned about long upload times, Oracle recommends the Oracle Cloud Infrastructure Data Transfer Service. This service uses commodity hard disks or the Oracle Data Transfer Appliance to quickly and securely transport data to Oracle without going over the wire.
Data Transfer Appliance
Each Data Transfer Appliance enables organizations to migrate up to 150 TBs of data. Appliances can be requested via the Oracle Cloud Infrastructure management console after creating a transfer job. The appliance should be configured and connected to the on-premises network. Migration teams also need to mount NFS volumes off the appliance and copy the data onto the appliance. After the data is copied, ship the appliance back to Oracle and monitor the status of the data transfer.
Data Transfer Disk
Oracle’s Data Transfer Disk is another offline data transfer solution. Organizations send data as files on encrypted disks to an Oracle transfer site. Then site operators upload the files into the organization’s designated object storage bucket. Users are free to move the uploaded data into other Oracle Cloud Infrastructure services as needed.
After all the VMs, data, and files have been securely transported to Oracle Cloud Infrastructure, it’s time to provision and deploy the target environment.
4. Target Environment Provisioning
It’s important to have a clear understanding of available cloud services when provisioning and deploying resources in Oracle Cloud Infrastructure. This information helps organizations choose the cloud services that meet their specific requirements. It’s also important to understand best practices for architecting the cloud environment so resources can be deployed in an optimal way. Every infrastructure component being migrated can be mapped to a corresponding service in Oracle Cloud Infrastructure. Key infrastructure services include:
Oracle Cloud Infrastructure provides highly customizable and completely private virtual cloud networks (VCNs) that enable organizations to isolate their systems from other cloud tenants. And with Oracle Cloud Infrastructure’s Load Balancer service, users can automatically distribute traffic from one entry point to multiple servers reachable via their VCN. Learn more about networking in Oracle Cloud Infrastructure.
Oracle Cloud Infrastructure offers four storage options, each one designed to support different use cases. The right choice depends on various factors, including the type of data being stored, data access patterns, access protocols, and cost. Storage options include:
- Local NVMe SSD
These are best suited for extremely I/O-intensive applications deployed on dense I/O VMs and bare metal instances that require millions of input/output operations per second (IOPS) at 10 – 100 microseconds (ms) latency.
- Block Volumes
With aggressive price-performance profiles, block volumes are best suited for I/O intensive applications with less than 1 ms latency.
- File Storage
This storage service provides high-availability distributed file systems for enterprise applications over an NFS v3 protocol. Users can also take incremental snapshots to make backups easier.
- Object Storage
Oracle object storage is accessible via the internet and used to store unstructured data. There is also an archive storage option for users that need a low-cost archive for long-term storage.
Oracle Cloud Infrastructure is hands down the best place to run Oracle databases—and databases are available in multiple shapes to suit every use case. Available options include:
- Oracle Autonomous Database (Oracle 18c)
The world’s first fully autonomous cloud database is self-driving, self-securing, and self-repairing.
- Oracle Autonomous Transaction Processing
A fully automated database service tuned and optimized for transaction processing or mixed workloads. The service delivers a self-driving, self-securing, self-repairing database service that can instantly scale to meet demands of mission-critical applications.
- Autonomous Data Warehouse
A fully automated, high-performance, and elastic cloud service that is tuned and optimized for data warehouse workloads.
- Oracle Database Cloud Service – Virtual Machine
With single instance or RAC-enabled choices, Oracle Cloud Infrastructure offers elastic database virtual machine services for application development, test, and production deployment.
- Oracle Database Cloud Service – Bare Metal
On-demand, pay-as-you-go database services with the performance of dedicated hardware and local NVMe storage on a low latency, highly configurable, and secure virtual cloud network.
- Oracle Exadata Cloud Service
The legendary power and reliability of Exadata combined with the superior performance and flexibility of Oracle Cloud Infrastructure.
Compute instances are available as VMs that are deployed on shared hardware and run on top of a virtualization environment. They’re also available as bare metal machines—physical hosts with no hypervisor or Oracle software installed that are dedicated to a single customer. Both types are available in multiple shapes. When planning server deployments in Oracle Cloud Infrastructure, migration teams can use the footprint they have on-premises as a guide, or they can right-size the deployment based on utilization. For example, if an on-premises server has six cores, but has never used more than two, it’s probably a good idea to choose a smaller shape in Oracle’s cloud. If an on-premises server is highly utilized, users can pick a larger VM shape, or break the server up into multiple scale-out servers, which can be spread across multiple fault and availability domains.
5. Cutover to Oracle Cloud Infrastructure
The cutover process begins with spot checking and testing to verify that the target cloud environment meets the following criteria:
- It includes all components chosen for migration.
- All the required data is in place.
- All applications work as expected.
- Network settings and security rules are configured correctly.
- Identity and access management is set up properly.
- All connections and integrations are working.
The best time to cutover is during a period when the organization and source environment can tolerate downtime. The amount of downtime required depends largely on the migration tools being used. Some can carry out a cutover in a matter of minutes, while others need hours or an entire day. Manual migrations may require even longer periods of downtime.
After the testing is successfully completed, it’s almost time to switch to the new Oracle Cloud Infrastructure environment. But it may be necessary to re-sync the source environment and target environment one more time to ensure that any data or files that changed during the migration process are brought into Oracle’s cloud. After the re-sync is complete, the source environment should be shut down to prevent any more data changes. Once this is done, the migration is complete. DNS server entries should be updated to point to the new environment in Oracle Cloud Infrastructure.