1/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
DevOps for Software Engineering
Khondoker Yasin Ahnaf Prio
Division of Science and MathematicsUniversity of Minnesota, Morris
Morris, Minnesota, USA
4/20/2019CSci Senior Seminar
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
2/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
The Big Picture
Practices and methods to ensureefficient delivery andmaintenance of softwareGap between development andoperation teams.DevOps closes this gap DevOps Technologies
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
3/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Outline
1 Background
2 Five Key Aspects of DevOps
3 Filling-The-Gap Tool
4 Results of Using DevOps
5 Conclusion
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
4/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Outline
1 Background
2 Five Key Aspects of DevOps
3 Filling-The-Gap Tool
4 Results of Using DevOps
5 Conclusion
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
5/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Software Design and Development Cycle
Multiple developers write code for different features thattogether make software
Repository is a central location where source code liesBuild process is where source code is converted to objectcode using a set of instructions
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
6/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Working Example
Puber
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
7/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Software Operations and Maintenance
Operations team moderateactivities to make software runsmoothlyTest and verification thatend-users are interacting asexpected is done by monitoringplatforms
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
8/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Outline
1 Background
2 Five Key Aspects of DevOps
3 Filling-The-Gap Tool
4 Results of Using DevOps
5 Conclusion
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
9/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
1. Collaboration
Share knowledgeCross functional teams andfeaturesPromote DevOps Culture
DevOps: Collaboration
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
10/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
2. Automation
Ensure processes are executed same every timeTrigger automatic feedback at critical pointsDecreases chances of human error
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
11/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
3. Continuous Integration
Development practicewhere developers integratecode into a sharedrepository frequentlyDeployment of activelyintegrated repository iscalled ContinuousDeployment DevOps: Continuous Integration
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
12/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
4. Continuous Testing
Test code in development asfeatures are being builtRun tests when build startsTest in continuous integrationpipelines
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
13/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
5. Continuous Monitoring
Reporting of operations to developers and testersResponse time certain callsEnd user peak timingsRequests for specific services
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
14/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Outline
1 Background
2 Five Key Aspects of DevOps
3 Filling-The-Gap Tool
4 Results of Using DevOps
5 Conclusion
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
15/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Objectives
To parametrize softwareperformance by identifyingService-Layer-Objective andmeasuring Quality-Of-ServiceTo provide the developer with areport of application behavior atrun time
FG tool [1]
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
16/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
FG Tool Architecture
FG tool [1]
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
17/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Metrics from Monitoring Platform
Metrics Derived [1]
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
18/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
FG Tool’s QoS model:
ResourceWorkloadEnvironment
QoS Model [1]
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
19/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Outline
1 Background
2 Five Key Aspects of DevOps
3 Filling-The-Gap Tool
4 Results of Using DevOps
5 Conclusion
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
20/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Case Study of companies in Sri Lanka
Research of Perera, et al [1] which evaluated usage ofDevOpsIdentified end goals for success of a software basedcompany
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
21/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Methods used for Study
Listed a set of variables and their respective indicators ofsuccess in software150 organizations were each sent a questionnaire withthose metrics and their usage of DevOpsIdentify relationship between DevOps: (a) Quality, (b)Responsiveness to business needs and (c) Adaptation tonewer technologies
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
22/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Models for Goals [2]
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
23/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
DevOps Correlation
The Pearson correlation coefficient measures strength of thelinear relationship between two variables.
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
24/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Coeffecients in Regression Model
Regression coefficients represent the mean change in theresponse variable for one unit of change in the predictorvariable while holding other predictors in the model constant.
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
25/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Outline
1 Background
2 Five Key Aspects of DevOps
3 Filling-The-Gap Tool
4 Results of Using DevOps
5 Conclusion
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
26/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
DevOps combines Development teams and operationsteam to bridge gap and enhances bothDevOps Key AspectsWe learn how a DevOp tool would workMore research to evalaute DevOps and performancemodeling
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
27/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Acknowledgement
Nic McPhee and Elena MachkasovaFriends and Family
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
28/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Thanks!
Thank you for your time and attention!
Questions?
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering
29/29
Overview Background Five Key Aspects Filling-The-Gap Tool DevOps Results Conclusion
Refereces:
J. F. Perez, W. Wang, and G. Casale.Towards adevops approach for softwarequality engineering. In Proceedings of the2015 Workshop on Challenges in PerformanceMethods for Software Development.
P. Perera, M. Bandara, and I. Perera.Evaluating the impact of devops practice insri lankan software developmentorganizations. In 2016 SixteenthInternational Conference on Advances in ICTfor Emerging Regions
Khondoker Prio U of Minn, Morris
DevOps for Software Engineering