Chapter 7. Running gRPC in Production
In previous chapters, we focused on various aspects of designing and developing gRPC-based applications. Now, it’s time to dive into the details of running gRPC applications in production. In this chapter, we’ll discuss how you can develop unit testing or integration testing for your gRPC services and client as well as how you can integrate them with continuous integration tools. Then we’ll move into the continuous deployment of a gRPC application where we explore some deployment patterns on virtual machines (VMs), Docker, and Kubernetes. Finally, to operate your gRPC applications in production environments, you need to have a solid observability platform. This is where we will discuss different observability tools for gRPC applications and explore troubleshooting and debugging techniques for gRPC applications. Let’s begin our discussion with testing these applications.
Testing gRPC Applications
Any software application that you develop (including gRPC applications) needs to have associated unit testing along with the application. As gRPC applications always interact with the network, the testing should also cover the network RPC aspect of both the server and client gRPC applications. We’ll start by testing the gRPC server.
Testing a gRPC Server
gRPC service testing is often done using a gRPC client application as part of the test cases. The server-side testing consists of starting a gRPC server with the required gRPC service and then connecting ...