An enterprise (or other user) may rely on multiple processes for carrying out various operations using one or more computer systems. Accordingly, in certain embodiments, constructor 112 can construct a representation of a network of microservices, the network comprising the microservices that are the modular components of each of the different processes used. In some embodiments, the representation constructed by constructor 112 is a matrix. A data structure corresponding to a process path can be represented by an n-by-n (n×n) matrix, wherein a one is added to each matrix cell in a row that corresponds to a microservice that invokes or calls a microservice and a column that corresponds to the microservice that is called or invoked. All elements of the matrix are initially zero.
In one embodiment, constructor 112 can construct an (M+P)×(M+P) matrix, where M represents the number of microservices in the network of microservices, and P represents the number of processes. (Note that not every process necessarily uses every microservice included in the network of microservices; a microservice is included in the network of microservices if the microservice is used invoked by at least one of the processes.) In various embodiments, constructor 112 can generate a similar matrix representation of containers that deliver microservices to data processing systems over a data communications network. In a matrix representation similar to that described above, each container-to-container invocation adds one to a matrix cell whose row corresponds to the invoking container and whose column corresponds to the container invoked. Each container, however, contains one or more microservices. Thus, each container in certain embodiments can be represented by vector whose elements correspond to microservices that are contained by the container.