gRPC
gRPC (gRPC Remote Procedure Calls[1]) is an open source remote procedure call (RPC) system initially developed at Google. It uses HTTP/2 for transport, Protocol Buffers as the interface description language, and provides features such as authentication, bidirectional streaming and flow control, blocking or nonblocking bindings, and cancellation and timeouts. It generates cross-platform client and server bindings for many languages.
Source: https://en.wikipedia.org/wiki/GRPC
Position on the Adoption Curve
Presentations about gRPC
Forced Evolution: Shopify's Journey to Kubernetes
Building and Deploying Cloud Native Applications with gRPC & Kubernetes
Building and Deploying Cloud Native Applications with gRPC & Kubernetes
Interviews
Forced Evolution: Shopify's Journey to Kubernetes
What’s the focus of your work today?
I'm on the cloud platform team. Mostly I'm working with Kubernetes. The main goal is to make sure our platform for developers is working. That may mean that I'm debugging some issues with Docker or Kubernetes, or I’m writing Golang to automate the platform. Today, I'm actually working on improving our cluster life cycle, we are trying to make it more dynamic. We are building new tooling to speed up new clusters and build up some sort of cluster registries and deletion workflow.
Your background is in Java, but you write a lot of Golang these days. What are your thoughts on Golang?
I got started in the software industry with Java Development. I was always interested in the domain of system engineering and my responsibilities back then were mostly about the infrastructure concerns. Things like how we can build deployment pipelines and other things like that. I wrote C++ in university, and I always felt like I wanted something in between C++ and Java. It’s hard to do simple customized tasks in Java, and C++ takes a lot of effort for a simple task.