Implementing a microservice-based architecture