devops for software engineering · devops combines development teams and operations team to bridge...

29
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 Mathematics University of Minnesota, Morris Morris, Minnesota, USA 4/20/2019 CSci Senior Seminar Khondoker Prio U of Minn, Morris DevOps for Software Engineering

Upload: others

Post on 24-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 2: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 3: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 4: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 5: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 6: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 7: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 8: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 9: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 10: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 11: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 12: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 13: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 14: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 15: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 16: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 17: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 18: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 19: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 20: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 21: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 22: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 23: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 24: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 25: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 26: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 27: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 28: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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

Page 29: DevOps for Software Engineering · DevOps combines Development teams and operations team to bridge gap and enhances both DevOps Key Aspects We learn how a DevOp tool would work More

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