Google open sources RPC framework for HTTP/2
Google has released as open source a framework for HTTP/2 called gRPC, which handles remote procedure calls (RPC) between servers and clients, such as browsers or mobile apps. The gRPC framework powers most of Google’s services today.
Good news for all the open source, HTTP/2 loving devs out there: Google have announced the open-source release of gRPC, a language and platform neutral RPC system for cloud computing services. According to Google, it offers a bandwidth and CPU-friendly way to implement massively distributed systems, whilst also being suitable for mobile applications, real-time communication, IoT devices and APIs.
Microservices and back-end cloud services
The service is primarily aimed at microservices, and with the help of compilers can be used for the creation of client and server stubs in a grand total of ten languages: C, C ++, C #, Go, Java, Node.js, Objective-C, PHP, Python and Ruby.
However, only the Java implementation is mature as yet; all other language implementations are still in the alpha and pre-alpha stages. An implementation for browsers is not yet available, but Google promises to explore this option in the future.
Since gRPC is running on HTTP/2 and supports the creation of client libraries for iOS and Android, Google hopes that the development of back-end cloud services for mobile applications will see greater adoption and use.
With bidirectional streaming, data flow control, header compression and the simultaneous transmission of multiple requests over a single TCP connection, battery life is extended on mobile devices, on top of an acceleration of cloud services. Based on Google’s own SPDY protocol, HTTP/2 could speed web traffic as well as significantly reduce power consumption on battery-reliant mobile devices.
HTTP/2 support is slowly and surely being adopted, with Mozilla Firefox’s latest update, version 36.0, offering support for the full HTTP/2 protocol. However, not everyone is happy with the new covenant, with FreeBSD operating system developer Poul-Henning Kamp labelling it underwhelming and “not a technical masterpiece”:
I would flunk students in my (hypothetical) protocol design class if they submitted it.