1. A method comprising: utilizing at least one processor to execute computer code configured to perform the steps of: assimilating at least one service request, each service request comprising a plurality of tasks; said assimilating comprising assimilating, for each task, a description and an indication of one or more resources needed to complete the task; determining similarity between different ones of the tasks, via a similarity function based on the descriptions of the tasks and on the indications of one or more resources need to complete the tasks; wherein said determining comprises searching process logs to assist in determining similarity between different ones of the tasks; employing a clustering algorithm to form clusters of tasks based on similarity determined between different ones of the tasks and on compatibility with at least one resource; and routing output service components to resources, each of the output service components comprising at least one formed cluster of tasks.