OCI Notes Flashcards
Oracle Cloud is classified into two main categories
- Oracle Cloud Infrastructure (OCI)
- Oracle Cloud Applications
Oracle Cloud Infrastructure (OCI)
- Infrastructure and platform services that are designed to run any type of application.
- It could be a modern cloud-native application or service or any other mission-critical workloads.
Core services of OCI
- Compute
- storage
- networking
Oracle Cloud applications
SaaS
Three main constructs of this physical architecture of OCI
- Regions
- Availability domains (ADs)
- Fault domains (FDs)
Region
- Region represents a localized geographic area that is comprised of one or more availability domains
- These availability domains are connected to each other by a low latency, high bandwidth network.
Availability Domain (AD)
- Data Center
- Isolated from each other, fault tolerant, unlikely to fail simultaneously.
- Physical infrastructure not share
Fault Domain (FD)
- fault domain, which is a grouping of hardware and infrastructure within each availability domain.
- The key purpose of using separate fault domains is to protect against any unexpected hardware failure or even against planned outages that can occasionally occur during compute hardware maintenance.
- Each availability domain (AD) contains three fault domains that provide for anti-affinity, which means it allows you to distribute resources instead of running on the same physical hardware.
Some of the criteria for choosing a particular region
.
- Choose a region that is
closest
to the majority ofusers
for reasons such aslower latency and highest performance
. Regulatory compliance
for storing your enterprise data.OCI service availability
.
OCI Compute Service
OCI Compute allows you to create and manage compute resources/compute instances/servers
Three types of compute instances
-
Virtual machine (VM)
is a logical server that runs on top of a physical bare metal server -
Bare Metal Machine
is a dedicated physical server for the highest performance. -
Dedicated VM host
,
allowing you to run your VMs on a dedicated server as opposed to them running on a shared physical server.
Compute Shape
-
Template
that determines the number of CPUs, the amount of memory, and all other computing resources that are allocated to the instance. - Currently, OCI allows to choose either
AMD, Intel, or Arm-based processor
.
Two types of shapes.
-
Fixed shapes
are a specific number of CPUS in memory and cannot be customized. And this applies to all bare metal physical instances, of course, there are fixed size, but VMs can also select a fixed shape as well. -
Flexible shapes
, on the other hand, allow you to customize the number of CPUs and the amount of memory you need, but, of course, this is only an option for virtual machines.
Vertical scaling
- Allows you the ability to scale up or scale down. This simply means that you can change the shape or size of the VM to something smaller or something larger.
- Just be aware that there will be a brief
downtime
for your virtual machine since it will have to be stopped for resizing it. Then it can be restarted with the new number of CPUs and memory size.
Horizontal scaling or Autoscaling
- Automatically add more compute instances of the same shape
- This can be achieved in one of two ways.
- The first is
metric-based autoscaling
. Here you choose a performance metric to be monitored along with setting a threshold for that metric. And then when the threshold is met, it triggers an autoscaling event to increase or decrease the number of VMs. - The second option is
scheduled-based autoscaling
. Here you define specific times of the day or perhaps certain days of the week to automatically increase or decrease the number of compute instances.
- The first is
Three main types of storage services–
Block volumes
File
storageObject
storage
Block Volume
- Through the Block Volume service, you can create a virtual logical disk that you can attach to the VM. So like a hard drive, it is only used by that compute instance.
- Here the data in each volume is stored as blocks.
- The block volume disk that you attach to your virtual machine compute instance is always persistent, which means that even after deleting that compute instance, you can still keep that volume disk intact and use it later for another VM.
File storage service
- This is another type of virtual storage, but this can be accessed from one or more virtual machines or any other OCI Compute instance type, such as bare metal machines. Think about file storage like a network drive that you can map to your computer, but this same drive could also be mapped by other users. So it allows for file sharing.
- As we saw earlier, file storage is usually used as a shared storage for multiple compute instances.
- It’s ideal for applications that are running on containers or big data and analytics workloads. In contrast to block volumes where data is stored as blocks, in file storage, the data is managed as files. And there are several advanced capabilities that you can leverage when using the file storage service that makes it ideal for running microservices-based applications.
Object Storage
- which can be accessed from anywhere to include a remote internet client like a web browser.
- Another difference is that files are stored as objects, which can be anything to include images, videos, or any other type of file, typically used to support web and mobile-based applications.
- the object storage service provides internet-scale, high-performance storage, which is reliable, and it provides more cost-efficient data durability options.
- Object storage is most often used for storing unstructured data, such as image files or videos or log files.
- as in its name the data is managed as objects where these objects are stored in a construct called buckets.
- A bucket can be considered similar to a folder that’s used to contain these objects, and it provides several advanced capabilities which makes this a reliable and durable storage platform.
The core resource you can provision for network computing is aptly called a Virtual Cloud Network, or VCN for short.
- you can configure constructs, such as public subnets and private subnets. Think of these as a subdivision of the larger network, sometimes referred to as a subnetwork.
- hosting web app instance in public subnet so customers able to connect to this web app through the internet.
- hosting database instance in private subnets so it is not reachable from the internet.
- But at the same time, the web server and the database instances should be able to communicate with each other.