Building Production-Ready Services with gRPC and Go
The Go gRPC course

Production-Ready Services with gRPC and Go

gRPC is the modern, high performance way to communicate across services — used by huge companies such as Google, Cloudflare and Netflix, and, after this course, maybe by your company too. Go is the perfect tool for gRPC, and by the end of this extensive course, you will see why.

View the curriculum →

11 modules · 56 lessons · 11+ hours · Purchase once, access forever

Building Production-Ready Services with gRPC and Go course cover

See what's inside the course

Curriculum

From the basics to advanced topics.

No filler content — concise lessons with practical advice, and guided exercises along the way. No experience with gRPC necessary: we start from the basics and finish with advanced topics. Click a module to see its lessons.

Get the course — $99 →
01

Welcome!

A quick welcome and what to expect from the course.

1
  • Welcome!
02

Introduction to Protobuf, gRPC & Protoc

What Protocol Buffers and gRPC are, the types of gRPC APIs, and generating code with the protoc tool.

4
  • What are Protocol Buffers and What are the Benefits?
  • What is gRPC?
  • Types of gRPC APIs
  • Protoc Tool & Generating Code
03

Building a Simple gRPC Service

Define a service contract, implement a server and client, handle errors, and build a TODO application as an exercise.

7
  • Defining a gRPC Service Contract
  • Implementing a Server
  • Implementing a Client
  • Error Handling
  • Exercise - Building a TODO application
  • Exercise Solution
  • Running a Server Correctly
04

gRPC Streaming

Server, client, and bi-directional streaming — then put it into practice by building a file upload application.

5
  • Implementing Server Streaming
  • Implementing Client Streaming
  • Implementing Bi-Directional Streaming
  • Exercise - Building a File Upload Application
  • Exercise Solution
05

Authentication, SSL/TLS

What SSL/TLS is and how to implement server-side TLS and mTLS in your gRPC services.

5
  • What is SSL/TLS?
  • Implementing Server-side TLS in gRPC
  • Implementing mTLS in gRPC
  • Exercise: Add mTLS to Your File Upload Application
  • Exercise Solution
06

Interceptors, Metadata & Authorization

Client and server interceptors, deadlines and timeouts, metadata, and authorization via API keys and CallCredentials.

7
  • Interceptors - Introduction, Client Interceptors, Server Interceptors
  • Setting Deadlines/Timeouts
  • CallOptions & Metadata
  • API key Authorization via Interceptors
  • Auth via CallCredentials
  • Exercise: Add Interceptor to Parse JWT Information
  • Exercise Solution
07

Client Service Config & Load Balancing

Service config, automatic retries, and client-side load balancing — including writing a custom load balancing policy.

5
  • Client Service Config & Timeouts
  • Automatic Client Retries
  • Introduction to Client-Side Load Balancing
  • Round Robin Load Balancing
  • Creating a Custom Load Balancing Policy
08

Testing gRPC Services

Manual testing with Postman and gRPCurl, plus unit tests and integration/end-to-end tests for unary and streaming RPCs.

8
  • Making gRPC Requests via Postman
  • Making gRPC Requests via gRPCurl
  • Creating Unit Tests for RPCs - Part 1 (Unary)
  • Creating Unit Tests for RPCs - Part 2 (Streaming)
  • Creating Integration/End-to-End Tests (Unary)
  • Creating Integration/End-to-End Tests (Streaming)
  • Exercise - Adding Unit Tests to our TODO Application
  • Exercise Solution
09

Containerising & Deploying to Kubernetes

Containerise your Go services and deploy to Kubernetes — TLS with LetsEncrypt, and three ways to expose a gRPC service.

6
  • What is Docker & Containerising Go Services
  • What is Kubernetes & What do I Need to do to Deploy There?
  • TLS & Automatic Certificate Renewal Using LetsEncrypt
  • Exposing a gRPC Service Part 1 - via LoadBalancer Service
  • Exposing a gRPC Service Part 2 - via Ingress
  • Exposing a gRPC Service Part 3 - via Cloudflare Tunnel
10

Using Buf to Manage Protobuf

Maintaining Protobuf at scale with Buf — ConnectRPC servers and clients, the Buf Schema Registry, and Protovalidate.

