Observing a gRPC-based Kubernetes application using Jaeger, Zipkin, Prometheus, Grafana, and Kiali on Amazon EKS running Istio service mesh. By Gary A. Stafford.
According to the gRPC project, gRPC is a modern open source high-performance Remote Procedure Call (RPC) framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking, and authentication. gRPC is also applicable in the last mile of distributed computing to connect devices, mobile applications, and browsers to backend services.
In this post, we will examine those same observability tools to monitor an alternate set of Go-based microservices that use Protocol Buffers (aka Protobuf) over gRPC (gRPC Remote Procedure Calls) and HTTP/2 for client-server communications as opposed to the more common RESTful JSON over HTTP. We will learn how Kubernetes, Istio, and the observability tools work seamlessly with gRPC, just as they do with JSON over HTTP on Amazon EKS.
Also in the article:
- Protocol buffers
- Reference application platform
- Converting to gRPC and protocol buffers
- gRPC Gateway
- Alternatives to gRPC Gateway
- Istio VirtualService and CORS
- Pillar 1: Logs
- Pillar 2: Metrics
- Pillar 3: Traces
- Kiali: Microservice observability
- Zipkin
… and more. You will find plenty of code examples and screen grabs explaining the concepts in the article. This is a treasure chest full of links to other of resources to enhance your devops and site reliability engineering. Excellent!
[Read More]