Modeling and Analysis of Dependencies between Microservices in DevSecOps
Jason McZara, Subash Kafle, Daniel Shin · 2020
Complex microservices-based applications relying on multiple microservices are increasingly commonplace in DevSecOps. These applications are made of microservices that retain their independent ownership, objectives, development, and sustainment approaches. The constituent microservices can have recognized objectives, a designated manager, and resources to provide a desired capability. An outage of a microservices-based application can affect one or more microservices. Although these can be restored or replaced, the ability to cope with this sudden change creates an additional dimension of unpredictability to the overall application. Therefore, rapid and cost-effective recovery of critical applications depends on the ability to identify and focus attention on the most crucial microservices dependencies and interdependencies. The technique used in this research to mathematically model and analyze critical links between microservices relies on an existent effective dependency analysis method called the design structure matrix DSM. DevSecOps requires quick, repeatable, and efficient identification of critical links between microservices in a microservices-based application. Therefore, the methodology and techniques used in DSM can be leveraged to address the key technical considerations of microservices-based applications in DevSecOps. In this research an outage-impacted microservices-based application is modeled using the proposed methodology and the results are analyzed. Mapping and subsequently prioritizing microservices dependencies and interdependencies directly support the resilience of microservices-based applications.