Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

OCI (Oracle Cloud Infrastructure)

OCI Architecture

1)Region

Region is a localized geographic area comprising of one or more availability domains.

2) Availability Domains

Availability means are one or more fault tolerant data centers located within a region, but connected to each
other by a low latency, high bandwidth network. 

3) Fault Domains

Fault domains is a grouping of hardware and infrastructure within an availability domain to provide anti-
affinity. So think about these as logical data centers.

Key Criteria to Choose a OCI 

1) Choosing a Region

Choose a region closest to your users for lowest latency and highest performance. So that's a key criteria.

2) Data Residency and Compliance Requirements

The second key criteria is data residency and compliance requirements. Many countries have strict data residen
cy requirements, and you have to comply to them. And so you choose a region based on these compliance requ
irements.

3)Service Availability

The third key criteria is service availability. New cloud services are made available based on regional demand 
at times, regulatory compliance reasons, and resource availability, and several other factors. Keep thesethree cr
iterias in mind when choosing a region.
 Availability Domain
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  net
work, a failure that impacts one availability domain is unlikely to impact the availability of others.

Fault Domains

Each availability domain has three fault domains. So think about fault domains as logical data centers  within a
vailability domain. 

We have three availability domains, and each of them has three fault domains. So the idea is you put the resour
ces in different fault domains, and they don't share a single point of hardware failure, like physical servers, phy
sical rack, type of rack switches, a power distribution unit. You can get high availability by leveraging fault do
mains.

We 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 proce
dures are isolated at the fault domain level. And moreover, you can control the placement of your computer dat
abase instances to fault domain at instance launch time. So you can specify which fault domain you want to us
e.
Avoid Single Point of Failure

So let's look at an example. You have a region. You have an ability domain. And as we said, one AD 
has three fault domains, so you see those fault domains here.
So first thing you do is when you create an application you create this software-defined virtual netwo
rk. And then let's say it's a very simple application. You have an application tier. You have a databas
e tier.
So first thing you could do is you could run multiple copies of your application. So you have an applic
ation tier which is replicated across fault domains. And then you have a database, which is also repli
cated across fault domains.
Why do you do that? Well, it gives you that extra layer of redundancy. So something happens to a fa
ult domain, your application is still up and running.
Now, to take it to the next step, you could replicate the same design in another availability domain. S
o you could have two copies of your application running. And you can have two copies of your datab
ase running.
Now, one thing which will come up is how do you make sure your data is synchronized between thes
e copies? And so you could use various technologies like Oracle Data Guard to make sure that your 
primary and standby-- the data is kept in sync here. And so that-- you can design your application-- y
our architectures like these to avoid single points of failure. Even for regions where we have a single 
availability domain, you could still leverage fault domain construct to achieve high availability and av
oid single points of failure.
Summary
Fault domain provide protection against failure within an availability domain.
Availability domain themselves provide protection from entire availability domain failures, particularly in a m
ulti AD region. 

And then you have this concept of region pair, where in every country we operate or most of the 
countries we operate, we have at least two data centers. So you could use the second data center for   disaster r
ecovery or backup or it also helps you with-- to comply with data
residency and compliance requirements. And then not only this, we also have SLAs on availability, manageme
nt, and performance.

To recap, we looked at the physical architecture of OCI with regions which are geolocations. We looked at ava
ilability domains. Every region has three availability domains.

7. Storage

So first is when you decide on what kind of storage to use, you want to answer whether you want  pe
rsistent storage or non_persistent storage. Then you have to answer what kind of data are you storin
g? Is database files? Is it videos? Is it audios, photos, text?

What kind of performance do you need? What kind of capacity do you need? How many input/output 
 per second IOPs? How much of the throughput?
Then you need to decide on durability, how many copies of data you want to maintain. There's a  diff
erence between persistence and durability. 

Persistence basically means you safely stored the data. Durability means making multiple copies of t
he data, replicating the data. So in case you are storing them safely, even if one copy goes bad, you 
still have other copies to fall back on.

Connectivity is important as well, whether you want local storage or you want network storage. And 
how  does your application access that storage data? And finally, the protocol because that determin
es what kindof applications you can build, whether it's a block, file, or something as simple as HTTP.

