Building Goal-Aware Microservices