Chapter 39: Production Readiness Checklist
gRPC Production Checklist
- ☐ TLS enabled (never plaintext in production)
- ☐ Deadlines set on all client calls
- ☐ Health check service implemented
- ☐ Retry policy configured (with backoff)
- ☐ Keepalive configured (prevent idle connection drops)
- ☐ Max message size set (default 4MB, increase if needed)
- ☐ Interceptors for: logging, metrics, tracing, auth
- ☐ Graceful shutdown (drain connections before stopping)
- ☐ Connection pooling (reuse channels, don't create per-RPC)
- ☐ Load balancing configured (L7 or client-side round_robin)
- ☐ Rate limiting (protect from overload)
- ☐ Circuit breaker (stop calling failing dependencies)
- ☐ Proto backward compatibility checked (buf breaking)
- ☐ Server reflection enabled (for debugging with grpcurl)
- ☐ Compression enabled for large messages