Line of Storage Services


1) Local NVMe
2) Block Volume
3) FIle Storage

Local NVMe means as you see in the picture here, you have a data center, which we call an availab
ility domain within OCI, you have a compute server, and you have a locally attached storage. So wh
en you think about local NVMe, think about locally attached storage. These are NVMe SSDs, super 
high-performance, gives you hundreds of thousands of IOPs, and you could run your most performa
nce sensitive applications using local NVMe.

Then what we do is we take this locally stored attached storage and we move it to a remote server o
n   
network server. So in this picture, you see there's a compute instance and it's talking to a storage ser
ver, which is on the network. So the advantage here is the storage can be truly persistent and durabl
e and extend beyond the lifetime of the instance itself. This kind of storage is called Block Volume.

In this case, the storage, the data is managed as fixed_sized blocks. So you create a partition, you c
reate afile system, then you mount the file system. And that's how your compute instances use the st
orage service.So Block Volume.

File storage is a similar kind of a storage still in the same availability domain, but it's a shared file st
orage  system. So in this case, you see two compute instances. And then they have a need to have 
a shared storagesystem where they can read and write but the storage is shared. So it's very similar 
to Block Volume but thedifference here is you manage the storage as files and directories.

You don't partition the disk. You still do some of the things like you mount the file system, and that's 
how  your instances use the shared storage. So think shared, think file storage.

And then finally, we have Object Storage which is storage for the web. So you have storage. This is 
a kind  of storage you would use for photos, videos, log files, text file, any kind of files you stored on t
he web.
Typically the way it is accessed is you have an internet client who accesses these objects using sim
ple and familiar HTTP verbs like put and get. Put meaning you create an object, get meaning you do
wnload an  object. And so these are the main storage services which exist within OCI.

DATA Migration Services


1) Data Migration Disk
2) Date Migration Appliance
3) Storage Gateway

We have several data migration services. So we have two which are related to data transfer, data tra
nsfer disk and appliance. Disk is basically you send us your disks, and we migrate the data. Applianc
es, you use amuch larger appliance to send the data to us.

And then finally, we have a service called Storage Gateway which is a Linux appliance, sits in your d
ata center. And using that, you can migrate data to OCI.

So that's it. A bunch of storage services each suited for a different use cases.

Object Storage
1)Internet-Scale, high performance storage platform
2) Data managaed as Objects
3) Idea for unstructured data
4) Regional, Public Service
5) Multiple storage tiers
5) Private access from OCI resources (e.g Compute)
6) Advanced Capabilities.

Object Storage is an internet_scale, high_performance storage platform. In here, data is managed


as objects. Irrespective of the kind of data you store, they are all managed as objects.

It's ideal for unstructured data, like your logs, your videos, your pictures, your text files. It's a regional 
service. It's a public service. There are multiple storage tiers, and we'll look into each of them.

You can still have private access from OCI resources like your compute instances. So even though 
it's a public service, you could still have private access and several other mechanisms to do that. 
And then there are lots of advanced capabilities. This is a foundational course, so we're not going to 
go into those features. But it's a very rich feature rich service.
So what are the scenarios in which you would use an OCI Object Storage? Well, you use it as a cont
ent   repository. Like I said, you can use it for structured and semi_structured data. You could use for
Big Data  scenarios. And very importantly, you could use it for archive and backup purposes.

So how does Object Storage work? Let's look into this. What are the key resources here?

So the first thing is object itself. Anything you store in Object Storage is referenced as object. Think a
bout object as key value pairs or name value pairs, name being the name of file you're storing and th
e value beingthe actual value of the file. And then objects can also have object metadata, and you c
ould define your own metadata there.

Objects are stored in a bucket as you can see on the graphic here. And the buckets have your uniqu
e namewithin a tenancy. Important thing to keep in mind is there is a flat hierarchy, and any time you 
see kind of a  folder structure, that's stimulated by the Object Storage service by using something cal
led prefixes.  So remember, all the objects you store just go in a flat hierarchy within the service.

There's also something called a namespace. A namespace is a logical entity. It's a top-level containe
r for all buckets object, and it has to have a globally unique name.
So let us look at an example of how this works. You can see here, I have this URL, which is the API 
endpoint for Object Storage. That's how you access these objects.

