Skip to main content

gRPC, GraphQL, Protobuf, and API Contracts on AWS

Cloud ArchitectureUpdated Palaniappan P2 min read

Quick summary: Protobuf on the wire saves bytes, and GraphQL saves round trips until resolvers N+1 your Aurora cluster. ALB gRPC, AppSync, and consumer-driven contracts with Pact.

Key Takeaways

  • Protobuf on the wire saves bytes, and GraphQL saves round trips until resolvers N+1 your Aurora cluster
  • As of June 2026, ALB supports gRPC over HTTP/2 to targets, and health checks need gRPC-specific config
  • AppSync hosts GraphQL with resolver mapping to Lambda/DynamoDB
  • Idempotency keys HTTP header at API Gateway plus a DynamoDB store is required for payment mutations regardless of protocol
  • Benchmark protobuf vs JSON on your hottest endpoint, and measure CPU, not just bytes
Three API contract cards — protobuf, GraphQL, JSON — on a navy desk with an ALB/AppSync split
Table of Contents

As of June 2026, ALB supports gRPC over HTTP/2 to targets, and health checks need gRPC-specific config. AppSync hosts GraphQL with resolver mapping to Lambda/DynamoDB.

Symptoms, mechanisms, and AWS controls

Production symptomMechanismAWS control
GraphQL N+1 resolver latencySequential data fetches per fieldAppSync pipeline resolvers, batch loaders
Proto breaking changes in prodUnversioned contract evolutionBuf breaking-change CI, ALB gRPC with versioned packages
Large JSON payloadsText serialization overheadgRPC + protobuf on NLB/ALB HTTP/2, API Gateway REST for external

My recommendation: gRPC/protobuf east-west, REST/JSON north-south, and GraphQL only when multiple clients need different field shapes. Don’t put GraphQL across your microservices mesh.

Protocol choice

ProtocolWinsAWS surface
gRPC + protobufStreaming, typed contractsALB → ECS/EKS
GraphQLFlexible readsAppSync
REST + JSONUbiquitousAPI Gateway HTTP API

N+1 problem: GraphQL runs resolvers per field. Batch with DataLoader pattern or AppSync pipeline resolvers.

Schema evolution

Protobuf: reserve fields, never reuse numbers. GraphQL: deprecate fields before removal. Run Pact consumer contracts in CI for internal microservices.

Idempotency keys

HTTP Idempotency-Key header at API Gateway plus a DynamoDB store is required for payment mutations regardless of protocol.

AWS services map

NeedServiceSkip when
Internal typed RPCECS/EKS gRPC behind ALB HTTP/2Public browser clients needing REST
Federated GraphQLAppSyncSimple CRUD with no client-driven queries
Contract governanceProtobuf + Schema Registry on MSKTwo-service integration with shared DTO

What to do this week

  1. Benchmark protobuf vs JSON on your hottest endpoint, and measure CPU, not just bytes.
  2. Trace GraphQL resolver count per query in AppSync logs.
  3. Add breaking-change check in CI for .proto files.

More in this track

Part of the Engineering Guides library (June 2026).

What this guide doesn’t cover

OAuth is covered in part 1 of the API track.

Frequently asked questions

When should I not put GraphQL on the service mesh?
Do not GraphQL east-west microservices. Use gRPC plus protobuf internally, REST/JSON north-south, and GraphQL only when multiple clients need different field shapes. N+1 resolvers will otherwise serialize Aurora.
Does ALB gRPC health checking work like HTTP?
No. ALB gRPC over HTTP/2 needs gRPC-specific health checks. Misconfigured checks fail targets that are serving fine on a REST probe.
How do I evolve protobuf without breaking consumers?
Reserve fields, never reuse numbers, and run Buf breaking-change CI. GraphQL should deprecate before removal. Add Pact consumer contracts in CI for internal services.
Do I still need idempotency keys on gRPC mutations?
Yes for payment and other unsafe writes, regardless of protocol. HTTP Idempotency-Key plus a DynamoDB store still applies when the mutation can retry.
Palaniappan P
Palaniappan P

AWS Cloud Architect & AI Expert

AWS-certified cloud architect and AI expert with deep expertise in cloud migrations, cost optimization, and generative AI on AWS.

AWS ArchitectureCloud MigrationGenAI on AWSCost OptimizationDevOps

Recommended Reading

Explore All Articles »