The big three cloud providers all ship managed LLM services in 2026: AWS has SageMaker and Bedrock, Google has Vertex AI, and the pattern-match for enterprises moving to production is “pick one and go.” But the three platforms are not interchangeable. SageMaker is a general ML platform where LLMs are one workload among many. Bedrock is AWS’s hosted frontier-model API (Claude, Llama, Mistral, Titan). Vertex AI combines Google’s own Gemini with hosted open-source models. Each has distinct strengths. This article compares the three on supported models, deployment experience, pricing, enterprise features, and the specific use cases that make one the right pick.
What each platform is
AWS SageMaker: the general-purpose ML platform on AWS. Deploy any model (frontier LLMs, open-source Hugging Face models, your own fine-tuned weights) on managed infrastructure. More flexibility, more configuration, bring-your-own-container supported. SageMaker JumpStart provides one-click deploys for popular foundation models.
AWS Bedrock: AWS’s hosted foundation-model API. Access Anthropic Claude, Meta Llama, Mistral, Amazon Titan, Cohere Command through a single API. No infrastructure management; pay per request. Think of it as “AWS’s answer to the OpenAI API” with multi-vendor model selection.
Google Vertex AI: GCP’s unified ML platform. Hosts Google’s own Gemini family natively plus Model Garden (open-source models from Hugging Face, Mistral, Anthropic). Includes training, tuning, deployment, monitoring in one product.
Supported models in 2026
| Model | SageMaker | Bedrock | Vertex AI |
|---|---|---|---|
| Claude Opus 5.5 / Sonnet 5.5 / Haiku 5.5 | no | yes | yes |
| Gemini 2.5 Pro / Flash | no | no | yes (native) |
| GPT-4o / GPT-5 | no | no | no (direct OpenAI only) |
| Meta Llama 3.3 70B | yes (JumpStart) | yes | yes |
| Mistral Large 2026 | yes | yes | yes |
| Amazon Titan / Nova | yes | yes | no |
| Custom fine-tuned models | yes (full control) | limited (custom imports since 2024) | yes |
| Hugging Face Hub models | yes | no | yes (Model Garden) |
Deployment experience
Bedrock (easiest):
import boto3
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
response = bedrock.converse(
modelId="anthropic.claude-sonnet-5-5-20260101-v1:0",
messages=[{"role": "user", "content": [{"text": "Hello"}]}],
)
print(response["output"]["message"]["content"][0]["text"])No deploy, no infrastructure. Pay per token.
Vertex AI (also easy for Google models):
from google import genai
client = genai.Client(vertexai=True, project="my-project", location="us-central1")
response = client.models.generate_content(
model="gemini-2.5-pro",
contents="Hello",
)
print(response.text)Gemini models are native. For open-source models via Model Garden, deploy to a Vertex endpoint (needs infrastructure provisioning similar to SageMaker).
SageMaker (most flexible, more config):
from sagemaker.jumpstart.model import JumpStartModel
model = JumpStartModel(model_id="meta-textgeneration-llama-3-3-70b-instruct")
predictor = model.deploy(instance_type="ml.p4d.24xlarge")
response = predictor.predict({
"inputs": "Hello",
"parameters": {"max_new_tokens": 200},
})Deploy takes 5-15 minutes. You own the endpoint; pay per instance-hour whether traffic exists or not (unless autoscaling to zero is configured).
Pricing comparison
Three different billing models:
- Bedrock: per-token (like OpenAI). Example: Claude Sonnet 5.5 at $3/M input, $15/M output. Same as going direct to Anthropic. No infrastructure base cost.
- SageMaker: per-instance-hour. Example: ml.p4d.24xlarge (8xA100) runs ~$32/hour. Pay for the box, serve as much traffic as it handles. Cheaper at high volume.
- Vertex AI: hybrid. Gemini models billed per-token (like Bedrock). Open-source Model Garden deployments billed per-instance-hour (like SageMaker).
Example: 10M requests/month averaging 500 input + 200 output tokens on Claude Sonnet 5.5:
- Bedrock: 10M * (500 * $3 + 200 * $15) / 1M = $45,000/month
- SageMaker on your own A100 serving Llama 3.3 70B (comparable quality): 1 instance $32/hr * 730 hr = $23,360/month
SageMaker wins at steady high volume. Bedrock wins at low/variable volume or when you specifically need Claude.
Enterprise features
All three ship enterprise fundamentals (SOC 2, HIPAA, IAM, VPC). Where they differ:
- Data residency: Bedrock supports 20+ regions; Vertex supports 30+; SageMaker runs in every AWS region (40+). For strict residency requirements (EU-only, India-only), check model availability per region (not all models in all regions).
- Private endpoints: all three support VPC-only endpoints. Bedrock PrivateLink, Vertex Private Service Connect, SageMaker VPC endpoints. Standard patterns.
- Model audit logs: Bedrock CloudWatch, Vertex Audit Logs, SageMaker CloudWatch. All stream to your SIEM.
- Guardrails: Bedrock Guardrails (built in, policy-based), Vertex Safety Settings (per-request thresholds), SageMaker requires integrating a separate guardrails framework (Lakera, NeMo, etc).
- Fine-tuning: all three support it; SageMaker has the most flexibility, Bedrock the simplest API.
Which platform wins by use case
- You need Claude in a HIPAA/SOC-2 context: Bedrock (Claude via BAA with AWS)
- You need Gemini specifically: Vertex AI (only official enterprise channel)
- You want to run your own fine-tuned Llama/Mistral at high volume: SageMaker (full control + volume economics)
- You are a pure AWS shop: Bedrock for frontier models + SageMaker for custom/high-volume. The two combine cleanly.
- You are a pure GCP shop: Vertex AI (one platform for everything, including Gemini)
- Multi-cloud: Bedrock + Vertex together. SageMaker is AWS-only.
- You need to deploy a custom model you built: SageMaker (any container, any framework) or Vertex (Model Garden)
- You want the simplest “just give me Claude” setup: Bedrock (3-line boto3 call)
- You are already deep in SageMaker for traditional ML: stay on SageMaker (LLMs integrate with the pipelines you have)
The multi-platform pattern
Mature enterprises in 2026 often run two or three in parallel:
- Bedrock for frontier model access (Claude for highest quality tasks)
- SageMaker for high-volume custom models (Llama 3.3 70B at scale, cost-optimized)
- Vertex AI for Gemini-specific tasks (multimodal, long context, image generation)
Route between them via an LLM router (Portkey, LiteLLM) based on task shape. Keeps vendor lock-in minimal while using the best model per task. Pattern is becoming standard at F500 companies with internal AI platforms.
Operational gotchas
- Bedrock throughput tiers: on-demand has unpredictable throughput at peak. For guaranteed throughput, buy Provisioned Throughput (reserved capacity). Required for latency-sensitive production.
- Vertex quota approval: Gemini Pro quota is auto-approved; higher-tier quotas require case approval that can take 1-3 weeks. Request before you need it.
- SageMaker endpoint cold start: provisioning an endpoint takes 5-15 minutes. For dev iteration, keep an endpoint always warm or use SageMaker Serverless Inference.
- Region drift: not all models available in all regions. Claude in Bedrock us-east-1 may not be in eu-west-1 yet. Test region availability during planning, not after deploy.
Frequently Asked Questions
Can I use Bedrock without being on AWS?
Yes but with limits. Bedrock has public HTTPS endpoints; you can call from anywhere with an AWS access key. The issue is latency (region matters) and the lack of VPC integration if your app is on a different cloud. For most non-AWS shops, going direct to Anthropic is simpler.
Does Vertex AI support Anthropic Claude?
Yes, since late 2024. Vertex Model Garden includes Claude Opus 5.5, Sonnet 5.5, and Haiku 5.5 under Anthropic’s partnership with Google Cloud. Same API shape as Gemini models. One platform for Claude + Gemini + open-source.
How do these compare to Azure AI Foundry?
Comparable positioning: Azure OpenAI Service (hosted OpenAI models + Microsoft Phi) + Azure AI Model Catalog (open-source and Anthropic). Azure’s unique angle is deep integration with Microsoft 365 and Copilot. For Microsoft-shop enterprises, Azure is the obvious pick; for everyone else, Bedrock/Vertex/SageMaker cover the same bases.
Can I move my app from one to another easily?
Partially. If you use an LLM router (Portkey, LiteLLM), swapping providers is a config change. Direct SDK integration (boto3 for Bedrock, google-genai for Vertex, sagemaker Python SDK) is more coupled; expect 1-2 weeks of migration work per service.
Do these support streaming?
Yes, all three. Bedrock Converse streaming via converse_stream(). Vertex Gemini streaming via generate_content_stream(). SageMaker streaming via Response Streaming endpoints (configured per deployment).
What about data privacy for enterprise?
All three contractually commit NOT to use your inference data for training. Bedrock customer data stays in the AWS region; Vertex offers data residency commitments; SageMaker runs entirely in your VPC. For strict compliance (HIPAA, financial regulations), all three provide BAAs on enterprise agreements.