https://objectstorage.us-sanjose-1.oraclecloud.com/nintoraclerohit/b/development/o/log.zip

Remember, there's a public service. You access them using a public API endpoint. And that's API en
dpoint is one of the examples is shown here.
So in this case, let's start from the bottom. You have an object which has a notation /o, and anything 
beyond that_after that is the object name. So here, I'm storing object which is log.zip, it goes into a b
ucket which is called development and that's denoted by the /b, and then there's a namespace which 
is the account name. And you can see that there.
So that's how the API is constructed. And the first few things but there are the object storage service 
name, and it's a regional service. So you see a region there, US San Jose 1.

Object Storage Tiers


1) Standard Tier –
 Fast,immediate & Frequent Access
 Most recent copy of data
 Instantenous retrieval
 Cant be Downgraded.
2) Infrequent Access Storage Tier

 Ideal for data that you access infrequently


 Storage cost lower than the Standard Storage Tier
 Minimum retention requirement for Infrequent Access: 31 days
 Retrieval Fees
3) Archive Storage Tier
 Seldom or rarely accessed data
 Minimum retention requirement for Archive Storage storage: 90days
 Objects need to be restored befire download
 Restore Time: 1hour
 Download Time 24 hours
 Archive Bucket can’t be upgraded
4) Auto Tiering

So let's look at some of the tiers. We talked about Object Storage tiers. So the first tier in Object Stor
age is called a Standard tier. It's also referred to as the hot tier.
What it means is this you keep all the critical data which you want to retrieve instantaneously, you ke
ep it here. The retrieval is instantaneous and it's also strongly consistent. So any time you update th
e data, we give you the most recent copy of that data.
There is a second tier, which is called Infrequent Access. What it means is you still have critical data, 
but this is a long-term critical data. You don't need it right away. So think about backups. You would 
keep them in Infrequent Access.
There are some restrictions here. The data has to be stored for a minimum of 31 days, and there is r
etrieved fees when you get the data back. What is the upside? It's 60% cheaper than the Standard ti
er. And there is retrieval fee, but it's significantly cheaper than the Standard tier.
And then there's a third tier, which is called Archive tier. This is for your data which you don't need ri
ght away. You rarely access this data. So think about tape storage. It's basically tape storage in the 
cloud, but much easier and much more feature rich.
So there's a minimum retention requirement of 90 days. And there is a process where objects need t
o be restored and then downloaded. So when you put data in Archive Storage, you'll need to restore 
it. The minimum time required to restore is an hour, and then you need to download. And you get 24 
hours, which you can extend to 40 hours, but you need to download the data to Standard tier, and th
en you can access from the Standard tier.
But that's not all. There's a feature called auto-tiering, and what it does is it looks at your access patt
ern. And lets say you have unknown access pattern or your data access pattern keeps changing, it c
an move the data from Standard tier to Infrequent Access tier and vise versa. And it can move back t
o Standard if your object start getting used again.
The idea here is this is intelligence given by the service. There is no retrieval fees. There is no prorat
ed storage fees. And using this feature, you can significantly reduce your cost because you can go fr
om Standard to Infrequent Access, 60% cheaper, and then move back if your object start getting use
d.
That's not it. There are lots of other features. One feature which is really important is life cycle mana
gement. And as you can see here, it helps you transition the data from the lower cost tier to the lowe
r cost tiers. So you could say after 30 days, move
my data from Standard tiers to Archive tiers, and delete them after 180 days. And you write a rule, a
nd the service takes care of that.
You can also do versioning because as you are storing your data, you can have multiple versions of 
that data. And these objects are automatically versioned. You just specify that on the bucket, and we 
take care of that.
So data encryption. It's very important because you're storing sensitive data in the cloud. You want it 
to be safe, so we give you data encryption by default. You cannot turn this off. You can always bring 
your own keys. For very stringent requirements, you have that option.
How do you access all this data? You access all the data using a simple API call like I showed you in 
the beginning. You call that API, use familiar STTP words, and you can access this data.
So that's it, folks. Object Storage, a very feature rich service. Next time you're taking that picture, cha
nces are it is stored in an Object Storage. 

Object Volume

You might also like