Today, the gRPC project has reached a significant milestone with its
Languages moving to 1.0 include C++, Java, Go, Node, Ruby, Python and C# across Linux, Windows, and Mac. Objective-C and Android Java support on iOS and Android is also moving to 1.0. The 1.0 release means that the core protocol and API surface are now stable with measured performance, stress tested and developers can rely on these APIs and deploy in production, they will follow semantic versioning from here.
We are very excited about the progress we have made so far and would like to thank all our users and contributors. First announced in March 2015 with
Square, gRPC is already being used in many open source projects like
etcd from CoreOS,
containerd from Docker,
cockroachdb from Cockroach Labs, and by many other companies like
Carbon 3d. Outside of microservices, telecom giants like
Arista, and Ciena, are building support for streaming telemetry and network configuration from their network devices using gRPC, as part of
From the beta release, we have made significant strides in the areas of usability, interoperability, and performance measurement on the
road to 1.0. In most of the languages, the
installation of the gRPC runtime as well as setup of a development environment is a single command. Beyond installation, we have set up automated tests for gRPC across languages and RPC types in order to stress test our APIs and ensure interoperability. There is now a
performance dashboard available in the open to see latency and throughput for unary and streaming ping pong for various languages. Other measurements have shown significant gains from using gRPC/Protobuf instead of HTTP/JSON such as in
CoreOS blogpost and in
Google Cloud PubSub testing. In the coming months, we will invest a lot more in performance tuning.
Even within Google, we have seen Google cloud APIs like
Speech, launch of a gRPC-based API surface leading to ease of use and performance benefits. Products like
Tensorflow have effectively used gRPC for inter-process communication as well.
Beyond usage, we are keen to see the contributor community grow with gRPC. We are already starting to see contributions around gRPC in meaningful ways in the
grpc-ecosystem organization. We are very happy to see projects like
grpc-gateway to enable users to serve REST clients with gRPC based services,
Polyglot to have a CLI for gRPC,
Prometheus monitoring of gRPC Services and work with
OpenTracing. You can suggest and contribute projects to this organization
here. We look forward to working with the community to take the gRPC project to new heights.