Making the Move
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.
4.1 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.
With aggressive price-performance profiles, block volumes are best suited for I/O intensive applications with less than 1 ms latency.
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. Read Oracle's File Storage service documentation for details.
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. Visit the object storage documentation page for details.
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. Visit the Oracle Cloud Infrastructure database page for more information on data management options.
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. Visit Oracle Cloud Infrastructure's Compute page for more advice.
4.2 Target Environment Optimization
Be sure to follow architectural best practices when deploying cloud services. The goal is to make cloud resources fault-tolerant, easy to manage and govern, and recoverable in the event of a disaster. Some things to consider when optimizing the target environment include:
Oracle's identity and access management services help ensure strong governance and tight security. The key components of an identity and access management strategy are tenancy, compartments, user groups, users, resources, and policies. There are many ways to organize identity and access management strategies. For example, users can pick one tenancy per department, or one tenancy for the entire organization with one compartment for each department. Read this white paper to learn more.
Oracle provides customers with a virtual cloud network that enables complete isolation. Security offerings include Oracle's Key Management Service, Cloud Access Security Broker (CASB), Distributed Denial-of-Service (DDoS) Protection, and Web Application Firewall (WAF). Read this white paper to learn more.
Organizations moving to Oracle can ensure easier manageability of cloud instances by using instance pools and instance configurations. Instance pools enable users to provision and create multiple compute instances based off of the same configuration. Instance configurations allow users to define the configuration to use when creating instance pools. Configuration details include things like base image, shape, metadata, and associated resources such as block volume attachment and network settings. Learn more about instance pools and configurations. Consider deploying target environments in Oracle Cloud Infrastructure using Terraform, the hugely popular infrastructure-as-code tool. Terraform uses declarative syntax to describe the infrastructure and then persist it in configuration files that can be shared, reviewed, edited, versioned, preserved, and reused. This helps ensure quick deployments. Terraform can also be used to create disaster recovery environments. Read Oracle's Terraform documentation to learn more.
High Availability and Disaster Recovery
Migration teams can create high-availability target environments by deploying servers across multiple availability and fault domains. Read this white paper for additional details. Oracle Cloud Infrastructure offers massively-scalable and highly-available cloud infrastructure services that enable secure, fast, and reliable disaster recovery strategies. Capabilities like VM and storage snapshotting ensure that organizations can achieve recovery point and recovery time objectives. Read this white paper for more information.
Once the target environment properly provisioned and deployed, it's time to cutover to the cloud.