Container Types
Container Types and Use Cases
Container Types
System-container implementations include LXC/LXD, OpenVZ/Virtuozzo, BSD Jails, and Linux-VServer. The platform uses Virtuozzo system containers. Application-container technologies include Docker, containerd, and CRI-O, with Docker used as the primary application-container technology.
Many cloud platforms run Docker application containers inside virtual machines. Each virtual machine adds a guest operating system with its own memory, CPU, and disk overhead. In this platform, Docker can run inside a system container while sharing the host kernel, reducing resource consumption while maintaining isolation.
Certified Managed Containers
Certified managed containers are the most common and recommended option. The platform provides preconfigured and managed software stacks for application servers, load balancers, databases, build nodes, and other services.
- Java, PHP, Node.js, Ruby, Python, and Go application servers
- SQL and NoSQL databases
- Load balancers and caching services
- Storage and build nodes
- Flexible multi-layer application topologies
The platform team tests and optimises certified stacks and regularly releases stable versions or security updates. These containers can also provide platform-specific integrations.
- Resource-aware automatic configuration
- Built-in vertical and horizontal scaling
- Automated SSL certificate installation
- Application deployment automation
- Built-in auto-clustering
- Managed delivery of security updates
Virtual Private Servers (Elastic VPS)
Elastic VPS is a straightforward system-container use case. It provides an operating-system-based container with distributions such as CentOS, Ubuntu, or Debian and without preinstalled application software.
This option is useful for legacy applications because migration from a virtual machine may require few or no architectural changes. The user is responsible for installing and configuring the required software, and root access is provided.
Custom Docker Containers
A custom Docker container uses a compatible Docker image deployed inside a system-container runtime. The Docker image filesystem is unpacked into the platform container, making it compatible with many platform capabilities, including vertical and horizontal scaling.
This option gives access to a broad range of third-party software images from Docker Hub and other compatible public or private registries. However, compatibility and reliable operation depend on the third-party image maintainer.
Docker Engine CE (Docker Native)
The platform supports Docker Engine Community Edition running inside a system container while retaining compatibility with the native Docker ecosystem.
This integration supports the primary Docker tools:
- Docker Engine — builds from Dockerfiles or runs prebuilt images.
- Docker Registry — stores and distributes public or private images.
- Docker Compose — defines and runs multi-container applications through one compose file.
Kubernetes Cluster
Kubernetes is suitable for orchestrating complex containerised applications that require automated deployment, scaling, networking, service discovery, and lifecycle management across multiple nodes.
The platform can deploy a preconfigured Kubernetes cluster and provide tools for cluster access, upgrades, storage, backups, ingress management, and application deployment.
