Home

Supported Applications

Every stack, operated with precision.

Aureus supports all production application stacks. What differentiates us is not compatibility — it is operational depth. Our infrastructure engineering team has run production environments for the stacks below long enough to know where each one fails under load, how the failure presents, and how to prevent it.

The notes below are not marketing copy. They are a representative summary of the operational considerations we account for when designing a cluster for your application.

01

Next.js · React · Node.js

Most common
  • ·Node.js 20 LTS / 22 LTS
  • ·pnpm / npm workspaces
  • ·Turborepo monorepo support
  • ·Edge + Node.js dual runtime

The dominant stack for product-led companies. High deployment surface area, complex build pipelines, and runtime behaviour that diverges significantly between development and production.

Next.js App Router applications exhibit a split between statically generated and dynamically rendered routes. Our cluster configurations account for this asymmetry — edge cache layers for static paths, isolated Node.js process pools for server-rendered routes under concurrent load.

Node.js event loop saturation under high I/O concurrency is the primary failure mode for this stack in production. We instrument CPU and memory pressure independently per process group and auto-scale worker threads ahead of saturation thresholds, not reactively.

Build artefacts are cached deterministically between deploys. Cold start times for large Next.js applications (>500 modules) are reduced by pre-warming replicas before traffic cut-over.

02

Ruby on Rails

Deep expertise
  • ·MRI Ruby 3.x
  • ·Puma / Unicorn
  • ·Sidekiq / Solid Queue
  • ·PgBouncer connection pooling

Rails remains one of the most operationally demanding stacks to run at scale. Memory bloat, GIL-bound concurrency, and ActiveRecord N+1 patterns under load require infrastructure that compensates where the runtime cannot.

A standard Rails monolith running Puma with 5 workers and 5 threads per worker will consume between 800 MB and 2.5 GB of resident memory under moderate load, depending on gem surface area. Our cluster sizing accounts for this envelope explicitly, not as an afterthought.

Background job infrastructure (Sidekiq, Solid Queue, GoodJob) is treated as a first-class deployment concern. Queue workers run in isolated process namespaces with independent resource limits, preventing job backlog spikes from degrading web request latency.

Database connection pool exhaustion is the most common Rails production incident. We pre-configure PgBouncer in transaction mode as a standard layer between Rails and PostgreSQL on all clusters running this stack.

03

Python · FastAPI · Django

ML-ready
  • ·Python 3.11 / 3.12
  • ·Gunicorn / Uvicorn / Hypercorn
  • ·Django / FastAPI / Flask
  • ·ML inference workloads supported

Python workloads span a wide operational range — from synchronous Django monoliths to async FastAPI services to inference endpoints. Each pattern has distinct infrastructure requirements that a general-purpose host cannot address.

WSGI-bound Django deployments (Gunicorn + Uvicorn) require careful worker count calibration relative to available vCPUs and response time distribution. We instrument p95 and p99 latency per endpoint and adjust worker concurrency dynamically during traffic spikes.

Async FastAPI services under high connection concurrency expose a different failure mode: event loop blocking caused by synchronous database drivers or CPU-bound operations. Our clusters run these workloads with dedicated CPU core pinning to prevent interference from other processes.

Python applications with machine learning inference requirements (PyTorch, scikit-learn, Transformers) benefit from our Cluster M and Cluster L configurations, which provide sufficient RAM headroom for model loading without swapping. Model weights are pre-loaded into memory at boot, not at request time.

04

Rust

Performance-critical
  • ·Rust stable / nightly
  • ·Tokio / Actix / Axum
  • ·10 Gbps network ceiling
  • ·sccache build acceleration

Rust services are typically deployed for one reason: the application cannot afford the overhead of a garbage-collected runtime. We treat Rust workloads with the precision their performance requirements demand.

Rust binaries in production operate at memory footprints orders of magnitude lower than equivalent Node.js or Python services. This changes the infrastructure calculus: the bottleneck is rarely compute, almost always I/O throughput — network, disk, or IPC. Our bare metal network layer (up to 10 Gbps) is sized to match what Rust services are actually capable of pushing.

Async Rust applications (Tokio runtime) require careful tuning of thread pool sizing relative to the number of physical cores available. On shared infrastructure, vCPU contention introduces latency spikes that are invisible at low load and catastrophic at high load. On a dedicated bare metal cluster, your Tokio workers own the cores.

Compilation and deployment pipelines for Rust are optimised for incremental builds with sccache. Full cold builds of large Rust workspaces (1M+ lines) complete in under 4 minutes on our build infrastructure.

05

Go

High-concurrency
  • ·Go 1.21+
  • ·net/http / Gin / Echo / Fiber
  • ·Static binary deployment
  • ·Dedicated GOMAXPROCS

Go services are built for concurrency. Running them on shared infrastructure introduces scheduler interference that eliminates the throughput advantages the language was designed to provide.

Go's goroutine scheduler maps M goroutines to N OS threads. On shared virtualised infrastructure with vCPU contention, GOMAXPROCS is effectively lower than the value reported by the runtime, causing latency degradation under load that is difficult to attribute without precise CPU telemetry.

On a dedicated Aureus cluster, GOMAXPROCS reflects physical core availability without virtualisation overhead. A Go HTTP service that handles 40,000 requests per second on dedicated hardware will typically cap at 12,000–18,000 on a shared VPS with the same nominal vCPU count.

We deploy Go services as single static binaries with minimal container overhead. Health check probes, graceful shutdown handling, and zero-downtime rolling deploys are configured at the cluster level, not delegated to the application.

+

Everything else

Java (Spring Boot), Elixir (Phoenix), .NET, Bun, Deno, and any other runtime that runs in a container. If your stack is not listed above, we support it — the notes above simply reflect where our team has the deepest operational record. Bring us your stack and we will review it before provisioning.

Tell us what you are building and we will design a cluster around it. Every Aureus cluster is sized and configured for the application it runs — not selected from a dropdown.

Request Access