The leader in customer relationship management software, Salesforce supports more than 150,000 organizations with its customer success platform and other products.
On the technology side, “the big thing we’re trying to establish is a unified interoperability strategy across the company,” says Ryan Michela, Principal Engineer, Service Mesh Team. “One of the pain points we’ve had with JSON-based integrations in the past is it that they require a lot of negotiation on each side and can be brittle to backwards-incompatible changes.”
The company found the solution with gRPC, which it has been using with service mesh for the past two and a half years. “It has been fantastic for distributing service contracts so that teams can have a very well-understood, well-defined interface between each other over the network,” says Michela. Plus, as a binary protocol over HTTP2, gRPC “has given us more flexibility in designing streaming services and push notification-type services where we wouldn’t be able to do that as easily with HTTP1.”
Though the impact is hard to quantify, Michela believes that developer velocity has been improved as teams have evolved their services with maintaining backwards compatibility. “In a sense, gRPC just works,” he says. “It solves a very specific problem, it solves it well, and it solves it without fuss. We knew we made the right choice because we didn’t have to fight with it.”
Read more about Salesforce’s use of gRPC in the full case study.