Connect RPC joins CNCF: gRPC you can bet your business on

Jun 4, 2024/4 min read

Authored by Derek Perez

Connect RPC, Buf’s family of fully protocol-conformant and battle-tested alternatives to Google’s gRPC project, has joined the Cloud Native Computing Foundation. We joined the CNCF to demonstrate our deep commitment to sustainably and responsibly growing Connect as a well-governed and community-led open source project. Today, Connect integrates seamlessly with gRPC systems in production at companies of all sizes, such as CrowdStrike, PlanetScale, RedPanda, Chick-fil-ABluesky, and Dropbox.

Key takeaways

  • Connect RPC offers organizations a well-governed and truly open source gRPC-compatible project. We believe the community needs a stable, reliable, and independent RPC platform they can trust for their businesses. Our integration with the CNCF is a significant step towards realizing this vision.

  • Connect RPC libraries are committed to being 100% spec conformant with gRPC and gRPC-web protocols, and we’ve built the infrastructure to keep ourselves honest. All 1.0 implementations of Connect RPC are guaranteed to reach and maintain 100% conformance compliance with the gRPC ecosystem. We have developed a comprehensive suite of tests and tooling to validate all our projects.

  • Connect seeks collaborators to support more languages and ecosystems. We’ve published our 2024 roadmap for Connect and are looking for collaborators interested in contributing to Rust, Python, Ruby, and Java.

What is Connect RPC?

Connect is a set of libraries designed to help you build browser and gRPC-compatible HTTP APIs. You only need to write a brief Protocol Buffer schema and implement your application server logic in your programming language of choice. Connect automatically generates code for marshaling, routing, compression, and content-type negotiation. Additionally, it will create an idiomatic, type-safe client in any supported programming language.

Why did Buf invest in Connect RPC?

We’ve been listening to many of our customers express their frustration with the growing complexity and instability they’ve endured with Google’s gRPC projects. Organizations that depend heavily on gRPC haven’t felt they’ve had a voice in where the project is headed and often find themselves blindsided by breaking changes. Prominent gRPC users (like etcd) often cannot update for months. We felt compelled to provide an alternative offering the community deserves.

Read our announcement blog post for more background on why we built Connect.

Expanding broader HTTP support for the “REST” of us

Although Connect provides fully conformant gRPC protocol support using HTTP/2, it also exposes a simpler protocol that any HTTP/1.1, HTTP/2, or HTTP/3 clients can utilize. This means the Connect protocol and your application are supported everywhere the web is, including browsers, without additional overhead or intermediate latency-introducing proxy or transforms.

Connect RPC vs Google gRPC: Conformance deep dive

The Connect RPC project features a fully automated conformance suite that validates an implementation’s correctness against the Connect RPC and gRPC protocol specifications. We recently wrote an article that dives deep into how that suite works and provides a detailed overview of the conformance issues we’ve identified in Google gRPC and Connect RPC. Our tests identified at least 22 conformance issues across Google’s generally available/v1.0 gRPC implementations, and a handful of issues (mostly related to specification ambiguity) in Connect RPC we’ve already fixed.

Why join the CNCF?

We’re developing Connect RPC in the open with the community. Given its rapid uptick in popularity and production adoption, we want to guarantee that the open source community can build on a solid, well-trusted foundation committed to stability and open governance. The Connect project and all its associated repositories will adhere to an RFC-based evolution, voted on by its maintainers, who will have direct decision-making power over the project's direction.

What’s next?

You tell us! Several of Connect's most enthusiastic contributors are now maintainers, with voices (and votes!) equal to those of Buf-employed maintainers. We’re excited to collaborate with the community to develop broad support for Connect RPC. Several active polls and discussions are happening on GitHub, and we’re looking for serious maintainers who want to play an active role in developing new implementations. The community has expressed interest in seeing the development of Dart, Ruby, Java, and Rust, just to name a few.

The maintainers are very active in our community Slack. Everyone is welcome to join us and help shape the future of Connect!

Get started for free with the Buf Schema Registry