# cSpell:ignore coreos etcd juniperlogo
- name: Square
  date: 2016-03-24
  link: https://youtu.be/-2sWDr3Z0Wo
  image: square-icon.png
  quote: >
    At Square, we have been collaborating with Google so that we can replace all
    uses of our custom RPC solution to use gRPC. We decided to move to gRPC
    because of its open support for multiple platforms, the demonstrated
    performance of the protocol, and the ability to customize and adapt it to
    our network. Developers at Square are looking forward to being able to take
    advantage of writing streaming APIs and in the future, push gRPC to the
    edges of the network for integration with mobile clients and third party
    APIs.
- name: Netflix
  date: 2016-04-16 # Date when mention of gRPC was added to the ribbon README
  # via https://github.com/Netflix/ribbon/commit/ba0d2a10cb3712a017878a283865bf4e8bee6ea2
  link: https://github.com/Netflix/ribbon
  image: netflix-logo.png
  quote: >
    In our initial use of gRPC we've been able to extend it easily to live
    within our opinionated ecosystem. Further, we've had great success making
    improvements directly to gRPC through pull requests and interactions with
    Google's team that manages the project. We expect to see many improvements
    to developer productivity, and the ability to allow development in non-JVM
    languages as a result of adopting gRPC.
- name: CoreOS
  date: 2015-12-29
  link: https://blog.gopheracademy.com/advent-2015/etcd-distributed-key-value-store-with-grpc-http2
  image: coreos-1.png
  quote: >
    At CoreOS we are excited by the gRPC v1.0 release and the opportunities it
    opens up for people consuming and building what we like to call Google
    Infrastructure for Everyone Else. Today gRPC is in use in a number of our
    critical open source projects such as the etcd consensus database and the
    rkt container engine.
- name: Cockroach Labs
  date: 2016-05-11
  link: https://www.cockroachlabs.com/blog/a-tale-of-two-ports/
  image: cockroach-1.png
  quote: >
    Our switch from a home-grown RPC system to gRPC was seamless. We quickly
    took advantage of the per-stream flow control to provide better scheduling
    of large RPCs over the same connection as small ones.
- name: Cisco
  date: 2016-02-04
  link: https://github.com/CiscoDevNet/grpc-getting-started
  image: cisco.svg
  quote: >
    With support for high performance bi-directional streaming, TLS based
    security, and a wide variety of programming languages, gRPC is an ideal
    unified transport protocol for model driven configuration and telemetry.
- name: Juniper Networks
  date: 2017-11-29
  link: https://forums.juniper.net/t5/Automation/OpenConfig-and-gRPC-Junos-Telemetry-Interface/ta-p/316090
  image: juniperlogo.png
  quote: >
    The fact that gRPC is built on HTTP/2 transport brings us native
    bi-directional streaming capabilities and flexible custom-metadata in
    request headers. The first point is important for large payload-exchange and
    network-telemetry scenarios, while the latter enables us to expand and
    include capabilities including but not limited to various network element
    authentication mechanisms.

    In addition, the wide language binding support that gRPC/proto3 brings,
    enables us to provide a flexible and rapid development environment for both
    internal and external consumers.

    Last but not least, while there are a number of network communication
    protocols for configuration, operational state retrieval and network
    telemetry, gRPC provides us with a unified flexible protocol and transport
    to ease client/server interaction.
