IBM Canada
“DevOps Analytics Frameworks for Continuous
Delivery and Deployment”
K. Kontogiannis (PI)
Dept. of Computer Science
Western University,
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.