13:40 - 14:40
Talk (60 min)
Scalable Microservices with gRPC & Kubernetes
While migrating to a microservices based architecture provides many benefits, it also brings up a lot of challenges. Unlike monolithic architectures, microservice architectures have to deal with coordinating, organizing, and managing a collection of different services with different scaling needs. Often overlooked from a developer’s perspective, HTTP client libraries are clunky and require code that defines paths, handles parameters, and deals with responses in bytes. gRPC abstracts all of this away and makes network calls feel like any other function calls defined for a struct.
This talk will show how Kubernetes and gRPC, two popular open source projects based on experience Google has gained running microservices at scale
gRPC is a platform-neutral RPC framework, based on HTTP/2 and Protobuf, used to build highly performant and scalable APIs. gRPC benefits from new features introduced in HTTP/2 like framing, bidirectional streaming, header compression, multiplexing, and flow control. gRPC is not just a blueprint for high performance RPC, but also provides a methodology to generate services and clients in multiple languages. This talk is based on our experience by contributing to the network intelligence center’s Simulator, which itself used gRPC for all intra-server communication.
This talk will demonstrate the core concepts of gRPC and Kubernetes, and show you how to combine these two technologies to create scalable and performant microservices rooted in lessons learned from Google’s experience.
If you're interested in a dead simple way to add gRPC load balancing to your Kubernetes services, regardless of what language it's written in, this talk is surely going to be beneficial.
gRPC is relatively new, but its fast-growing ecosystem and community will definitely make an impact in microservice development. Since gRPC is an open standard, all mainstream programming languages support it, it will help viewers to understand how ideal it is for working in a microservice environment.