A service caller can invoke a remote service provider as if it were a local interface, without caring about the underlying communication details and invocation process.
gRPC is an RPC framework that is based around the idea of defining a service, specifying the methods that can be called remotely with their parameters and return types. Both server-side and client-side can be implemented by different programming languages. More details.