While the task-based API assumes that the developer starts with a problem that requires splitting into fragments in order to parallelize the execution using multiple providers, the services API assumes the user would like to treat provider nodes as something like service-hosting platforms, where each activity corresponds to a single instance of some service.