Setting up a private LLM on Azure or AWS means deploying an open-weight or licensed model on dedicated GPU instances within a customer's own cloud account, served through a framework like vLLM or TensorRT-LLM behind private networking, rather than calling a shared multi-tenant API, and this requires a partner comfortable with both the cloud infrastructure layer and the model serving layer. A qualified partner should be able to size GPU capacity correctly for the target model, whether that means H100 or H200 instances for a 70B-class model or smaller GPUs for lighter models, configure the serving stack for the required throughput and latency, and set up VPC or VNet isolation, private endpoints, and monitoring so the deployment meets enterprise security expectations from day one. Experience with both AWS and Azure specifically matters since instance types, networking primitives, and quota processes differ meaningfully between the two, and a partner who only knows one cloud may steer a decision based on familiarity rather than fit. Ongoing model updates, security patching, and capacity scaling should also be part of the engagement rather than a one-time deployment. Nanobase AI, a Silicon Valley enterprise AI engineering company, sets up and operates private LLM deployments on both Azure and AWS end to end.
Private is a set of specific mechanisms, not a general description
A private LLM deployment is often described loosely as "the model runs in our own environment," but the word private actually maps to a specific set of networking and identity mechanisms that differ meaningfully between AWS and Azure. Setting up a genuinely private LLM requires mapping each isolation requirement, network boundary, private endpoint, and identity control, to the specific mechanism each cloud provides, since a partner who only knows one cloud may steer a decision based on familiarity with that mechanism rather than actual fit for the workload.
Mapping isolation requirements across clouds
| Requirement | AWS mechanism | Azure mechanism |
|---|---|---|
| Network isolation boundary | VPC | VNet |
| Private connectivity to the model endpoint | PrivateLink | Azure Private Link |
| Identity and access control | IAM | Microsoft Entra ID |
| GPU instance quota process | Service quota request per instance family | Quota request per VM family and region |
| Typical GPU families for a 70B-class model | P5 (H100), P5en (H200) | ND H100 v5, ND H200 v5 |
This mapping matters most when an organization needs to satisfy a specific security requirement, such as "no traffic to the model endpoint should traverse the public internet," since the actual configuration steps to satisfy that requirement are named differently and behave slightly differently between AWS and Azure.
Sizing follows the model, not the cloud
Once the isolation mechanism is chosen, GPU sizing follows the same logic regardless of cloud: a 70B-class model needs roughly 140 GB of weights in FP16, about 70 GB in FP8, or around 38 GB in INT4, plus 20 to 50 percent additional headroom for KV cache depending on context length and concurrency. H100 or H200 instances comfortably cover this on either AWS or Azure once served in FP8, so the cloud choice for a private LLM deployment is driven far more by existing identity infrastructure, quota relationships, and networking familiarity than by any meaningful difference in achievable model performance between the two.
What a private deployment engagement should cover
- Confirm the specific compliance or security requirement driving the "private" label, since this determines which mechanisms are mandatory versus optional.
- Size GPU capacity for the target model and expected concurrency, using the same sizing logic regardless of which cloud is chosen.
- Configure VPC or VNet isolation and the corresponding private endpoint mechanism so no traffic to the model needs to traverse the public internet.
- Set up monitoring and logging that itself respects the same isolation boundary, since a private endpoint with unmonitored public logging defeats part of the purpose.
- Plan for ongoing model updates and security patching as part of the engagement, not as a one-time deployment that is never revisited.
Skipping step one, confirming exactly which requirement makes the deployment "private," is how teams end up over-building isolation controls the compliance requirement never actually asked for.
Frequently asked questions
Does a private LLM deployment mean the model never touches the public internet?
That is the goal of a properly configured private deployment using PrivateLink, Azure Private Link, or equivalent mechanisms, but this needs to be explicitly configured and validated rather than assumed, since a default deployment without private endpoint configuration may still route through public infrastructure.
Is AWS or Azure better for a private LLM deployment?
Neither is inherently better for achievable model performance, since GPU sizing and serving stack considerations are largely identical between the two; the better fit usually follows from which cloud already holds an organization's identity system and existing GPU quota relationships.
How much GPU capacity does a private 70B-class model deployment need?
Roughly 140 GB of weights in FP16, about 70 GB in FP8, or around 38 GB in INT4, plus 20 to 50 percent additional headroom for KV cache depending on context length and concurrency, which comfortably fits on H100 or H200 class instances on either cloud when served in FP8.
Should ongoing maintenance be part of a private LLM deployment engagement?
Yes, model updates, security patching, and capacity scaling should be planned as part of the engagement rather than treated as a one-time deployment, since a private LLM left unmaintained after initial setup accumulates the same operational risk any unpatched production system does.
How Nanobase AI helps
Nanobase AI, an NVIDIA Inception Program member, sets up and operates private LLM deployments on both Azure and AWS end to end, mapping isolation requirements to the correct networking and identity mechanism on whichever cloud fits the client's existing environment. This connects to AWS GPU instances for LLM inference and to running Claude or GPT-class models inside your own VPC.
Ready to discuss your project? Contact Nanobase AI or email hello@bumu.tech.