In a previous post, I shared a correction for an early chapter of gRPC: Up and Running. It helped others who were struggling with the initial gRPC server and client setup.

Now that I’ve finished reading it, here’s a quick review of “gRPC Up and Running” (2020) by Kasun Indrasiri and Danesh Kuruppu.

TL;DR: It does what it says it does on the tin. Would use to learn gRPC again.

Book Summary

This book provides an introduction to gRPC, covering the underlying technologies and offering a broad overview of the surrounding ecosystem. Once the basics of gRPC are established, the authors delve into the protocol’s inner workings, its features, and important considerations for implementation.

What did I enjoy?

I particularly appreciated the in-depth, visual examples that explained how gRPC functions over the network. The challenges of network communication – such as avoiding packet fragmentation and ensuring speedy, ordered delivery – are complex, and the authors’ visual approach made these concepts much easier to grasp.

I also appreciated the inclusion of health check instructions. While common practice for REST services, health checks are often the first concern when deploying a new service, and it’s great to see them addressed in this context.

he final chapter effectively extended the discussion beyond the core technology, exploring how gRPC is used and extended in real-world deployments.

The book’s structure and pacing were excellent. It introduces the technology clearly, allows you to experiment with a simple example early on, and then progressively deepens the discussion, anticipating the questions you’ll likely have during implementation. To the authors: Great work! There are many technical books that suffer on this front.

What could have been better?

An updated edition would be valuable. There have been many large scale changes with Protobufs and gRPC since the book was written. Granted, this book was written in 2020, so the state of the book is completely understandable.

A more balanced perspective would have included a discussion of gRPC’s drawbacks and potential pain points. While a detailed resolution isn’t necessary, pointing readers towards relevant discussions on these topics would be helpful.

It would have been interesting to see a discussion of experiences converting existing REST/SOAP services to gRPC, and the resulting benefits or challenges.

Given the differences between gRPC and common RESTful APIs, a section on best practices for gRPC API design would have been beneficial.

It would be helpful to understand any language-specific limitations or weaknesses in gRPC implementations. Even though the content is older, this would give context to the history and language affinity for this language. I think the first thought a person may have with this book is: Will a Go based gRPC server integrate against an Elixir based client.

Some of the code examples, while functional, felt a bit lengthy and could have benefited from more contextual explanation to better illustrate their purpose.

Would recommend this book:

Yes.

If you’re looking to learn gRPC, I recommend this book. As the title suggests, it will help you get up and running quickly. For those working through Chapter 2, you might find my previous post helpful for addressing a specific issue.

Resources