Is it best practice to provide a client library for Microservices?