7
  • Challenges with Maintaining Protobuf at Scale & What is Buf?
  • Example Protobuf Registry Walkthrough
  • ConnectRPC - Server & Client implementation in Go
  • ConnectRPC - Client implementation for Web
  • Buf Schema Registry, Dependencies & Protovalidate
  • Exercise - Updating our TODO Application to use ConnectRPC
  • Exercise Solution
11

Wrap Up

A thank you, and where to go next.

1
  • Thanks for Watching!

lessons per module

Guided exercises

You'll build real services — with solutions to check your work.

E1

A TODO application

Build a gRPC TODO service from scratch, then extend it with unit tests and migrate it to ConnectRPC as the course progresses.

E2

A file upload application

Put gRPC streaming into practice with a file upload service — then secure it with mTLS.

E3

JWT auth via interceptors

Add an interceptor to parse JWT information, applying metadata and authorization patterns to your own service.

E4

Deploy to Kubernetes

Containerise your service and expose it three different ways — LoadBalancer, Ingress, and Cloudflare Tunnel.

14-day money-back guarantee.

If you didn't finish the course and feel it is not up to scratch, email hello@bytesizego.com and we'll issue you a refund within 14 days.

Go certification

Earn a certificate in Go & gRPC

There is no official Go certification — but you can still prove your skills. Complete this course and you'll receive a certificate of completion for Building Production-Ready Services with gRPC and Go, backed by 56 lessons of real, production-grade work you can talk through in any interview.

Share it on LinkedIn, and point to the services you built along the way — a TODO gRPC service with tests, a streaming file-upload app secured with mTLS, and a deployment to Kubernetes.

Why this course

Over 11 hours of video, exercises and code — in byteSize chunks.

No filler content: concise lessons with practical advice, and guided exercises along the way so you learn by building. No experience with gRPC is necessary — we start from the basics and finish with advanced topics.

Purchase once, access forever. The course is always kept up to date, and you'll receive a certificate for completing it.

Your instructor Chris Shepherd - gRPC Course Author

Chris Shepherd

Chris Shepherd is a Senior SRE at Google, building large scale and robust distributed systems.

He has worked within software engineering for more than eight years, the majority of which have been dedicated to writing Go.

He has worked for both big-name companies, such as IBM and Cloudflare, and fast-paced, hyper-growth startups, spanning across many different industries, including finance, cybersecurity, and the public sector.

Frequently Asked Questions

How long is the course?

There is around 11 hours of video content, split into byteSize chunks, as well as exercises and solutions.

Can I see a sample before purchasing?

I have made a couple of the videos available to view in the curriculum section, feel free to give them a watch!

I don't like the course, can I have my money back?

If you didn't finish the course and feel it is not up to scratch, drop me an e-mail on hello@bytesizego.com and I'll issue you a refund within 14 days.

How much Go experience do I need?

I won't be teaching Go on this course, so it is assumed you at least know how to write a basic program. If you have written even a single Go program, this course is for you.

Do you offer bulk discounts?

Yes! email me on hello@bytesizego.com and we'll work something out.

Can I use my training budget at work to pay for this course?

Most companies simply require a receipt. If you need anything more, email me at hello@bytesizego.com with what you need.

How long will I have access to the course?

Access does not expire.

Is the course IDE specific?

I recorded most of the course using Goland, but the only IDE-specific section is the debugger section. I added sections on how to get setup with VSCode, and if you use any other IDE and struggle, let me know and I'll record a video for that one!

Do you have subtitles for languages other than English?

Yep! We have subtitles for English, Arabic, Spanish, French, German, Portuguese, Russian, Bengali, Chinese, Hindi & Urdu.

Ready to master gRPC with Go?

56 lessons, over 11 hours of video, exercises and code. Purchase once, access forever.

The Ultimate Guide to Debugging With Go course cover
If you enjoyed this, you'll also enjoy

The Ultimate Guide to Debugging With Go

Being able to debug locally and in production is a critical skill for any Go engineer, but it is rarely taught explicitly. It's taken me many years of working with Go in production to get comfortable debugging, so I want to accelerate your learning.

Get the course — $99 →