the benefit is that unlike in a big combined program, each task is isolated, so it is easy to manage and troubleshoot the program after completion. if there is a problem, a developer can check each service component systematically until the problem is detected. after it is detected, only that small service would need to be fixed as opposed to a much larger section of a combined application