We’re excited to announce the availability of Oracle Cloud Infrastructure (OCI) Container Instances, a serverless compute service that enables you to instantly run containers without managing any servers.
Today, organizations are actively adopting containers as the de-facto way of packaging and running applications in the cloud. In fact, Oracle Container Engine for Kubernetes (OKE), our managed Kubernetes service is widely used by OCI customers for running containers at scale. When you want a simple way to run a containerized application without using Kubernetes, you can provision a virtual machine (VM), install container runtime, and run your application on it. But this process still increases the operational complexity as you need to manage the VMs and servers, patch the operating system, and update the container runtime regularly.
OCI Container Instances takes all this operational complexity away and enables you to run containerized applications without managing any infrastructure. You provide the container images to run your application, while OCI manages the underlying container runtime and compute resources for you. Your containers run on fully managed compute that is optimized for container workloads and provides strong workload isolation for improved security.
With Container Instances, you pay for the CPU and memory resources at the same price as regular OCI Compute instances for the shape you selected. The serverless experience of Container Instances incurs no extra charges. So you no longer need to choose running containers on VMs that you manage yourself for cost savings. With the superior price-performance of OCI Compute and per-second billing, Container Instances provide the best value option for running containers in the cloud.
“With Container Instances we can quickly easily spin up back ends in development and test environments,” said Peter Merkert, CTO of Retraced. “For example, we run test databases in containers for our developers. And that’s it, no virtual machines to manage or audit.”
Container Instances provide significantly faster startup, deploying containers in seconds. You can easily create a new container instance with one or more containers by specifying the container images and a few simple parameters, either through the CLI, API, or Oracle Cloud Console. When creating a container instance, you also get the flexibility to specify your preferred shape for the underlying compute, CPU, and memory resources to be allocated, and the VCN subnet in which the container instance resides.
Container Instances allow you to run not just lightweight applications, but also resource-intensive applications. You can allocate all the CPU and memory provided by the underlying compute shape to a single container instance to run demanding workloads. For example, you can allocate up to 64 cores (128 vCPUs) and 1,024 GB memory to a single container instance by selecting E3 or E4 Flex shapes.
Container Instances combine the efficiency of containers with the strong isolation of VMs for improved security. Optimized for container workloads, a container instance is isolated at the hypervisor level and doesn’t share the underlying OS kernel or CPU or memory resources with any other container instances. With this second layer of defense, containers of different applications no longer share the same OS kernel, reducing the attack surface.
If you want to understand the details of how it works, this OCI First Principles video blog post explains Container Instances architecture.
Container instances are suitable for containerized workloads that don’t require a container orchestration platform such as Kubernetes. They’re ideal for running ephemeral workloads, such as build and deployment jobs as part of complete integration and deployment (CI/CD) pipelines, automation tasks for cloud operations, data/media processing, etc. With Container Instances, executing a container is as simple as an API call or a CLI command, so you can easily run containerized tasks as part of your DevOps, operations, or data processing workflows.
Container Instances are also suitable for running isolated web applications or RESTful APIs. You can use any framework of your choice to develop applications, package them as container images, and run them on Container Instances. The applications can be composed of a single container or a group of containers. Containers running on the same container instance are colocated and communicate over localhost or using the loopback interface, which enables patterns such as full-stack application deployments and sidecars.
Container Instances can also help you move legacy monolithic applications to the cloud. Typically, these applications aren’t built for cloud native platforms, such as Kubernetes. For example, they might not scale horizontally or tolerate the loss of replicas. You can containerize these standalone applications and run them on Container Instances without the operational overhead of provisioning, patching, and troubleshooting any servers or VMs. You can allocate CPU and memory required to satisfy the requirements of even the most demanding applications.
Furthermore, you can use Container Instances to create and tear down development and test environments quickly. Instead of using local workstations or managing VMs, developers can easily rely on Container Instances to improve productivity and avoid running into resource limits of local workstation or risk of running unknown workloads. Developers can also use it to quickly set up test back-ends that their application needs to access during development or testing.
OCI Container Instances service provides a simple, quick, and secure way to run containers without managing any servers. Unlike other cloud providers, you don't have to pay any additional charges for the serverless experience of OCI Container Instances, giving you the best value option for running containers in the cloud.
Sign up to attend our webcast, where we share how customers use OCI Container Instances! For running your containerized apps on Kubernetes without managing infrastructure, see Oracle Container Engine for Kubernetes (OKE).
To learn more about OCI Container Instances, see the following resources:
Learn more: OCI Container Instances
OCI Serverless Containers, Kubernetes, and Functions services.