gRPC: Up and Running. Building Cloud-Native Applications with Go and gRPC
265 pages
English
PDF
4.5

gRPC: Up and Running. Building Cloud-Native Applications with Go and gRPC

gRPC: Up and Running. Building Cloud-Native Applications with Go and gRPC

Author:

Year:

Summary:

Introduction

The book "gRPC: Up and Running" (authors Kasun Indrasiri and Danesh Kuruppu, 2020, 265 pages) is a practical guide to building modern cloud-native applications using the gRPC framework in the Go language (Golang). Despite the fact that PythonLib is dedicated to Python, this book deserves the attention of any developer interested in microservice architecture and high-performance communication protocols. gRPC is a technology actively used in the Python ecosystem (for example, through the grpcio libraries), and understanding its fundamentals through Go examples provides a deep understanding of principles that can be easily transferred to Python.

What the book is about

The book systematically introduces the reader to gRPC: from installation and setup to deployment in production. The authors start with the basics — what gRPC is, how it differs from REST, how HTTP/2 and Protocol Buffers work. They then move on to creating servers and clients in Go, working with streaming, error handling, authentication, load balancing, and monitoring. Separate chapters are dedicated to integration with Kubernetes and gRPC-web.

Who this book is for

The book is aimed at developers already familiar with Go (though the basic examples are understandable for beginners as well). It will be useful for:

  • Go developers wanting to master gRPC for microservices;
  • Python developers who want to understand gRPC from the inside (many concepts are identical);
  • Architects designing high-performance systems;
  • Anyone transitioning from REST to gRPC.

What the reader will learn

After reading, you will be able to:

  • Understand the principles of gRPC and its differences from REST;
  • Create efficient .proto files and generate code;
  • Implement unary and streaming RPCs (server-streaming, client-streaming, bidirectional);
  • Configure authentication (SSL/TLS, tokens);
  • Integrate gRPC with Kubernetes and Envoy;
  • Debug and profile gRPC services.

Strengths

The main advantage of the book is its practical focus. Each chapter contains ready-to-run code examples in Go. The authors pay attention not only to theory but also to real-world problems: timeouts, retries, load balancing. The book is written in a lively style, with complex concepts explained through analogies. The chapter on gRPC-web deserves special mention — it is rare for literature from 2020.

Who it is recommended for

I recommend this book to everyone working with microservices, regardless of their primary language. For Python developers, it will be an excellent supplement to the official grpcio documentation, as it provides an "outside perspective" — in Go, but with the same principles. If you want to deeply understand gRPC and start using it in your projects — this is the best starting point.

Recommendations