Course Objective & Scope
In chatty east-west communication between microservices, text-based JSON/REST calls can introduce serialisation overhead, higher latency and loose contract issues. Built on HTTP/2 and Protocol Buffers, gRPC delivers strongly typed contracts, compact binary payloads and bidirectional streaming for internal service communication.
This course covers proto3 schema design and backward-compatibility rules, linting and breaking-change detection with Buf, the four RPC modes (unary, server/client/bidirectional streaming), interceptors, standard status codes, deadline and cancellation propagation, Kubernetes/L7 load balancing and mTLS security. Participants build a production-ready gRPC contract and communication layer between two services.
Who Should Attend?
- Backend developers (.NET, Java, Go, Node.js) building low-latency, high-throughput internal services
- Architects standardising shared API contracts across polyglot microservice environments
- Platform engineers responsible for service mesh and load balancing configuration
- Prerequisite: service development experience in any backend language and basic HTTP knowledge
Key Takeaways
- Design evolvable, backward-compatible Protocol Buffers (proto3) schemas
- Implement unary, server streaming, client streaming and bidirectional streaming RPCs
- Handle deadlines, cancellation propagation, retries and rich error details (Status/ErrorInfo) properly
- Solve L4 vs L7 load balancing pitfalls caused by persistent HTTP/2 connections
- Automate proto linting, code generation and CI/CD breaking-change checks with Buf CLI
Curriculum
gRPC Architecture, HTTP/2 and Protocol Buffers (proto3)
- How HTTP/2 multiplexing, binary framing and header compression power gRPC
- Proto3 syntax: scalars, enums, oneof, maps, Well-Known Types and packaging
- Field numbers, the reserved keyword and forward/backward schema compatibility
The Four RPC Modes and Code Generation
- Classic request-response services with Unary RPC
- Server, Client and Bidirectional Streaming use cases and backpressure
- Generating client/server stubs across languages with protoc and Buf
Resilience, Error Handling and Interceptors
- Standard gRPC Status codes and the rich error model (google.rpc.Status)
- Setting deadlines, propagating context/cancellation across hops and retry policies
- Client and server interceptors for logging, metrics, tracing and authentication
Production Operations: Load Balancing, Security and Gateways
- HTTP/2 connection pooling and L4 vs L7 (Envoy/Linkerd/YARP) load balancing on Kubernetes
- TLS/mTLS configuration and passing JWT credentials in metadata
- Exposing services externally with gRPC-Web, JSON Transcoding and REST bridges
Schema Governance, Testing and Observability
- Style linting and automated CI breaking-change checks with Buf CLI
- The gRPC Health Checking protocol, Server Reflection and testing with grpcurl/k6
Other Courses in This Category
-
Data Structures and Algorithms for Software Engineers
Big-O time and memory complexity, array/hash table/tree/graph/heap data structures, searching and sorting, dynamic programming and cache-friendly design — for backend engineers processing high-volume data without bottlenecks.
- Live Course
- 5 modules
-
Modern Web and API Development with PHP 8 and Laravel
Modern PHP 8.x type system and OO features, Composer/PSR standards, MVC and REST API development with Laravel (or Symfony), Eloquent ORM, queues, security and Pest/PHPUnit testing — bringing PHP teams up to modern engineering standards.
- Live Course
- 5 modules
-
Java and Spring Boot Backend Development
Build REST APIs with Spring Boot 3, data access with Spring Data JPA, authentication with Spring Security and tests with Testcontainers — a production-ready service skeleton for Java backend developers.
- Live Course
- 6 modules
-
.NET and ASP.NET Core Web API Development
ASP.NET Core Web API and Minimal APIs, Entity Framework Core, dependency injection, middleware and authentication — for teams building maintainable, testable backend services on .NET 8/9.
- Live Course
- 5 modules
-
Node.js and NestJS Backend Development
Modular backends with TypeScript and NestJS: controllers, providers, dependency injection, data access with Prisma/TypeORM, guards and pipes, testing with Jest — a scalable service structure for Node.js teams.
- Live Course
- 5 modules
-
REST API Design Best Practices
Resource modelling, HTTP methods and status codes, versioning, pagination, error format (RFC 9457), idempotency and contract-first design with OpenAPI — for teams publishing consistent, documented APIs.
- Live Course
- 5 modules
Get in touch