byteSizeGo / Building Production-Ready services with gRPC and Go

$99

Building Production-Ready Services with gRPC and Go

56 Lessons

gRPC is the modern, high performance way to communicate across services.

It is 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.

  • 👨🏻‍💻 No filler content. Concise lessons with practical advice.
  • 👩🏻‍💻 No experience with gRPC necessary. We start from the basics and finish with advanced topics.
  • 🧑🏽‍💻 Guided exercises along the way.
  • 💂🏻 Purchase once, access forever.
  • 🚀 Always up to date.
  • 📜 Receive a certificate for completing the course!
Buy now to get access to over 11 hours of video, exercises and code.

Wondering what's in the course?

Module 1: Welcome!

Lesson 1: Welcome!
1:12

Module 2: Introduction to Protobuf, gRPC & Protoc

Lesson 1: What are Protocol Buffers and What are the Benefits?
2:33
Lesson 2: What is gRPC?
3:24
Lesson 3: Types of gRPC APIs
4:01
Lesson 4: Protoc Tool & Generating Code
5:18

Module 3: Building a Simple gRPC Service

Lesson 1: Defining a gRPC Service Contract
2:45
Lesson 2: Implementing a Server
4:10
Lesson 3: Implementing a Client
3:50
Lesson 4: Error Handling
5:21
Lesson 5: Exercise - Building a TODO application
4:49
Lesson 6: Exercise Solution
6:14
Lesson 7: Running a Server Correctly
3:55

Module 4: gRPC Streaming

Lesson 1: Implementing Server Streaming
3:12
Lesson 2: Implementing Client Streaming
4:20
Lesson 3: Implementing Bi-Directional Streaming
5:50
Lesson 4: Exercise - Building a File Upload Application
5:03
Lesson 5: Exercise Solution
2:57

Module 5: Authentication, SSL/TLS

Lesson 1: What is SSL/TLS?
2:28
Lesson 2: Implementing Server-side TLS in gRPC
3:33
Lesson 3: Implementing mTLS in gRPC
4:59
Lesson 4: Exercise: Add mTLS to Your File Upload Application
3:16
Lesson 5: Exercise Solution
2:45

Module 6: Interceptors, Metadata & Authorization

Lesson 1: Interceptors - Introduction, Client Interceptors, Server Interceptors
5:55
Lesson 2: Setting Deadlines/Timeouts
3:29
Lesson 3: CallOptions & Metadata
2:58
Lesson 4: API key Authorization via Interceptors
4:09
Lesson 5: Auth via CallCredentials
4:45
Lesson 6: Exercise: Add Interceptor to Parse JWT Information
2:39
Lesson 7: Exercise Solution
3:11

Module 7: Client Service Config & Load Balancing

Lesson 1: Client Service Config & Timeouts
4:01
Lesson 2: Automatic Client Retries
5:32
Lesson 3: Introduction to Client-Side Load Balancing
3:45
Lesson 4: Round Robin Load Balancing
4:10
Lesson 5: Creating a Custom Load Balancing Policy
6:05

Module 8: Testing gRPC Services

Lesson 1: Making gRPC Requests via Postman
3:17
Lesson 2: Making gRPC Requests via gRPCurl
4:48
Lesson 3: Creating Unit Tests for RPCs - Part 1 (Unary)
5:10
Lesson 4: Creating Unit Tests for RPCs - Part 2 (Streaming)
2:54
Lesson 5: Creating Integration/End-to-End Tests (Unary)
6:29
Lesson 6: Creating Integration/End-to-End Tests (Streaming)
4:56
Lesson 7: Exercise - Adding Unit Tests to our TODO Application
3:37
Lesson 8: Exercise Solution
5:05

Module 9: Containerising & Deploying to Kubernetes

Lesson 1: What is Docker & Containerising Go Services
3:21
Lesson 2: What is Kubernetes & What do I Need to do to Deploy There?
4:14
Lesson 3: TLS & Automatic Certificate Renewal Using LetsEncrypt
5:22
Lesson 4: Exposing a gRPC Service Part 1 - via LoadBalancer Service
4:50
Lesson 5: Exposing a gRPC Service Part 2 - via Ingress
6:33
Lesson 6: Exposing a gRPC Service Part 3 - via Cloudflare Tunnel
7:12

Module 10: Using Buf to Manage Protobuf

Lesson 1: Challenges with Maintaining Protobuf at Scale & What is Buf?
4:23
Lesson 2: Example Protobuf Registry Walkthrough
3:49
Lesson 3: ConnectRPC - Server & Client implementation in Go
5:02
Lesson 4: ConnectRPC - Client implementation for Web
3:11
Lesson 5: Buf Schema Registry, Dependencies & Protovalidate
6:07
Lesson 6: Exercise - Updating our TODO Application to use ConnectRPC
2:54
Lesson 7: Exercise Solution
4:36

Module 11: Wrap Up

Lesson 1: Thanks for Watching!
1:20

Frequently Asked Questions

Did we not answer your question? Contact us: [email protected]

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 contents 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 [email protected] 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 [email protected] 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 [email protected] 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.

About the Course Author

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.

Author's Photo