Demystifying Oracle Cloud Infrastructure (OCI): A Comprehensive Introduction and Architecture Overview

Some of the world’s largest enterprises are running their mission-critical workloads on Oracle’s next-generation cloud platform Oracle Cloud Infrastructure.

In this comprehensive guide, we’ll embark on a journey to understand the intricacies of OCI, starting with its core concepts and delving into its architecture.

What is Oracle Cloud Infrastructure (OCI)?

Oracle Cloud Infrastructure, often abbreviated as OCI, is Oracle’s flagship cloud computing platform. It is a robust and secure cloud solution that provides a wide range of services, catering to a diverse set of enterprise needs. OCI is built to deliver high performance, scalability, and security for mission-critical applications and workloads.

Why Oracle Cloud Infrastructure

Oracle Cloud Infrastructure is built for enterprises seeking higher performance, lower costs, and easier cloud migration for their applications. Customers choose Oracle Cloud Infrastructure over other cloud providers for several reasons:
1. They can consume cloud services in the public cloud or within their own data center with Oracle Dedicated Region Cloud@Customer.
2. They can migrate and run any workload as is on Oracle Cloud, including Oracle databases and applications, VMware, or bare metal servers.
3. They have lower risks with Oracle’s end-to-end SLAs covering performance, availability, and manageability of services.
4. Their workloads achieve better performance at a significantly lower cost with Oracle Cloud Infrastructure than other cloud providers.

Take a look at what makes Oracle Cloud Infrastructure a better cloud platform than other cloud providers.

OCI Services

Let’s get started. To keep things simple, let us break them down into seven major categories, these seven categories and the services mentioned represent just a small fraction of more than 80 services currently available in OCI.

OCI has a bunch of developer services. they have a managed low code service called APEX, several other developer services, and a managed Terraform service called Resource Manager.DescriptionServices
Core InfrastructureFoundational cloud services that provide the essential building blocks for creating, managing, and running cloud-based applications and workloadsOCI has a bunch of developer services. they have a managed low code service called APEX, several other developer services, and a managed Terraform service called Resource Manager.
Database ServicesCI has a managed analytics service called Oracle Analytics Cloud that integrates with various third-party solutionsOracle Databases
Distributed & OSS Databases

Data and AI
OCI has a managed Apache Spark service called Dataflow, a managed service for tracking data artifacts across OCI called Data Catalog, and a managed service for data ingestion and ETL called Data Integration.Big Data
AI Services
Messaging
Governance and AdministrationThese services include security, identity, and observability and management. OCI have unique features like compartments that make it operationally easier to manage large and complex environmentsCloudOps
Security
Oberserability
Developer ServicesOCI have a bunch of developer services. they have a managed low code service called APEX, several other developer services, and a managed Terraform service called Resource Manager.Low Code: APEX
AppDev
IaC: Resource Manager
Application ServicesThey have a comprehensive connected SaaS suite across our entire business, finance, Human Resources, supply chain, manufacturing, advertising, sales, customer service, and marketing all running on OCI.Serverless
App Integration
Business & Industry SaaS
AnalyticsOCI has a managed analytics service called Oracle Analytics Cloud that integrates with various third-party solutionsBusiness Analytics

OCI Architecture

OCI  Regions 

A region is a localized geographic area comprising one or more availability domains. OCI has a massive geographic footprint around the world with multiple regions across the world. And also have a multi-cloud partnership with Microsoft Azure and have a differentiated hybrid cloud offering called Dedicated Region Cloud.


Fig: Cloud Regions, Hybrid Cloud, Multi-cloud

Choosing a Region 

  1. The first thing is choosing a region that is closest to our users for the lowest latency and highest performance. It’s a key criterion.
  2. The second key criterion is data residency and compliance requirements. Many countries have strict data residency requirements, and so we have to choose a region based on these compliance requirements.
  3. The third key criterion is service availability. New cloud services are made available based on regional demand at times, regulatory compliance reasons, resource availability, and several other factors.

    Keep these three criteria in mind when choosing a region.

Availability domains

Availability domains are one or more fault-tolerant data centers located within a region, but connected to each other by a low latency, high bandwidth network. Availability domains are isolated from each other, fault-tolerant, and very unlikely to fail simultaneously. Because availability domains do not share physical infrastructure, such as power or cooling or the internal network, a failure that impacts one availability domain is unlikely to impact the availability of others.

So as you can see in this image above, a particular region has three availability domains. One available domain has some kind of an outage and is not available. But the other two availability domains are still up and running.

Fault domains


Fault domains are a grouping of hardware and infrastructure within an availability domain to provide anti-affinity. So think about these as logical data centers. Think about each availability domain having three fault domains. So think about fault domains as logical data centers within the availability domain.

So as you can see in the picture here, we have three availability domains, and each of them has three fault domains. So the idea is you put the resources in different fault domains, and they don’t share a single point of hardware failure, like physical servers, physical rack, type of rack switches, or a power distribution unit. You can get high availability by leveraging fault domains.

They also leverage fault domains for our own services. So in any region, resources in that most one fault domain are being actively changed at any point in time. This means that availability problems caused by change procedures are isolated at the fault domain level. Moreover, we can control the placement of our computer database instances to fault domain at instance launch time. So we can specify which fault domain you want to use.

Avoid Single Point of Failure with an Example

The general guidance is that OCI has these constructs, like fault domains and availability domains to help you avoid single points of failure. We do that on our own.

So they make sure that the servers, the top of rack switch, all are redundant. So we don’t have hardware failures or we try to minimize those hardware failures as much as possible. We need to do the same when you are designing your own architecture.

So let’s look at an example. We have a region. We have an ability domain. And as we said, one AD has three fault domains, so we see those fault domains here.

So first thing we do is when we create an application we create this software-defined virtual network. And then let’s say it’s a very simple application. We have an application tier. We have a database tier.

So the first thing we can do is to run multiple copies of our application. Now we have an application tier that is replicated across fault domains. And then we have a database, which is also replicated across fault domains.

Why did we do that? Well, it gives us that extra layer of redundancy. So if something happens to a fault domain, our application is still up and running.

Now, to take it to the next step, we can replicate the same design in another availability domain. So we have two copies of your application running. Also, we have two copies of our database running.

Now, one thing that will come up is how do we make sure our data is synchronized between these copies? And so we could use various technologies like Oracle Data Guard to make sure that our primary and standby data is kept in sync here. And so that– we can design our application like these to avoid single points of failure. 

Even for regions where we have a single availability domain, you could still leverage the fault domain construct to achieve high availability and avoid single points of failure.

Conclusion

In conclusion, exploring the realm of Oracle Cloud Infrastructure (OCI) has provided us with a profound understanding of its advanced capabilities and architectural intricacies. As we delved into the depths of OCI’s architecture, it became evident that this cloud computing platform stands at the pinnacle of innovation, offering businesses a robust and flexible infrastructure to meet their diverse needs.

Blog Pundits: Prakash Jha and Sandeep Rawat

OpsTree is an End-to-End DevOps Solution Provider.

Connect with Us

Leave a Reply