Computing Requirements for RavenDB in Containers

Whether you're deploying on-premises, in virtual machines, or in managed Kubernetes environments, understanding the computing requirements is key to ensuring smooth operation.

Container Runtime

RavenDB requires a container runtime capable of running the Docker image. This includes common runtimes such as:

  • Docker
  • Podman
  • containerd

Ensure your runtime supports the architecture and platform for your deployment.

Machine Requirements

To achieve optimal performance, allocate resources according to your workload:

  • CPU: A minimum of 2 cores is required for basic setups. For medium workloads, allocate at least 4 cores.
  • Memory: At least 1 GB of RAM is essential for minimal setups. If additional memory is needed, consider using swap as an alternative for super-minimal setups.
  • Storage: SSDs are recommended for low-latency I/O operations. Ensure sufficient capacity to accommodate your database size, along with extra space for indexing and backups.

Deployment Options

On-Premise machines

Deploy RavenDB containers on your physical servers. It provides full control over your hardware and networking. It's suitable for environments with existing infrastructure.

All you need is one of the container runtimes, and a kernel.

Virtual Machines (VMs)

Cloud-based or self-hosted VMs. It's scalable and flexible, while maintaining control over resources. AWS EC2, Azure Virtual Machines, or private data centers.

Kubernetes

Run RavenDB in managed Kubernetes clusters to simplify container orchestration and scalability. This option supports dynamic workloads with features like autoscaling and node group management.

You should be able to deploy a node group to match your computing needs. Many providers are offering such service - EKS, AKS, GKE, etc. Kubernetes always increases the cost of a solution by far, but the power it offers is often unmatched.

ARM Architecture Support

RavenDB supports ARM64, allowing deployments on cost-efficient architectures.

  • AWS Graviton instances.
  • Azure Ampere-based virtual machines.
  • Google Cloud Tau T2A instances.

The official RavenDB Docker image is compatible with both x64 and ARM64, ensuring broad support across modern hardware.