Oracle Cloud Infrastructure (OCI) Fundamentals Part 2 – Compute Services….
In the 1st part, you saw the basics of the OCI. In this post, we shall take a look(in a very simple way) what are the compute services within OCI.
Let’s get started.
In OCI compute services, there are several services which are offered. Here is a list of all of them.
- Bare Metal
- Virtual Machines
- Dedicated VM Hosts(DVH)
Let’s understand each one by one.
In this case, you get a physical server without any virtualization, which means that virtualization layer is going to be managed by you i.e. OS, runtime etc.
In BM, customer gets the direct access of the hardware of the machine. As mentioned already, no VM support is available. But there is the support of “off box virtualization” in which the network and storage is off-loaded to a separated hardware card. Using this card these two operations are performed.
If requirement is that the workloads are going to be requiring the complete consumption of the underlying hardware, this is probably the best option. Also, if you want to use your own hypervisor or you want to run a workload that needs Bring Your Own license(BYO) so in that it’s going to be the best option.
VM is going to run as a guest machine on a host which has support for hypervisor. This is probably the most commonly available form especially in Cloud offerings, especially in Public clouds. In this you are going to do all the housekeeping of the machine i.e. patching it etc but the control of the virtualization layer is with Oracle.
Since it’s a VM machine, hypervisor takes care the task to virtualize the bare metal servers into the virtual machines. So basically, it’s a bare metal machine but now, with the support of hypervisor. It’s a multi-tenant model which means, you are not the only one who is using this bare metal server.
As mentioned before, VM’s are going to require all the house-keeping of them to be done by us, the customers. In addition to that, if for some workload, a VM has to scale up or down, that’s also going to be handled explicitly.
Dedicated Virtual Host
Oracle provides a machine which is dedicated to you but you can run VMs on top of that. Thus, support for virtualization is available with it. So it’s pretty much the same bare metal server that you get with the VM offering but in contrast to that being a multi-tenant, DVH is a single tenant which means it’s just dedicated to one customer. Obviously, it’s more secure and if you need an environment which can’t be shared with others, this can be a good option.
Container of course has become very popular now. In this offering, customer is responsible to manage its code and app container, which is a container runtime that runs your containers and also manages their images. There are many app containers available e.g. Dockers.
Well this is simple. It’s a serverless offering and all what you do in it that you write your code and remaining everything is taken care automatically. You can write your functions in whatever your preferred language is for example Java, Python, Ruby etc. This code is going to be stored as a Docker image and this code is executed when it’s triggered. This trigger has to be defined by you. Also, functions is based on FN Project which is an open-source container native serverless platform. Thus it can run on any cloud environment and even on on-prem as well.
The above mentioned offerings are given in the form of an instance which is basically what you create using the OCI. Instance here is not the database instance but of the hardware with hardware attributes like CPU, RAM etc. These instances are placed on a virtualized network and are assigned storage too. And these two are also given to a compute instance from the OCI services of network and storage. And where is an instance is going to be provided from? As we discussed in part 1, from an Availability Domain(AD). Also, the instances support that as and when needed, you can scale up or scale down the hardware resources like RAM and CPU. Besides this virtual scaling, horizontal scaling of adding and removing instances without having a downtime is also supported. This is needed , for example to cater your workloads which are dynamic in nature.
So this was the overview of the compute services. How are you finding this series? Do let me know in the comments.
Hope that helps.