1. An apparatus comprising a processor and computer-readable program code stored on a memory, to, when executed by the processor: identify a plurality of vertices in a directed graph within a topology object that depend upon each other in a cyclic manner, the topology object defining an order for scheduling tasks in an IT system, the identifying comprising: recurrently removing all outgoing edges from each vertex in the directed graph having no incoming edges until a determination is made that each remaining vertex has an incoming edge; and identifying said each remaining vertex and any vertex which depends upon said each remaining vertex as being the plurality of vertices that depend upon each other in a cyclic manner, wherein each vertex in the directed graph corresponds to a particular task in the IT system; remove the plurality of vertices from the topology object to exclude each corresponding task from being scheduled, the topology object being configured to be sorted based on dependencies between different vertices; and schedule tasks corresponding to said each remaining vertex in the topology object for execution on the IT system.