OCI Foundations - Compute
Introduction
- Virtual Machines / Bare Metal servers / Dedicated Host (will run ONLY your VMs, not shared with other customers).
- Can choose Intel, AMD or ARM.
- Preemptible VMs - short term batch jobs, lower cost.
Flexible Shape: Choose cores and RAM.
Instance Basics
Dependencies:
- A VCN is required
- The host's VNIC is placed in the VCN
- Boot image and data on remote storage
- Connected to Block Storage
Live migrate: transparent move on a failure to another host, applications keep running
Use Cloud Shell to generate SSH keys: ssh-keygen -b 2048 -t rsa -d test_key
Create instance: upload public key to allow SSH login: ssh -l test_key opc@<ip>
Scaling
Vertical Scaling: up/down shapes (CPUs, RAM)
- Downtime is required
- Best to stop instance first
Horizontal Scaling:
- Add/remove more VMs of the same shape
- Adds reduncancy and capability for load peaks
Autoscaling
- Running instance -> Config -> Instance Pool
- Scaling Rule for min/max size, thresholds for scaling
Oracle Container for Kubernetes (OKE) Cluster
Fully managed, scalable, highly available based on Kubernetes
- Worker Node: machine on which Kubernetes is installed
- Node Pool: group of Nodes
- Pod: Group of one of more containers in a cluster
Control Plane nodes:
- manage the worker node and the Pods in the cluster
- etcd: key/value pair database
- Managed by Oracle
Enhanced CLusters:
- Support all features
- Finanically backed SLAs
Basic Clusters:
- Basic features
- Non-finanical SLAs
Virtual Node:
- Serverless option
- Kubernetes is upgraded and security patches are applied while respecting application availability
- Managed by Oracle
- Can only be created in Enhanced Clusters
Managed Nodes
- Customer is responsible for managing the nodes
- Customer is responsible for upgrading Kubernetes and the capacity
- Can be created in Basic and Enhanced Clusters
Container Workloads
Container Instances: A simple way to run a container application without the complexity of Kubernetes
- Users supply the container image and resource limits for containers
- Serverless offering
Oracle Functions
Write code in a runtime and the cloud provider executes the code. Not even a container is needed.
- Function as a Service
- Event Driven Architecture
- Billed only for when the function runs
- Powered by OpenFn
Process:
- Push container to registry
- Configure trigger function (CLI, API, OCI events)
- Code only runs when triggered