Table of Contents
What Changes Between Prototype and Production
A prototype that runs inference on a single dedicated GPU server proves that your model works. Production proves that it works reliably under real traffic with real users depending on it. The gap between these two states is where most AI teams encounter their hardest infrastructure challenges. Scaling inference is not simply adding more hardware; it requires rethinking how your system handles concurrency, failures, and variable demand.
In prototype mode, you tolerate occasional slow responses, restart the server manually when something goes wrong, and test with a handful of requests. In production, every request must complete within your latency SLA, failures must be handled automatically, and the system must sustain throughput during traffic spikes. Understanding this gap early helps you build the right architecture from the start.
| Dimension | Prototype | Production |
|---|---|---|
| Traffic | Manual testing, few requests | Sustained load, unpredictable spikes |
| Availability | Tolerates downtime | 99.9%+ uptime required |
| Latency | Acceptable if it completes | P99 within defined SLA |
| Error handling | Manual investigation | Automated recovery, alerting |
| Monitoring | SSH and check manually | Dashboards, alerts, logging |
| Deployment | Manual model updates | Zero-downtime deployments |
Production Readiness Checklist
Before accepting production traffic, validate each of these areas. Skipping any one creates a risk that compounds as traffic increases.
| Category | Requirement | Implementation |
|---|---|---|
| Inference server | Production-grade serving framework | vLLM, TGI, or Triton |
| API layer | Rate limiting, authentication, input validation | Reverse proxy (nginx) + API gateway |
| Health checks | Automated liveness and readiness probes | HTTP endpoints checked by load balancer |
| Auto-restart | Service recovery after crashes | systemd, Docker restart policy, or supervisor |
| Logging | Structured request/response logging | JSON logs shipped to aggregation service |
| Monitoring | GPU, latency, throughput, error rate metrics | Prometheus + Grafana or equivalent |
| Alerting | Notifications for degraded performance | PagerDuty, Slack, or email alerts |
For the inference server, vLLM is the leading choice for LLM serving in production due to its PagedAttention memory management and continuous batching. The vLLM production setup guide walks through configuration for high-availability deployments. For teams evaluating options, the vLLM vs Ollama comparison covers the trade-offs between ease of use and production performance.
Optimising Your Single-Server Deployment
Before adding hardware, extract maximum performance from your existing server. Optimisation is cheaper than scaling and often delivers dramatic improvements.
Start with model optimisation. Quantising from FP16 to INT8 or INT4 reduces VRAM usage and often increases throughput with minimal quality impact. For LLM inference, AWQ and GPTQ quantisation are well-supported by vLLM. The best GPU for LLM inference analysis includes quantisation throughput benchmarks.
Next, tune your serving configuration. Increase the maximum batch size to improve GPU utilisation during concurrent requests. Enable continuous batching to process new requests without waiting for the current batch to complete. Adjust KV cache allocation to balance between maximum context length and concurrent request capacity.
Verify your optimisations with load testing using realistic traffic patterns. The tokens per second benchmark provides baseline expectations, but your actual throughput depends on prompt length distribution, generation length, and concurrency patterns specific to your application.
Horizontal Scaling: Adding More Servers
When a single optimised server reaches its capacity ceiling, horizontal scaling adds more servers running identical model deployments. This approach is straightforward for inference workloads where each request is independent: a load balancer distributes requests across your server pool, and each server processes requests independently.
Horizontal scaling is the preferred approach when your model fits comfortably on a single GPU, you need higher aggregate throughput, you require redundancy for high availability, and your traffic is variable and you want to match capacity to demand.
Each additional server linearly increases your total throughput. Two servers double your capacity, four servers quadruple it. With GigaGPU’s fixed monthly pricing, the cost scales predictably. The self-hosting breakeven analysis shows how this compares to per-token API pricing at various scale points.
Vertical Scaling: Bigger Hardware
Vertical scaling means moving to more powerful hardware: a faster GPU, more GPUs in a single server, or a multi-GPU cluster. This approach is necessary when your model does not fit on a single GPU or when you need the performance of larger hardware for latency-sensitive workloads.
| Scaling Trigger | Horizontal (More Servers) | Vertical (Bigger Hardware) |
|---|---|---|
| Need more throughput | Preferred (simpler) | Alternative if latency is critical |
| Model exceeds single GPU VRAM | Not applicable | Required (multi-GPU) |
| Need lower per-request latency | Does not help | Faster GPU reduces latency |
| Want redundancy / failover | Preferred (natural redundancy) | Still need multiple nodes |
| Moving to larger model (e.g., 7B to 70B) | Not applicable | Required (more VRAM) |
The single vs multi-GPU scaling guide provides detailed benchmarks for different multi-GPU configurations. For most teams, a combination of horizontal and vertical scaling delivers the best results: multi-GPU servers for large models, with multiple such servers for throughput and redundancy.
Load Balancing and Request Routing
A load balancer sits between your clients and your inference servers, distributing requests for optimal performance and providing failover when a server is unhealthy. For AI inference, the load balancing strategy matters more than for typical web traffic because request processing times vary significantly based on prompt and generation length.
Least-connections routing works better than round-robin for LLM inference because it accounts for variable request duration. A server processing a long generation should receive fewer new requests than one that just completed a short response. Implement health check endpoints that verify not just that the server is running but that the GPU is responsive and the model is loaded.
The production inference server guide covers load balancer configuration with examples for nginx and HAProxy. For API-centric deployments, the API hosting infrastructure provides additional guidance on building robust inference APIs.
Monitoring and Observability at Scale
At production scale, you need visibility into every layer of your inference stack. Without comprehensive monitoring, you are operating blind, reacting to user complaints instead of preventing issues.
| Metric | Alert Threshold | Action |
|---|---|---|
| GPU utilisation | Above 90% sustained | Plan capacity expansion |
| P99 inference latency | Above SLA target | Investigate bottleneck, scale if needed |
| Error rate | Above 0.1% | Investigate root cause immediately |
| GPU temperature | Above 85 degrees C | Check cooling, reduce batch size |
| VRAM usage | Above 95% | Risk of OOM, reduce batch or context size |
| Request queue depth | Growing consistently | Demand exceeding capacity, scale out |
Deploy Prometheus for metrics collection, Grafana for dashboarding, and Loki or a similar tool for log aggregation. With full root access on GigaGPU’s bare-metal servers, you can install any monitoring stack without restrictions. The GPU server uptime and reliability guide covers monitoring best practices and SLA management in more detail.
For teams making the transition from cloud GPU to dedicated infrastructure, the migration guide covers the full process including production cutover strategies. Explore the LLM hosting blog category for more scaling and optimisation guides.
Scale AI Inference on Dedicated Hardware
From single-server prototype to multi-node production. Bare-metal GPU servers in UK datacentres with fixed pricing and 99.9% SLA.
Browse GPU Servers