“DevOps Analytics Frameworks for Continuous Delivery and Deployment”
K. Kontogiannis (PI)
Dept. of Computer Science
Over the past decade we have witnessed an ever growing proliferation of systems which encompass highly interdependent components from diverse providers, involve complex control coordination logic, and exhibit a context and time-sensitive spectrum of behaviors. Examples of such systems are dynamically provisioned enterprise cloud-deployed systems, micro service-architecture based systems, and software components embedded in highly internetworked devices. In this context, a key issue that emerges is how to provide efficient DevOps processes and toolchains that minimize deployment risks while at the same time not only maximize the developers’ productivity but also streamline the delivery of new product features on a continual basis without sacrificing quality. An approach that is attracting the attention of the software engineering community is “release small – release often”, as a way to contain the risk of failures which may occur after adapting or deploying a new component or feature in large, highly granular, and massively interconnected componentized systems.
In this project, we investigate the design and implementation of frameworks to support DevOps practices applied to such complex systems and which are considered within a “Measure-Analyze-Assess-Act” loop. Such frameworks utilize software analytics, process analytics, the quantification of technical debt as a failure risk predictor, and the system’s run-time behavior as an aid to decision making processes to dynamically assess deploy/no-deploy choices.