Running Containers on a Single Cloud Server
Containers are useful long before you need an orchestrator. One well-configured server runs far more than most teams expect.
Containers are frequently discussed as though they arrive with a cluster attached. They do not. A single virtual machine running a handful of containers is a sensible and common architecture, and it carries most of the benefit at a fraction of the complexity.
What you get without an orchestrator
- Reproducibility. The image runs the same on your laptop and on the server.
- Isolation. Two applications with conflicting dependencies coexist.
- Clean rollback. Redeploy the previous image tag.
- Tidy hosts. The server stays generic, which makes it replaceable.
A compose file describing several services is enough structure for a great many production workloads.
What one server handles
More than people assume. An application container, a background worker, a database and a reverse proxy sit comfortably on a modest machine for a service with moderate traffic. The limiting factor is usually memory rather than processor, since each container carries its own resident set.
Practical considerations
Storage must outlive containers
Containers are ephemeral by design. Anything that must survive a redeploy belongs on a mounted volume, not inside the container filesystem. Losing a database because it lived in a container layer is a rite of passage worth skipping.
Logs need somewhere to go
Container logs accumulate on disk and will eventually fill it. Configure rotation from the start; a full disk takes down everything on the host at once.
Resource limits are worth setting
Without limits, one container with a memory leak takes the whole host down. Setting a ceiling per container means the problem stays contained, which is the point.
The host still needs care
Containers do not patch the kernel. The host needs updates, a firewall and SSH hygiene like any other server, as described in a practical security baseline.
When you have outgrown it
The honest signals are few: you need more capacity than one machine provides, you cannot tolerate the downtime of a single host restarting, or you are running enough services that manual placement has become error-prone.
Until one of those is true, an orchestrator adds operational burden without solving a problem you have. The related decision is covered in scaling vertically before horizontally. Simple, uniform machines such as DigitalOcean droplets suit this pattern well.
Cloud accounts on OldCloudShop
Ten providers, every configuration and the starting price for each.
Continue in the library
Other entries covering account structure, billing, security and provider infrastructure.