Compute and provisioning
GPU capacity acquisition, node pools, drivers and CUDA stacks kept compatible with the serving engine.
Everything around the model that keeps it serving: the platform components, the operational discipline for shipping model changes safely, scaling under bursty load, running across regions and clouds, and composing multiple models into one product.
GPU capacity acquisition, node pools, drivers and CUDA stacks kept compatible with the serving engine.
The inference engine plus a gateway in front: authentication, quotas, routing, failover between backends.
Scheduling models onto hardware, autoscaling policies, dynamic allocation across workloads.
Which model, weights, prompt, and config are live where; the ability to answer that question is a prerequisite for safe changes.
Access control on invocation and on model artifacts, protection of prompts and outputs, audit of who changed what.
Cost-to-serve per workload and per feature; levers are model choice, hardware fit, batching, routing, and scaling policy.
The operational practice of treating model deployments with the same rigor as code deployments, adapted to artifacts whose failures are behavioral, not just crashes:
Inference traffic is bursty, and GPU minutes are expensive in both directions: over-provisioning wastes money, under-provisioning drops requests. Elastic scaling for LLMs is harder than classic autoscaling for two reasons:
A new replica pays three sequential bills: provisioning a GPU instance, pulling a large container image, and loading tens of gigabytes of weights from storage into GPU memory. Mitigations attack each stage: warm pools, image caching and slimming, weights on fast local storage or streamed in parallel. Scale-to-zero saves idle cost but puts the full cold start on the first request; decide per workload.
CPU utilization says little about a GPU-bound service, and reported GPU utilization can look high while the chip does little useful work. Scale on demand-side signals instead: queue depth, in-flight concurrency, and request rate, correlated with the batch sizes the engine actually achieves.
Production features are rarely one model. A retrieval-augmented answer chains an embedding model, a retriever, often a reranker, a generator, and safety checks; document AI chains OCR, layout, classification, and summarization; multimodal assistants add per-modality encoders. Composing specialists beats one monolithic model when stages have different capability needs, different hardware sweet spots, and different scaling behavior.
Self-managed inference infrastructure carries costs that rarely appear in the first estimate: GPU procurement in a scarce market, autoscaling and concurrency control built and tuned by hand, optimization features (prefix caching, disaggregation) that platforms include but DIY stacks must implement, GPU-aware observability, and a dependency treadmill of engine, framework, and driver versions that must move in lockstep. Add the application glue (pre/post-processing, connectors, per-model streaming and caching behavior) and the scarce, expensive talent to run it all. Weigh that recurring engineering cost against platform fees and the opportunity cost of what the team is not building; the right answer differs by scale, and revisit it as volume grows.