Bringing Observability into Microservices Architecture